【问题标题】:Prometheus inhibiting but no matching instance labelPrometheus 抑制但没有匹配的实例标签
【发布时间】:2020-03-13 16:54:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: prometheus prometheus-alertmanager


    【解决方案1】:

    您需要使用 Prometheus 的“relabel_config”功能,例如,您可以将所有不同的实例标签更改为仅“示例”。

    Blackbox-icmp

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

    黑盒-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 中查看更多信息。

    【讨论】:

    • 但这也会改变探测实际去往的地址或节点导出器的预期地址。
    • 您需要保留常规的 Blackbox relabel_configs 规则,如 Blackbox README 中的示例中所述。我刚刚更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 2014-08-06
    • 2012-07-23
    • 1970-01-01
    • 2022-10-02
    • 2020-06-07
    • 2017-02-27
    • 2021-11-22
    相关资源
    最近更新 更多