本文忽略 pending 状态的警报,只统计 firing 状态的。
1
统计当前的告警数:
count(ALERTS{alertstate="firing"}) by(alertname)
2
先在 Prometheus 的 rules.yml 配置文件中,添加一条规则,提取firing状态的警报的起始时刻:
groups:
- name: recording_rules
rules:
- record: ALERTS_FOR_STATE:firing
expr: ALERTS_FOR_STATE and ignoring(alertstate) ALERTS{alertstate="firing"}
然后统计最近1周的累计告警数:
sum(changes(ALERTS_FOR_STATE:firing[1w]) + 1) by(alertname)