在alert rule中配置"for:"参数,限制告警的持续时间,避免Alert manager重复发送同一告警。例如,在Prometheus中,可以在alert rule中进行如下配置:
groups:
- name: example
rules:
- alert: HighRequestLatency
expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5
for: 5m # 配置告警持续时间
labels:
severity: page
annotations:
summary: "High request latency on {{$labels.instance}}"
description: "Alert firing on instance {{$labels.instance}}. Current value: {{ $value }}"
在这个例子中,告警持续时间被限制在5分钟,因此,如果Alert manager接收到相同的告警,但是告警已经持续了5分钟,那么Alert manager不会将这个告警发送给webhook,从而避免告警的重复发送。