prometheus、alertmanager 告警误报问题

2021-10-11 16:23:38 +08:00
 Geekerstar

规则是这样配置的

  - 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 都正常的情况却触发了上面两个告警规则

请问大家有没有遇到过误报的情况呢?是配置没有对还是什么原因呢?另外有没有办法去查询告警的历史记录呢?目前是通过邮件接收的

1187 次点击
所在节点    程序员
2 条回复
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,作为持久记录。
hasdream
2021-10-12 11:42:58 +08:00
for 持续时间一般设置久点 比如 5m 5s 和 1m 采样数量太少 容易误报

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX