普罗米修斯抑制但没有匹配的实例标签

时间:2019-11-18 10:32:48

标签: prometheus prometheus-alertmanager

所以我有这种情况:
Blackbox-icmp,其中实例标签为example.com
Blackbox-http,实例标签为https://example.com
节点导出器,实例标签为example.com:9100

现在所有这些都引用同一台服务器,并且我创建了一个警报,该警报在blackbox-icmp失败并且节点导出器关闭时触发,InstanceDown警报。现在,由于http状态代码错误,因此blackbox-http也将触发,但是当InstanceDown警报已经触发时,我不希望blackbox-http警报也触发。

我遇到的问题是,即使它是同一台服务器,实例标签也都不同。我该如何抑制呢?我唯一能想到的解决方法是在每个作业中添加另一个类似“域”的冗余标签,因此我可以在equals列表中使用它来禁止使用。

1 个答案:

答案 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中的更多信息。