Prometheus Alertmanager 是否能够区分事件和条件?

问题描述

我们有一个 kubernetes 系统,其中包括处理来自传感器的数千个传入输入的活动。一些传感器可以不时停止报告,因此我们可以对断开连接事件发出警报。当传感器回来时,我们也希望为此获得一个事件。因此,在这些事件(连接和断开连接)之间,特定传感器的状态可以是 OK 或 NOK,我们希望查看当前断开连接的传感器的状态,而无需查看所有发出的事件并每次都找出来。

我们可以使用 Prometheus Alertmanager 做到这一点吗? 如果是,您能否参考实现此目的的可能方法? 如果不是,您处理此要求的认方式是什么?

解决方法

这必须在 Prometheus 服务器端通过添加自我监控警报来管理,更准确地说是为您的案例添加 PrometheusTargetMissing 警报

  - alert: PrometheusTargetMissing
    expr: up == 0
    for: 0m
    labels:
      severity: critical
    annotations:
      summary: Prometheus target missing (instance {{ $labels.instance }})
      description: A Prometheus target has disappeared. An exporter might be crashed.\n  VALUE = {{ $value }}\n  LABELS: {{ $labels }}

参考: https://awesome-prometheus-alerts.grep.to/rules.html#rule-prometheus-self-monitoring-2