将指标与警报的不同标签结合起来
Combining Metrics with different labels for Alerts
所以这是我的意图:
我在每台服务器上都有一个节点导出器,它为我提供了一个 Up 指标,这只是因为导出器关闭了,并不意味着服务器关闭了。因此,另外使用 Blackbox exporter 并检查服务器是否可以通过 icmp 访问。现在我想将这两个指标组合到一个警报中,因为如果无法通过 Ping 访问服务器并且导出器已关闭,则服务器实际上已关闭的可能性很高。
这是我的查询:
Instance:Up == 0 and ON(instance) instance:probe_success == 0
问题是实例标签略有不同:
节点导出器在端口 10500 上运行,这导致标签 my.instance.com:10500 而 icmp 不使用该端口,因此 my.instance.com。
有没有办法结合这些?
您可以使用 label_replace
仅使用 instance
中 "hostname:port"
值的主机名替换 instance
标签(或添加其他标签)。
大致如下:
up{job="node"}
or on(instance)
label_replace(probe_success{job="prober"}, "instance", "", "instance", "(.+):.+"
所以这是我的意图: 我在每台服务器上都有一个节点导出器,它为我提供了一个 Up 指标,这只是因为导出器关闭了,并不意味着服务器关闭了。因此,另外使用 Blackbox exporter 并检查服务器是否可以通过 icmp 访问。现在我想将这两个指标组合到一个警报中,因为如果无法通过 Ping 访问服务器并且导出器已关闭,则服务器实际上已关闭的可能性很高。
这是我的查询:
Instance:Up == 0 and ON(instance) instance:probe_success == 0
问题是实例标签略有不同: 节点导出器在端口 10500 上运行,这导致标签 my.instance.com:10500 而 icmp 不使用该端口,因此 my.instance.com。
有没有办法结合这些?
您可以使用 label_replace
仅使用 instance
中 "hostname:port"
值的主机名替换 instance
标签(或添加其他标签)。
大致如下:
up{job="node"}
or on(instance)
label_replace(probe_success{job="prober"}, "instance", "", "instance", "(.+):.+"