prometheus 监控规则案例
一:连接到alertmanager告警检测
Prometheus not connected to alertmanager - alert: PrometheusNotConnectedToAlertmanager expr: prometheus_notifications_alertmanagers_discovered < 1 for: 0m labels: severity: critical annotations: summary: Prometheus not connected to alertmanager (instance {{ $labels.instance }}) description: "Prometheus cannot connect the alertmanager\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"expr: prometheus_notifications_alertmanagers_discovered < 1
解读:
检查 Prometheus 是否发现了至少一个 Alertmanager 实例。如果发现的 Alertmanager 实例数少于 1,则返回 True
prometheus_notifications_alertmanagers_discovered:
这是一个 Prometheus 内置的指标,用于表示 Prometheus 实例当前已发现的 Alertmanager 实例数量二:规则检测失败
Prometheus rule evaluation failures - alert: PrometheusRuleEvaluationFailures expr: increase(prometheus_rule_evaluation_failures_total[3m]) > 0 for: 0m labels: severity: critical annotations: summary: Prometheus rule evaluation failures (instance {{ $labels.instance }}) description: "Prometheus encountered {{ $value }} rule evaluation failures, leading to potentially ignored alerts.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"expr: increase(prometheus_rule_evaluation_failures_total[3m]) > 0
解读:
prometheus_rule_evaluation_failures_total:
这是一个 Prometheus 内置指标,用于计算规则评估失败的总次数。每当 Prometheus 在评估告警规则或记录规则时遇到失败,这个计数器就会增加。increase():
这是一个函数,用于计算给定时间范围内某个计数器的增量。在这个上下文中,它计算 prometheus_rule_evaluation_failures_total 在过去 3 分钟内的增量。