Prometheus 普罗米修斯,但没有匹配的实例标签

Prometheus 普罗米修斯,但没有匹配的实例标签,prometheus,prometheus-alertmanager,Prometheus,Prometheus Alertmanager,所以我有这样的情况: Blackbox icmp,其中实例标签为example.com Blackbox http,其中实例标签为https://example.com 节点导出器,其中实例标签为example.com:9100 现在所有这些都引用了同一个服务器,我创建了一个警报,当blackbox icmp失败且节点导出器关闭时触发,即InstanceDown警报。现在blackbox http也将触发,因为http状态代码现在是错误的,但我不希望blackbox http警报在Instanc

所以我有这样的情况:
Blackbox icmp,其中实例标签为
example.com

Blackbox http,其中实例标签为
https://example.com

节点导出器,其中实例标签为
example.com:9100

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


我遇到的问题是,即使是同一台服务器,实例标签也都是不同的。我怎样才能抑制这种情况?我能想到的唯一解决办法是在每个作业中添加另一种类似于“域”的冗余标签,这样我就可以在
equals
列表中使用该标签来进行抑制。

您需要使用普罗米修斯的“relabel\u config”功能,例如,您可以将所有不同的实例标签更改为“example”

黑盒icmp

relabel_configs:
  - source_labels: [__address__]
    regex: '([a-z]+)\.com'
    replacement: ${1}
    target_label: instance
relabel_configs:
  - source_labels: [__address__]
    regex: 'https//([a-z]+)\.com'
    replacement: ${1}
    target_label: instance
黑盒http

relabel_configs:
  - source_labels: [__address__]
    regex: '([a-z]+)\.com'
    replacement: ${1}
    target_label: instance
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_配置规则,如示例中所示


请参阅Prometheus文档中的更多信息。

但这也会更改探测器实际运行的地址或节点导出器的预期位置。您需要保持常规Blackbox relabel_配置规则,如Blackbox自述中的示例所述。我刚刚更新了答案。