Prometheus 一条告警的触发流程、等待时间
Prometheus 一条告警的触发流程、等待时间
报警处理流程如下:
1. Prometheus Server监控目标主机上暴露的http接口(这里假设接口A),通过上述Promethes配置的'scrape_interval'定义的时间间隔,定期采集目标主机上监控数据。
2. 当接口A不可用的时候,Server端会持续的尝试从接口中取数据,直到"scrape_timeout"时间后停止尝试。这时候把接口的状态变为“DOWN”。
3. Prometheus同时根据配置的"evaluation_interval"的时间间隔,定期(默认1min)的对Alert Rule进行评估;当到达评估周期的时候,发现接口A为DOWN,即UP=0为真,激活Alert,进入“PENDING”状态,并记录当前active的时间;
4. 当下一个alert rule的评估周期到来的时候,发现UP=0继续为真,然后判断警报Active的时间是否已经超出rule里的‘for’ 持续时间,如果未超出,则进入下一个评估周期;如果时间超出,则alert的状态变为“FIRING”;同时调用Alertmanager接口,发送相关报警数据。
5. AlertManager收到报警数据后,会将警报信息进行分组,然后根据alertmanager配置的“group_wait”时间先进行等待。等wait时间过后再发送报警信息。
6. 属于同一个Alert Group的警报,在等待的过程中可能进入新的alert,如果之前的报警已经成功发出,那么间隔“group_interval”的时间间隔后再重新发送报警信息。比如配置的是邮件报警,那么同属一个group的报警信息会汇总在一个邮件里进行发送。
7. 如果Alert Group里的警报一直没发生变化并且已经成功发送,等待‘repeat_interval’时间间隔之后再重复发送相同的报警邮件;如果之前的警报没有成功发送,则相当于触发第6条条件,则需要等待group_interval时间间隔后重复发送。
同时最后至于警报信息具体发给谁,满足什么样的条件下指定警报接收人,设置不同报警发送频率,这里有alertmanager的route路由规则进行配置。
1、等待时间1
查看配置文件:vim prometheus.yml
global:
# 数据采集间隔
scrape_interval: 15s
# 评估告警周期
evaluation_interval: 15s
# 数据采集超时时间默认10s
# scrape_timeout
2、等待时间2
配置文件:vim alertmanager.yml
# route标记:告警如何发送分配
route:
# group_by:采用哪个标签作为分组的依据
group_by: ['alertname']
# group_wait:分组等待的时间
group_wait: 10s
# group_interval:上下两组发送告警的间隔时间
group_interval: 10s
# repeat_interval:重复发送告警时间。默认1h
repeat_interval: 1m
# receiver 定义谁来通知报警
receiver: 'mail'
最新文章
- 基于Spring Mvc实现的Excel文件上传下载
- ABP框架详解(四)Feature
- CC254x(cc2540/cc2541)的微信AirSync调试笔记
- compass项目监控文件报 /usr/bin/env 找不到文件
- 搭建SpringMVC+MyBatis开发框架五
- java-基础练习题1
- codis集群和redis cluster的优劣对比
- array_column php 函数
- cavium octeon 处理器启动总线Bootbus 简介
- js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年
- windows之实现3D立体效果的三种方法
- hibernate之关于使用连接表实现多对一关联映射
- BOM基础知识
- 关于React Native 安卓首屏白屏优化
- HDU-魔咒词典(字符串hash)
- 深入理解 path-to-regexp.js 及源码分析
- 深入浅出php socket编程
- Laya播放unity特效
- 字母统计-map
- STL_算法_01_查找算法
热门文章
- Ubuntu16.04的搭建l.2.t.p.d(宿舍访问公司内网)
- EM算法-完整推导
- java中方法的重载和覆盖分别要满足的条件
- Linux中断管理 (1)Linux中断管理机制【转】
- (十)OpenStack---M版---双节点搭建---Heat安装和配置
- JS高阶---继承模式(原型链继承)
- PDFium-PDF开源之旅
- MySQL数据库 存储引擎,创建表完整的语法,字段类型,约束条件
- js中,null, '',undefined的区别
- 获取客户端IP地址的三个HTTP请求头的区别