我试图了解如何在不再取消该指标时让Grafana提醒我。
我在此示例中使用的指标是mongodb_instance_uptime_seconds
。当实例发生故障时,不再生成度量标准,从而导致Prometheus中缺少该度量标准。目前,警报在when last() query(A, 1m, now) < 600
上触发。如您所见,目标是在正常运行时间少于5分钟时发出警报。这意味着我想提醒重启和停止,但是当一个实例发生故障时,Grafana不会发出警报,因为实际上last()
值不存在,并且当实例发生故障5分钟以上时,甚至没有任何报告。>
关于前进的任何线索吗?
答案 0 :(得分:1)
通常用于确定实例是否被成功抓取的度量标准为up
。它由所有抓取作业自动生成,因此,如果要为任何已关闭的抓取端点发出警报,只需使用查询up == 0
,该查询将显示上次抓取未成功的所有端点。如果您只想为此特定端点发出警报,请使用标签up{instance="mongodb.foo.com",job="mongo"} == 0
如果您对使用Alertmanager代替Grafana感兴趣,则规则如下:
groups:
- name: General
rules:
- alert: Endpoint_Down
expr: up == 0
for: 5m
labels:
severity: critical
annotations:
summary: "Exporter is down: {{ $labels.instance }}"
description: "The endpoint {{ $labels.instance }} is not able to be scraped by Prometheus."