V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Geekerstar
V2EX  ›  程序员

prometheus、alertmanager 告警误报问题

  •  
  •   Geekerstar · 2021-10-11 16:23:38 +08:00 · 1183 次点击
    这是一个创建于 928 天前的主题,其中的信息可能已经有所发展或是发生改变。

    规则是这样配置的

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

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

    2 条回复    2021-10-12 11:42:58 +08:00
    killva4624
        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,作为持久记录。
    hasdream
        2
    hasdream  
       2021-10-12 11:42:58 +08:00
    for 持续时间一般设置久点 比如 5m 5s 和 1m 采样数量太少 容易误报
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1228 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 23:48 · PVG 07:48 · LAX 16:48 · JFK 19:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.