Prometheus 告警规则

Prometheus官方内置的第三方报警通知包括:邮件、 即时通讯软件(如Slack、Hipchat)、移动应用消息推送(如Pushover)和自动化运维工具(例如:Pagerduty、Opsgenie、Victorops)

Prometheus告警流程

须知:

  1. Prometheus 从监控目标上收集信息(scrape_interval 是多长时间采集一次,默认是1m其中srcape_interval可以配置全局生效,也可以基于单个metrics定义),然后将监控信息持久存储在本地存储上。
  2. Prometheus 对告警规则做定期计算,其中evaluation_interval只有全局值;然后更新告警
groups:
# 实例存活告警规则
- name: exportrules:
# 实例存活告警- alert: memory        # 名称expr: memory_used > 30    # 算法for: 10s        # 告警持续时间labels:user: prometheusseverity: "{{ $labels.job }}: Memory usage exceeded 30G”annotations:description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes."

注意:配置中的for语法就是用来设置告警持续时间的;如果配置中不设置for或者设置为0,那么pending状态会被直接跳过。

告警触发流程

  1. 假设采集周期为5s采集一次memory_used
  2. 采集到的指标告知给Alertmanager,当指标超过30时,这时会触发告警
  3. 然后根据采集到的指标按照10s一个周期计算表达式为真,并且符合for持续10s,将告警切换到pening状态
  4. 下个计算周期,表达式仍然为真,并且符合for 持续10s告警变更为Firing,并将告警从Prometheus发送给Alertmanager;
  5. 下个周期计算,表达式仍然为真,并且符合for 持续10s持续告警给Alertmanager;
  6. 一直到,表达式为假,告警状态边更为inactive,并发送给Alertmanager,告警已经解决

Alertmanager 分组 抑制 静默

分组
1、同类告警的聚合帮助运维排查问题
2、通过告警邮件的合并,减少告警数量
抑制

须知:抑制可以针对单个指标,也可以对分组。(下边内容我是以分组进行说明的)

告警延时的几个重要参数:
group_by:采用哪个标签作为分组的依据
group_wait:分组等待时间,比如:5s
group_interval:分组尝试再次发送告警的时间间隔,比如:5m
Repeat_interval:分组内发送相同告警的时间间隔,比如:60m
例:
有同组告警集A,如下:
a1
a2
a3
场景一:
a1先到达告警系统,此时在group_wait:5s的作用下,a1不会立刻告出来,a1等待5s,下一刻a2在5s内也触发,a1,a2会在5s后合并为一个分组,通过一个告警消息发出来;
a1,a2持续未解决,它们会在repeat_interval: 60m的作用下,每隔一小时发送告警消息

Alertmanager 配置文件说明

global:smtp_smarthost: 'smtp.163.com:25'        # 是用于发送邮件的邮箱的SMTP服务器地址+端口smtp_from: 'jugglee@163.com'             # 发送邮箱名称smtp_auth_username: 'jugglee@163.com'    # 邮箱名称smtp_auth_password: 'admin123'           # 是发送邮箱的授权码而不是登录密码smtp_require_tls: false                  # 不设置的话默认为true,当为true时会有starttls错误,可以用其他办法解决。为了简单这里直接设置为falsetemplates:                                 # 指出邮件的模板路径- '/alertmanager/template/*.tmpl'route:group_by: ['alertname', 'cluster', 'service']group_wait: 30sgroup_interval: 5mrepeat_interval: 10mreceiver: default-receiverreceivers:                                  # 下html指出邮件内容模板名,这里模板名为“alert.html”,在模板路径中的某个文件中定义
- name: 'default-receiver'email_configs:- to: 'whiiip@163.com'html: '{{ template "alert.html" . }}'headers: { Subject: "[WARN] 报警邮件test" }   # 为邮件标题

Prometheus 告警规则相关推荐

  1. 玩转prometheus告警 alertmanger(一)之prometheus告警规则

    目录 1. 告警系统原理概述 2.  配置prometheus规则 2.1 配置告警规则目录 2.2 告警规则 3. 查看效果 1. 告警系统原理概述 在开始之前,需要了解下prometheus和al ...

  2. Prometheus告警规则

    完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/prometheus/configuration/alerting_rules.h ...

  3. prometheus告警规则管理

    微型公众号:运维开发故事,作者:夏老师 什么是Rule Prometheus支持用户自定义Rule规则. Rule分为两类,一类是Recording Rule,另一类是Alerting Rule.Re ...

  4. 开箱即用的 Prometheus 告警规则集

    作者 | AddoZhang       责编 | 欧阳姝黎 在配置系统监控的时候,是不是即使绞尽脑汁监控的也还是不够全面,或者不知如何获取想要的指标. Awesome Prometheus aler ...

  5. prometheus之记录规则(recording rules)与告警规则(alerting rule)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Prometheus支持两种类型的规则:记录规则和警报规则. 要在Prometheus中包含规则,请创建一个包含必要规则语句的文件,并让Prometh ...

  6. 实用干货丨如何使用Prometheus配置自定义告警规则

    前 言 Prometheus是一个用于监控和告警的开源系统.一开始由Soundcloud开发,后来在2016年,它迁移到CNCF并且称为Kubernetes之后最流行的项目之一.从整个Linux服务器 ...

  7. 5.prometheus告警插件-alertmanager、自定义webhook案例编写

    5.prometheus告警插件-alertmanager 参考文章: https://www.bookstack.cn/read/prometheus-book/alert-install-aler ...

  8. prometheus告警

    1. 告警概述 prometheus的告警管理分为两部分.通过在prometheus服务端设置告警规则, Prometheus服务器端产生告警向Alertmanager发送告警. 然后,Alertma ...

  9. prometheus告警配置

    1. 摘要 本文主要介绍,如何通过prometheus监控服务状态,并产生告警信息,已便于运维人员快速响应. 2. 整体架构 本次设计用到prometheus服务,alertmanger服务,blac ...

最新文章

  1. 用户变量和系统变量的区别
  2. R语言报错:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : n行没有x元素
  3. 如何在awk中引用外部变量
  4. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取
  5. 制造业物料清单BOM、智能文档阅读、科学文献影响因子、Celebrated Italian mathematician ZepartzatT Gozinto 与 高津托图...
  6. [css] padding会影响到元素的大小,那不想让它影响到元素的宽度应该怎么办?
  7. Linux命令三剑客:grep、sed、awk总结
  8. php知识点_PHP那些琐碎的知识点(整理)
  9. 如何用c语言程序写一段英文字母,菜鸟求助,写一个随机输出26个英文字母的程序...
  10. 小红旗图标在excel如何输入_excel数据核对技巧:如何用函数公式标识输入正误...
  11. ITextSharp导出PDF表格和图片(C#)
  12. npm install全局安装的模块路径自定义管理
  13. 浅谈JSON数据解析方法
  14. 利用Xstream注解生成和解析xml
  15. 艾蔻智能机器人怎么连接网络_智能建筑背后的关键技术:无处不在的网络连接...
  16. window7磁盘分区
  17. 数学建模系列-预测模型(五)---马尔可夫链
  18. 2022年R2移动式压力容器充装操作证考试题库及答案
  19. 区块链学习笔记12——BTC思考
  20. 让360双核浏览器默认极速模式打开网页

热门文章

  1. 【转载】Deep Learning(深度学习)学习笔记整理系列
  2. 怎么最快学会计算机ps,学习ps要多长时间?如何快速学会ps?
  3. [转载] 全本张广泰——第十一回 广泰喝倒好 气坏道台爷
  4. 发现一个vue写的非常有趣的投票和统计工具
  5. 瑞泰工程泰州BIM第十四期培训计划!
  6. Eviews+计量经济学笔记(自用)
  7. 按书的问题范围scale尺寸进行书箱分类存储
  8. QQ分享 QQ空间分享 API链接:
  9. python参数种类_python的参数类型
  10. fx5800p编程教程_常见的CASIO fx5800P基本功能及编程学习.ppt