【博客623】Prometheus一条告警的触发流程与等待时间

news/2024/5/18 22:21:53 标签: prometheus, 安全

Prometheus一条告警的触发流程与等待时间

1、与告警等待时间相关的参数

prometheus.yml

global:
  # 数据采集间隔
  scrape_interval:     15s 
  # 评估告警周期
  evaluation_interval: 15s 
 # 数据采集超时时间默认10s
 # scrape_timeout

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'

2、报警处理流程:

  • 1、Prometheus通过scrape_interval定义的时间间隔,定期采集目标主机上监控数据。
  • 2、当目标不可用的时候,Server端会持续的尝试从目标metrics接口中取数据,直到"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时间间隔后重复发送。

3、抓取,评估和警报

在这里插入图片描述

4、告警的生命周期

在这里插入图片描述
在这里插入图片描述

5、alertmanager部分等待分析

在这里插入图片描述
在这里插入图片描述

注意:group_wait与group_interval的重要区别

即:group_wait决定每一个新告警组需要等待多久才发送出去,group_interval决定同一个告警组的告警间隔。因此一条告警到了alertmanager如果是一个新组那么等待group_wait的时间,如果是加入了已经有的组,那么这个组是新组则等待group_wait的时间,否则等待group_interval的时间


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

相关文章

Allegro负片层不显示反盘的原因和解决办法

Allegro负片层不显示反盘的原因和解决办法 在用Allegro做PCB设计的时候,负片设计是较为常用的一种方式,有时会出现打开负片层却看不到反盘的情况,如下图 L2层是负片层 L2层仍然只能看到盘 如何才能看到反盘显示的效果,具体操作如下 首先确定L2层层叠里面设置的是负片

Git在日常使用过程中的常用命令

文章目录Git在日常使用过程中的常用命令写在前面1. 创建本地仓库2. 将本地文件添加到暂存区3. 将本地文件从暂存区撤销4. 将修改提交到本地仓库5. clone远程版本库到本地。6. 为本地版本库添加一个远程仓库7. 推送到远程仓库8. 将远程分支内容拉取到本地Git在日常使用过程中的常…

[测试]性能测试

最近遇到一个性能测试的问题,虽然最后确定是一个乌龙问题。这里还是总结一下,看是否有可以从中学到什么。 场景: 月底要出一个新版本。测试人员发现这个新版本在相同的负载的情况下,会有队列使用负荷过高的警告。之前的版本没有。…

【C语言】编程初学者入门训练(14)

文章目录131. kiki学结构体和指针132. kiki定义电子日历类133. 圣诞树134. 超级圣诞树131. kiki学结构体和指针 问题描述:KiKi学习了结构体和指针,他了解了结构体类型可以定义包含多个不同类型成员,而指针本质是内存地址,是引用数…

分享111个HTML体育竞技模板,总有一款适合您

分享111个HTML体育竞技模板,总有一款适合您 111个HTML体育竞技模板下载链接:https://pan.baidu.com/s/1JmjlNVApPLVWnSEN5VlILQ?pwd5kzl 提取码:5kzl Python采集代码下载链接:采集代码.zip - 蓝奏云 响应式户外攀岩运动宣传…

基于AIOT技术的智慧教室智能物联管控系统设计与实现(提纲)

摘要随着物联网技术的不断发展和智能化的不断推进,智慧教室已经成为现代教育中不可或缺的一部分。本文提出了一种基于AIOT技术的智慧教室智能物联管控系统设计与实现方案,该方案集成了物联网技术、人工智能技术、大数据技术和云计算技术等先进技术&#…

用VBA遍历Word中表格各单元格的正确方法

我们来看一个Word文档中的两个表格,第一个表格如下: RowIndex1 ColumnIndex1 RowIndex1 ColumnIndex2 RowIndex1 ColumnIndex3 RowIndex1 ColumnIndex4 RowIndex2 ColumnIndex1 RowIndex2 ColumnIndex2 RowIndex2 ColumnIndex3 RowIndex2 ColumnI…

rsync:基础应用实例

简介:rsync(remote synchronize)是一种远程和本地文件同步工具,它可以实现远程和本地文件的增量同步,从而减少传输的数据量。作为Liunx/Unix下的一个远程数据同步工具,它可通过LAN/WAN快速同步多台主机间的…