Prometheus 告警规则

news/2024/5/19 0:03:42 标签: prometheus

Prometheus 告警规则

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

Prometheus告警流程

须知:

  1. Prometheus 从监控目标上收集信息(scrape_interval 是多长时间采集一次,默认是1m其中srcape_interval可以配置全局生效,也可以基于单个metrics定义),然后将监控信息持久存储在本地存储上。
  2. Prometheus 对告警规则做定期计算,其中evaluation_interval只有全局值;然后更新告警
groups:
# 实例存活告警规则
- name: export
  rules:
# 实例存活告警
  - alert: memory        # 名称
    expr: memory_used > 30    # 算法
    for: 10s        # 告警持续时间
    labels:
      user: prometheus
      severity: "{{ $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错误,可以用其他办法解决。为了简单这里直接设置为false

templates:                                 # 指出邮件的模板路径
  - '/alertmanager/template/*.tmpl'

route:
  group_by: ['alertname', 'cluster', 'service']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 10m
  receiver: default-receiver

receivers:                                  # 下html指出邮件内容模板名,这里模板名为“alert.html”,在模板路径中的某个文件中定义
- name: 'default-receiver'
  email_configs:
  - to: 'whiiip@163.com'
    html: '{{ template "alert.html" . }}'
    headers: { Subject: "[WARN] 报警邮件test" }   # 为邮件标题

http://www.niftyadmin.cn/n/61797.html

相关文章

[动手写操作系统]-01-开机运行系统

文章目录 **概念和目标**概念目标理论源码概念和目标 概念 assembler: 汇编程序BIOS: BIOS(Basic Input Output System,基本输入输出系统)是个可编程的微型操作系统,用于管理计算机中的软硬件,它控制着系统的启动,系统是如何连接外部设备,怎样响应,调整相应操作,都是…

自启动管理 - Win10

自启动管理 - Win10前言关闭开机自启方案1:在软件中设置方案2:在任务管理器设置方案3(不推荐):通过注册表管理方案4:通过第三方工具管理工具1:360安全卫士工具2:Autoruns工具3&#…

朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

相关文章 K近邻算法和KD树详细介绍及其原理详解朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 文章目录相关文章前言一、朴素贝叶斯算法二、拉普拉斯平滑总结前言 今天给大家带来的主要内容包括:朴素贝叶斯算法、拉普拉斯平滑。这些内容也是机器学习的基础内容…

excel操作实例:如何制作一个学习计划阶段图表

预则立不预则废。不管是为了避免被裁员的窘迫,还是为了获得更高的薪水,都有必要在2023年尽快学精Excel,成为行业高手。教程把要成为Excel高手的几道坎,也是要攻克的目标做成图表,希望大家的努力更有效。要变成Excel高手…

Spring基础入门(一)之 理论基础概念

文章目录前言Spring 体系结构IOC&DI1.Ioc控制反转2.DI依赖注入3.目标IOC相关之bean1.bean的基础配置2.bean的实例化3.bean的生命周期4.IOC管理第三方beanDI相关之注入注解开发1.介绍2.注解之bean&DI3.注解管理第三方bean4.常见注解的含义AOP1.介绍2.核心概念3.常见注解…

底层逻辑2

有些创业者,在3D打印⽕爆的时候做3D打印,在VR(虚拟现 实)蓬勃发展的时候转⾏做VR,在区块链成为热⻔话题的时候摇身⼀ 变成了区块链专家,⽽⼈⼯智能⽕了以后,他们⼜全身⼼投⼊⼈⼯智 能这⼀⾏。再…

200 222222

101. 为了实现公司占领北方地区市场的战略目标,一个项目启动了。该项目按时完成并交付产品,各指标均符合要求,成本还有所节约。但由于竞争对手加快研发速度抢先产品上市,公司并没有赢得本该赢得的市场份额。应该如何评价本项目&am…

windows安装proget实现nuget私有包部署

下载proget 官网 下载地址 免费下载 安装proget 下载完成之后双击安装 选择ProGet 默认选择即可 也可以指定数据库,SQL Server数据库 Server服务器名;Database数据库名;User Id用户名;Password密码 Serverlocalhost;DatabaseProGet2;User Idsa;Passwordxxxx…