规则是这样配置的
- alert: 服务器宕机
expr: up == 0
for: 1m
labels:
severity: emergency
annotations:
summary: "{{$labels.instance}}:服务器宕机"
description: "{{$labels.instance}}:服务器延时超过 5 分钟"
- alert: MySQL 宕机
expr: up == 0
for: 5s
labels:
severity: emergency
annotations:
summary: "{{$labels.instance}}: MySQL 宕机!!!"
description: "请检测 MySQL 数据库运行状态"
遇到一个误报,服务器和 MySQL 都正常的情况却触发了上面两个告警规则
请问大家有没有遇到过误报的情况呢?是配置没有对还是什么原因呢?另外有没有办法去查询告警的历史记录呢?目前是通过邮件接收的
1
killva4624 2021-10-12 10:11:58 +08:00
先查查误报的原因是什么?在 prometheus 的 db 里,相关 instance 在该时段的 up == 0 是怎么导致的? node-exporter 和 mysql 的 exporter 同时 up == 0 的情况,看起来网络不可达或者拉取 metrics 超时的可能性更大一些。
似乎现在还没有告警历史记录的官方支持,如果有的话请哪位老哥点醒我看文档。我能想到的是:1 、持久化记录和解析 alertmanager 日志(可能需要调整日志级别,不太记得了) 2 、告警时除了发邮件,也调一个 webhook,作为持久记录。 |
2
hasdream 2021-10-12 11:42:58 +08:00
for 持续时间一般设置久点 比如 5m 5s 和 1m 采样数量太少 容易误报
|