美文网首页
Prometheus和AlertManager的告警机制

Prometheus和AlertManager的告警机制

作者: 平凡人笔记 | 来源:发表于2020-04-03 17:38 被阅读0次

    一、上篇文章相关的配置是没有实现邮件通知的版本 以下配置是实现了邮件通知的版本

    1、将所有配置由tmp目录迁移到etc目录 原因docker每次启动tmp目录内容都会被清空 所以在tmp目录中的配置不会生效

    2、prometheus启动命令修改为

    docker run -d -p 9090:9090 \

    -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  \

    -v /etc/prometheus/prometheus_rules.yml:/etc/prometheus/prometheus_rules.yml \

    -v /etc/prometheus/alertmanager/alertmanager_rules.yml:/etc/prometheus/alertmanager/alertmanager_rules.yml \

    prom/prometheus

    alertmanager_rules.yml和prometheus_rules.yml配置文件在prometheus.yml中被引用

    如果本地配置文件路径不对(:之前的路径)docker启动报错

    如果docker中路径不对 则docker服务启动不起来

    3、/etc/prometheus/prometheus_rules.yml 最新配置

    4、/etc/prometheus/alertmanager/alertmanager_rules.yml 最新配置

    5、alertmanager启动命令修改为

    docker run -d -p 9093:9093 -v /etc/prometheus/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \

    -v /etc/prometheus/alertmanager/template/test.tmpl:/etc/alertmanager/html/template/test.tmpl \

    --name alertmanager docker.io/prom/alertmanager:latest

    6、alertmanager.yml 最新配置

    7、模版文件

    二、针对以上配置有几点需要说明下

    1、receivers html 中的模版名称为 模版文件中 define定义的名称

    2、邮件发送邮箱配置

    a、开启发送邮箱的smtp服务

    b、生成授权码

    三、触发告警演示效果

    1)正常效果

    a、2个数据源正常运行

    b、告警规则触发状态

    c、alertmanager未收到告警页面

    2)停止node数据源

    其中一个10s的告警规则触发了

    另外一个20的告警规则触发了

    现在状态由inactive->pendding 未激活状态转为等待发射状态

    5分钟之后发射了

    alertmanager也收到了告警通知

    报警邮件

    4:32发送第一封告警通知 持续10s prometheus没有收到node的数据

    4:37发送第N封告警通知 持续10s和20s的都没有收到node数据

    3)重启启动node

    之前的触发告警记录也都没有了

    4:37发送最后一封告警通知 20s规则的告警 此时10s的那个已经检测到node已经启动了 持续20s的那个还没有检测

    10的那个先检测 先通知alertmanger ,altermanager先将10s的那个剔除 此时只通知20s的那个

    等20s的那个检测到了 那么也就不会再发送邮件了

    相关文章

      网友评论

          本文标题:Prometheus和AlertManager的告警机制

          本文链接:https://www.haomeiwen.com/subject/ijskphtx.html