第6章 告警处理 在 prometheus 监控体系中,指标的采集存储于告警是分开的。告警规则是在 prometheus server 端定义的,告警规则被触发后,才会将信息发送给独立组件
Alertmanager 上,经过对告警的处理后,最终通过接收器通知用户。6.1 概述 6.2 Alertmanager部署 6.2.1 Alertmanager机制 Prometheus server 和 Alertmanager 是互相分离的两个组件,我们使用 prometheus server 采集各类监控指标,然后基于 PromQL 对这些指标定义阈值告警规则(Rules)。prometheus server 对告警规则周期性的进行计算,如果满足触发条件,便生成一条告警信息,并将其推送到 Alertmanager 组件。收到告警信息后,Alertmanager 会处理告警,进行分组(grouping)并将它们最终路由(routing)到正确的接收器(receiver)。在prometheus 中,我们不仅可以对一条告警规则进行命名并通过 PromQL 定义规则,更多的时候是对相关的多条告警进行分组后统一定义。1.告警分组(Grouping)Alertmanager 将同类型的告警进行分组,合并多条告警到一个通知中。2.告警抑制(Inhibition)当某告警已经发出,停止重复发送由此告警引发的其他异常或故障的告警机制。3.告警静默(Silences)告警静默提供了一个简单的机制,可以根据标签快速对告警进行静默处理。对传入的告警进行匹配检查,如果接收到的告警符合静默的配置,Alertmanager不会发送告警通知。6.2.2 使用二进制文件方式安装 https://prometheus.io/download/  6.2.3 使用Docker安装 docker pull prom/alertmanagerdocker run -p 9093:9093 -v /Users/weijianhua/Sites/config_file/prometheus/alertmanager/simple.yml:/etc/alertmanager/simple.yml --name alertmanager prom/alertmanager6.3 Alertmanager配置 6.3.1 global    全局配置均为公共设置,可以作为其他配置下的默认值,也可以被其他配置项中的设置覆盖。6.3.2 templates 告警模板可以自定义告警通知的外观格式及其包含的对应告警数据。6.3.3 route 告警路由模块描述了在收到 prometheus server 生成的告警后,将告警发送到 receiver 指定的目的地址的规则。6.3.4 receivers 接收器是一个统称,每一个 receiver 需要设置一个全局唯一的名称,并且对应一个或者多个通知方式。6.3.5 inhibit_rules 在 inhibit_rule 模块中设置实现告警抑制功能,我们可以指定在特定条件下要忽略的告警条件。https://prometheus.io/webtools/alerting/routing-tree-editor/6.4 Prometheus告警规则 6.4.1 与Alertmanager关联 prometheus 把生产的告警发送给 Alertmanager 进行告警处理时,需要在prometheus 使用的配置文件中添加关联 Alertmanager 组件的对应配置内容。1.编辑 prometheus.yml 文件中加入关联 Alertmanager 组件的访问地址。alerting:alertmanagers:- static_configs:- targets:- 192.168.186.7:90932.添加监控 Alertmanager 与监控 prometheus 操作过程一样,Alertmanager 公开了相关指标。可以在 prometheus.yml 文件中创建一个 prometheus job来监控 Alertmanager 组件示例地址,内容如下:- job_name: 'Alertmanager'static_configs:- targets: ['192.168.186.7:9093']//查看配置内容http://localhost:9090/config 6.4.2 告警规则 告警规则文件使用yaml格式进行定义,在 prometheus server 中使用 PromQL 配置实际告警触发条件,prometheus 会根据告警规则及配置周期进行周期性的计算,若触发条件则会发告警通知。告警规则加载是在 prometheus.yml 文件中进行配置,默认情况下 prometheus 对设置的告警规则进行计算的时间间隔是 1分钟,可以使用global中的 evaluation_interval 配置项设置间隔时间。例如:
global:evaluation_interval: 15s告警规则可以直接指定文件,也可以指定到特定的目录下,为了方便管理可以把告警规则拆分成多个文件,以特定命名格式被 prometheus.yml 指定后加载,如:
rules_files:- '/data/prometheus/rules/*._rules.yml'- 'second_rules.yml'一个告警信息在生命周期内可能会有三种状态:1.Interval,没有满足触发条件,告警未激活状态2.Pending,已满足触发条件,但为满足告警持续时间的状态,即为满足告警中for子句中指定的持续时间3.Firing,已满足触发条件且已经超过for子句中指定的持续时间时的状态带有 for 子句的告警将首先转换为 pengding 状态,然后转换为 firing 状态,至少需要2个计算周期才触发告警。从pending状态到firing状态的转换,确保了告警的有效性。而没有for子句的告警自动会从 Inactive 状态转换为 Firing 状态,只需要一个计算周期即可被触发。prometheus 从收集监控目标开始,到触发一条告警的过程:1.定义规则2.周期计算3.告警状态转换6.4.3 使用模板 模板是在告警中使用时间序列数据的标签和值的一种方法,可以用于告警规则中的注释和标签。6.5 告警接收器 6.5.1 Email接收告警 1.修改 Alertmanager 默认配置文件,在 global 中添加全局的 smtp 配置信息。2.在配置文件的 receivers 模块中配置 email_configs 内容6.5.2 企业微信接收告警 6.5.3基于Webhook的钉钉接收告警 6.5.4 告警通知模板 6.6 告警临时静默 静默是使告警在给定时间内暂时静音的一种方法。我们可以通过两种方法来完成静默设置:一种是通过 Alertmanager Web 控制台控制;一种是通过 amtool 命令行设置。1.打开 http://localhost:9093/#/silences2.New Silence

6.Prometheus 监控技术与实践 --- 告警处理相关推荐

  1. Prometheus监控的最佳实践——关于监控的3项关键指标

    本文来自Weaveworks的工程师Anita Burhrle在Rancher Labs与Weaveworks联合举办的Online Meetup上的技术分享.在此次分享中,嘉宾们讨论了如何使用Ran ...

  2. 云计算监控—Prometheus监控系统(文末赠书)

    陈金窗 刘政委 张其栋 郑少斌 读完需要 20 分钟 速读仅需 7 分钟 本文摘自于<Prometheus 监控技术与实战>一书,从云计算时代的业务特点出发,探讨了云计算监控的目标和挑战, ...

  3. 【第7期】云计算监控——Prometheus监控系统

    本文摘自于<Prometheus监控技术与实战>一书,从云计算时代的业务特点出发,探讨了云计算监控的目标和挑战,梳理了云资源监控的范围及监控系统实现的一般方式.接着从开源监控软件的演进出发 ...

  4. 从Zabbix到Prometheus,同程艺龙数据库监控系统的实践

    来自:DBAplus社群 作者介绍 闫晓宇,同程艺龙数据库技术专家,具有多年互联网行业DB运维经验,在游戏.O2O及电商行业从事过DBA运维工作.2016年加入同程艺龙,目前在团队负责数据库架构设计及 ...

  5. 2021 大促 AntMonitor 总结 - 云原生 Prometheus 监控实践

    文|陈岸琦(花名:敖清 ) 蚂蚁集团高级开发工程师 负责蚂蚁 Prometheus 监控原生功能 在蚂蚁集团的落地与产品化建设 本文 6566 字 阅读 15 分钟 前 言 日志和指标是监控不可或缺的 ...

  6. 服务器运维监控指标,运维体系~指标监控~Prometheus监控告警与日志

    一 Prometheus 入门 1.1 入门介绍 运维体系~指标监控 先来一张图,说明一下Prometheus监控相关的软件和知识点. 1: 首先要安装:Prometheus, 负责收集各种监控指标, ...

  7. 最佳实践|Spring Boot 应用如何快速接入 Prometheus 监控

    简介:SpringBoot 微服务的开发.发布与部署只占其生命周期的一小部分,应用和系统运维才是重中之重.而运维过程中,监控工作更是占据重要位置.那么,为了对系统的状态进行持续地观测,面向Spring ...

  8. prometheus监控+告警

    1 开始安装前的准备 1.1 修改主机名 1.2 关闭防火墙 1.3 关闭seliunx 1.4 关闭防火墙 1.5 下载阿里云的yum源 2 下载所用到的包 2.1 安装 node_porter 2 ...

  9. prometheus监控告警功能

    prometheus监控K8S 监控告警功能 alertmanager邮箱告警配置 首先开通SMTP服务,QQ邮箱:设置–帐号–开通POP3/SMTP服务,记住生成的密码(其它邮箱同理) 编辑prom ...

  10. Prometheus监控以及告警配置

    Prometheus监控 Prometheus简介 Prometheus是一套开源的系统监控报警框架.Prometheus作为新一代的云原生监控系统,相比传统监控监控系统(Nagios或者Zabbix ...

最新文章

  1. ffmpeg-20160526-git-bin
  2. 开学考试学生成绩管理Java
  3. react源码解读 {createClass}
  4. 武林c语言,详解C语言中条件编译
  5. LBP(Local Binary Patterns)局部二进制模式
  6. Python学习之路9☞面向对象的程序设计
  7. Scratch少儿编程案例~走迷宫游戏
  8. Cas单点登录常见问题总结
  9. Git以及Githup的使用
  10. java时间转换为标准时间
  11. win10 windows许可证即将过期的解决办法
  12. 新华三2018校园招聘笔试面试题学习
  13. 2022-2028全球及中国光伏金属化铝膏行业研究及十四五规划分析报告
  14. mysql right关键字_MYSQL 中的LEFT( RIGHT ) JOIN使用ON 与WHERE 筛选的差异
  15. 《Stacked Attention Networks for Image Question Answering》论文解读与实验
  16. 【你好,windows】Windows10 x64 18363.628 X64专业工作站纯净版2020.2.13
  17. 多线程实现的四种方式详解
  18. RewriteCond %{REQUEST_URI}
  19. MySQL实现排名、分组筛选、TopN问题
  20. 我所看过的n部动漫(n=23)

热门文章

  1. 『参考』.net CF组件编程(1)——基础之后
  2. BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞 DFS版SPFA判负环
  3. UDP网络程序,客户端和服务端交互原理
  4. 2018.06.30 BZOJ1857: [Scoi2010]传送带(三分套三分)
  5. mybatis批量操作
  6. mysql的体系架构和存储引擎
  7. 探索 Python、机器学习和 NLTK 库 开发一个应用程序,使用 Python、NLTK 和机器学习对 RSS 提要进行分类...
  8. Socket层实现系列 — I/O事件及其处理函数
  9. iphone clearColor 不起作用问题
  10. jquery手机横屏竖屏判断显示