您有一个名为A的群集应用程序,它有两个实例:A1和A2。 此应用正在故障转移模式下工作,因此只有一个是领导者。它们都公开指标,但是要真正拥有正确的指标,您只需要抓取这些应用程序之一即可。如果两者都抓取,最终将导致复杂得多的Prometheus查询-始终按实例分组,然后按max()分组,只使用其中一个。
在Prometheus作业配置中没有一种方法可以指定某些目标是克隆/重复/主从/ HA对节点-因此Prometheus当时只能刮除这些节点中的一个,而不是全部。
如果没有这样的功能,您是否有解决此问题的想法?或者您已经解决了...告诉我如何:)
我想我并不是唯一一个更喜欢优雅的Prometheus查询的人。
提前感谢,Davor
答案 0 :(得分:0)
用于主动-被动设置的相同HA机制应用于刮取。只需将Prometheus指向同一个HTTP平衡器(LVS,或用于主动-被动设置的任何东西)即可。这将确保仅刮除 active 实例。
答案 1 :(得分:0)
您应该同时抓取这两个值,然后使用PromQL选择基于当前领导者的值。参见https://prometheus.io/docs/instrumenting/writing_exporters/#deployment
的最后一段