我生活在一个B2B环境中,我无法直接访问我的 生产环境 系统,因为它们通常位于一些锁定的客户实验室中 . 我可以在需要时通过客户获得诊断等 .

我想要的是能够分析prometheus / graphana中的节点统计数据 . 假设我让客户每天给我发送诊断,这给我带来了三个问题:

  • 该诊断应采用什么格式?这不是什么大不了的事,我希望我能让客户复制并记录每个节点的统计数据 .

  • 当我把它们结束时,我怎样才能确保每个节点在导入普罗米修斯时都有不同的标签 . 我认为有多种方法可以做到这一点 . 一个可能是拥有一个node_exporter,使用文件收集器,在节点前面添加每个度量标准,并使用relabel . 另一个(更好)是使用“name val”格式 . 我觉得我还是很好,虽然很高兴有人告诉我有更好的方法 .

  • 但我认为我有一个问题,我无法用时间戳解决 . 问题是我希望系统状态的每个5分钟快照都有收集的时间戳 . 我可以把时间戳放在每个快照中,但我认为没有办法把它给普罗米修斯 .

我发现了像这样的事情https://github.com/Cleafy/promqueen/blob/master/README.mdhttps://github.com/prometheus/prometheus/issues/535,但它们并不是我所处的问题空间 . 我是否遗漏了一些导出器,参数或其他任何可以让我实现一次性导出数天数据的目标?

更新:我取得了相当大的进步,现在我担心根本不会有一个解决方案,更不用说正确的架构了 .

似乎在我的第二个项目符号(如何识别服务器)中,使用度量标准名称不起作用,因为服务器具有“ . ”在他们中 . 并且添加为“实例”标签不起作用,因为node_exporter不尊重它们,即使我将“honor_labels”放在scrape配置中也是如此 . 因此node_exporter不能用作此方法 . 幸运的是,pushgateway执行此操作并尊重实例标签(在URL上传递) .

但在第三个(如何添加时间) . node_exporter允许这样做 . 但pushgateway没有(或者至少文档明确表示没有) .

因此,从表面上看,出口商都没有做我需要它做的事情 . 我想可能是时候分叉其中一个,并编写一些代码 . 但我并不热衷于此 .