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'

最新文章

  1. 基于Spring Mvc实现的Excel文件上传下载
  2. ABP框架详解(四)Feature
  3. CC254x(cc2540/cc2541)的微信AirSync调试笔记
  4. compass项目监控文件报 /usr/bin/env 找不到文件
  5. 搭建SpringMVC+MyBatis开发框架五
  6. java-基础练习题1
  7. codis集群和redis cluster的优劣对比
  8. array_column php 函数
  9. cavium octeon 处理器启动总线Bootbus 简介
  10. js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年
  11. windows之实现3D立体效果的三种方法
  12. hibernate之关于使用连接表实现多对一关联映射
  13. BOM基础知识
  14. 关于React Native 安卓首屏白屏优化
  15. HDU-魔咒词典(字符串hash)
  16. 深入理解 path-to-regexp.js 及源码分析
  17. 深入浅出php socket编程
  18. Laya播放unity特效
  19. 字母统计-map
  20. STL_算法_01_查找算法

热门文章

  1. Ubuntu16.04的搭建l.2.t.p.d(宿舍访问公司内网)
  2. EM算法-完整推导
  3. java中方法的重载和覆盖分别要满足的条件
  4. Linux中断管理 (1)Linux中断管理机制【转】
  5. (十)OpenStack---M版---双节点搭建---Heat安装和配置
  6. JS高阶---继承模式(原型链继承)
  7. PDFium-PDF开源之旅
  8. MySQL数据库 存储引擎,创建表完整的语法,字段类型,约束条件
  9. js中,null, '',undefined的区别
  10. 获取客户端IP地址的三个HTTP请求头的区别