所以我有这种情况:
Blackbox-icmp,其中实例标签为example.com
Blackbox-http,实例标签为https://example.com
节点导出器,实例标签为example.com:9100
现在所有这些都引用同一台服务器,并且我创建了一个警报,该警报在blackbox-icmp失败并且节点导出器关闭时触发,InstanceDown
警报。现在,由于http状态代码错误,因此blackbox-http也将触发,但是当InstanceDown
警报已经触发时,我不希望blackbox-http警报也触发。
我遇到的问题是,即使它是同一台服务器,实例标签也都不同。我该如何抑制呢?我唯一能想到的解决方法是在每个作业中添加另一个类似“域”的冗余标签,因此我可以在equals
列表中使用它来禁止使用。
答案 0 :(得分:0)
您需要使用Prometheus的“ relabel_config”功能,例如,您可以将所有不同的实例标签更改为“ example”。
Blackbox-icmp
relabel_configs:
- source_labels: [__address__]
regex: '([a-z]+)\.com'
replacement: ${1}
target_label: instance
Blackbox-http
relabel_configs:
- source_labels: [__address__]
regex: 'https//([a-z]+)\.com'
replacement: ${1}
target_label: instance
节点导出器
relabel_configs:
- source_labels: [__address__]
regex: '([a-z]+)\..*'
replacement: ${1}
target_label: instance
重要
还保留常规的Blackbox relabel_configs规则,例如示例here
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115 # The blackbox exporter's real hostname:port.
请参阅Prometheus文档here中的更多信息。