我生活在一个B2B环境中,我无法直接访问我的生产系统,因为它们通常位于一些锁定的客户实验室中。我可以在需要时通过客户获得诊断等。
我想要的是能够分析prometheus / graphana中的节点统计数据。假设我让客户每天给我发送诊断,这给我带来了三个问题:
该诊断应采用什么格式?这不是什么大不了的事,我希望我能让客户复制并记录每个节点的统计数据。
当我把它们结束时,我怎样才能确保每个节点在导入普罗米修斯时都有不同的标签。我认为有多种方法可以做到这一点。一个可能是拥有一个node_exporter,使用文件收集器,在节点前面添加每个度量标准,并使用relabel。另一个(更好)是使用“name {label = X} val”格式。我觉得我还是很好,虽然很高兴有人告诉我有更好的方法。
但我觉得我有一个问题,我无法用时间戳解决。问题是我希望系统状态的每个5分钟快照都有收集的时间戳。我可以将时间戳放在每个快照中,但我认为没有办法将其提供给普罗米修斯。
我发现了https://github.com/Cleafy/promqueen/blob/master/README.md和https://github.com/prometheus/prometheus/issues/535之类的内容 但他们并不是我所处的问题空间。我是否遗漏了一些导出器,参数或其他任何可以让我实现一次性导出数天数据的目标?
更新:我已经取得了相当大的进步,现在我担心根本没有解决方案,更不用说正确的架构了。
似乎在我的第二个项目符号(如何识别服务器)中,使用度量标准名称不起作用,因为服务器具有“。”在他们中。并且添加为“实例”标签不起作用,因为node_exporter不尊重它们,即使我将“honor_labels”放在scrape配置中也是如此。因此node_exporter不能作为一种方法。幸运的是,pushgateway确实这样做并且尊重实例标签(在URL上传递)。
但是在第三个(如何添加时间)。 node_exporter允许这样做。但是pushgateway没有(或者至少文档明确表示没有)。
因此,从表面上看,出口商都没有做我需要它做的事情。我想可能是时候分叉其中一个,并编写一些代码。但我并不热衷于此。