prometheus 告警机制 -(为什么告警发的不及时)

2023-05-16

为什么告警有时发的及时,有时发的慢

数据异常到监控发出告警的时间与多个参数相关,包括采集间隔,扫描间隔,group 发送间隔,告警持续时间 for 等。
最长的时间为 采集间隔 + 扫描间隔 + group 发送间隔 + 告警持续时间 for。
默认采集间隔,扫描间隔均为 60s,group 发送间隔设置为 30s,告警持续时间 1min。告警的最长最短时间为

  • 最长时间为 60s + 60s + 30s + 1min = 3min30s;
  • 告警的最短时间为 0s+0s+0s+1min=1min。

告警的生命周期

  1. 定期采集监控数据
  2. 定期扫描告警规则,发现告警发给 alertmanager,prometheus 页面能看到 alert ,状态为 pending
  3. 多次发送到 alertmanager,持续时长超过告警告警规则的 for 的 alert,prometheus 页面看到状态为 firing,准备发送。
  4. firing 状态的 alert 等待 group_interval 时间聚合发送。
    在这里插入图片描述

pending 状态告警
在这里插入图片描述

firing 状态告警
在这里插入图片描述

比如服务器内存超过 80%,持续 30s 发送告警。发送告警阶段如下

  1. 12:00:00 服务器内存使用 90%,达到告警值
  2. 12:00:10 promethues 开始采集,得到内存监控数据
  3. 12:00:20 promethues 开始扫描告警规则,发现内存使用量符合告警规则,发送告警信息给 alertmanager,此时告警处于 pending 状态,不会发送。
  4. 12:01:10 promethues 开始第二次采集,得到内存使用量数据。
  5. 12:01:20 promethues 开始第二次扫描告警规则,发现告警持续,计算持续时间超过 30s, 告警状态为 firing,准备发送告警。
  6. 12:01:50 group 聚合时间到,告警聚合发送。

虽然 12:00:30 就应该发出告警,实际在一分半之后的 12:01:50 才发出。

相关配置

alert: PodDown 
expr: min_over_time(kube_pod_container_status_ready{pod!~".*job.*|backup.*|minio-backup.*|clean-docker|dynamic-index-patterns|node-shell.*|.*jenkins.*"} [1m])== 0  
for: 1s # 持续多久确认报警信息
labels:
  group: CAAS
  severity: warning
annotations:
  summary: 'Container: {{ $labels.container }} down'
  message: 'Namespace: {{ $labels.namespace }}, Pod: {{ $labels.pod }} 服务不可用'

global:
  scrape_interval:     15s  # 数据采集时间,默认一分钟
  evaluation_interval: 15s  # 规则扫描时间,默认一分钟


group_wait: 10s # 分组等待的时间
group_interval: 30s # 上下两组发送告警的间隔时间。比如有同组的告警A和告警B,如果A触发告警,会等待30s,如果B在等待时间内也出发告警,会合并在一起发送,如果告警A 触发两次,告警A 发送后,30s 之后在发告警A第二次触发
repeat_interval: 12h # 重发间隔
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

prometheus 告警机制 -(为什么告警发的不及时) 的相关文章

  • 什么是实时数据库?

    实时数据库是数据库系统发展的一个分支 xff0c 它适用于处理不断更新的快速变化的数据及具有时间 限制的事务处理 实时数据库技术是实时系统和数据库技术相结合的产物 xff0c 研究人员希望利用数据库 技术来解决实时系统中的数据管理问题 xf
  • 带你阅读linux内核源码:linux内核源代码编程规范

    linux内核代码是许许多多遵循相同内核开发规范的牛人们的共同的创造的结晶 作为一名linux内核或者驱动开发工程师 xff0c 很有必要了解这些内核开发规范 好处有以下几个 xff1a 这些约定或者规范对我们阅读linux内核源码 了解设
  • linux进程上下文、中断上下文介绍,以及为什么软中断不能睡眠?

    linux内核的软中断处理程序中能不能睡眠 xff1f 这是一个值得讨论的问题 答案其实很简单 xff0c 那就是不能 因为Linux的软中断处理程序的运行上下文有可能是中断上下文 xff08 注意此处是有可能 xff0c 而并非一定 xf
  • VS2008用devenv.com命令行工具自动编译工程

    转自 xff1a http www cr173 com html 18500 1 html 在vs2008下面提供了devenv com命令行方式 我们可以从VS安装目录 MicrosoftVisual Studio 9 Common7 I
  • 使用ICMP协议检测网络状态

    ICMP xff08 Internet ControlMessages Protocol xff0c 网间控制报文协议 xff09 是TCP IP协议族的子协议 xff0c 是一种面向无连接的协议 xff0c 在IP和路由器之前传递控制消息
  • c++打印enum class

    span class token keyword enum span span class token keyword class span span class token class name A span span class tok
  • 使用strace查找Emacs启动阻塞的原因(exec-path-from-shell)

    原文地址 https www lujun9972 win blog 2019 09 26 使用strace查找emacs启动阻塞的原因 exec path from shell index html 之前就觉得我的Emacs启动好慢 xff
  • 为Linux安装虚拟PDF打印机

    原文地址 https lujun9972 github io blog 2020 04 11 为linux安装虚拟pdf打印机 index html 今天发现一个 CUPS PDF 项目 可以为 CUPS Common Unix Print
  • ubuntu系统启用shell远程登陆

    Ubuntu desktop系统安装后 xff0c 想使用shell远程登陆 xff0c 会提示 Connecting to 192 168 220 133 22 Could not connect to 39 192 168 220 13
  • 枚举类(ENUM)用法总结

    对于ENUM一直是比较陌生的 xff0c 在和某酷爱ENUM的大神合作时 xff0c 才慢慢接触到ENUM的用法 1 ENUM是什么 xff1f 首先ENUM是一个类 xff0c 不像String int之类的数据结构 xff0c 更类似于
  • Python循环结构练习2

    Problem A xff1a 循环结构 输出数列2 xff0c 5 xff0c 8 xff0c 11 xff0c 14 题目描述 输入正整数n xff08 n 100 xff09 xff0c 输出数列2 xff0c 5 xff0c 8 x
  • KVM网络模型之:PCI Passthrough

    目录 PCI Passthrough技术介绍和KVM中配置 案例 内核启用 重新启动虚拟机实例 PCI Passthrough技术介绍和KVM中配置 PCI Passthrough技术是虚拟化网卡的终极解决方案 xff0c 能够让虚拟机独占
  • 微信开放公众平台,扩展自定义类,定时提醒,定时发消息

    微信开放公众平台 xff0c 扩展自定义类 xff0c 定时提醒 xff0c 定时发消息 lt php class MyapiAction extends BaseAction public function index 微医疗 预约提醒
  • Ubuntu配置iptables规则

    Ubuntu配置防火墙 xff0c 并且开机iptables自启动规则 适用于CentOS 1 登录root账号 span class token comment 切换到root账号 span super 64 super span cla
  • Linux记录用户执行命令

    span class token shebang important bin bash span span class token comment By lumia98 64 vip qq com span span class token
  • Nginx规则配置实例

    配置某个ip或者页面禁止访问及跳转方法 server listen 80 server name www test com cn location proxy redirect off proxy set header host host
  • Debian 11.2安装ssh服务

    切换到root用户 更新软件源 span class token function apt get span update 安装ssh span class token function apt get span span class to
  • Python计算文件大小

    span class token comment usr bin env python span span class token comment coding utf 8 span span class token triple quot
  • Python获取文件内的下一行数据

    span class token comment usr bin env python span span class token comment Version 61 3 8 1 span span class token comment
  • iptables配置实例

    查看当前所有规则 iptables L n 查看所有规则 iptables nL line number 显示行 iptables nvL line number 显示行 清空所有配置 iptables F iptables X iptab

随机推荐

  • 利用Shell脚本校验数据一致性

    span class token shebang important bin bash span span class token comment span span class token comment 检测两台服务器指定目录下的文件一
  • Debian11系统Redis源码安装

    span class token shebang important bin bash span span class token comment Debian11 Redis6 2 6安装 span span class token co
  • iOS 根据文字内容设置cell 的高度

    今天学习一个简单的 根据内容的大小设置cell 的高度 第一步 建两个类 分别继承于UIViewController 和UITableViewCell 第二步 mainViewController h import lt UIKit UIK
  • Python下载GitHub数据

    配置文件 span class token punctuation span Source span class token punctuation span Source path span class token operator 61
  • pip 指定安装位置

    离线安装且指定位置 sudo pip3 install no index find links 61 requirements r requirements txt target 61 usr lib python3 dist packag
  • [微服务感悟] 服务雪崩与熔断器

    文章目录 什么是服务雪崩解决方式熔断器舱壁模式 服务隔离 什么是服务雪崩 之前工作中出现了这样的一个问题 xff0c 有一个业务服务 xff0c 它的功能是政府某部门的文件流转柜 那个业务中原本每个外部请求都有一个独立的线程池去处理任务 x
  • [微服务感悟] 很好理解的分布式事务

    事务是保证一系列操作是一个整体 xff0c 要么都执行 xff0c 要么都不执行 比如A给B转账 xff0c A扣钱了 xff0c B的账户的钱也要加上去 xff0c 不能出现A扣钱B不加钱 xff0c 或者B加钱A不扣钱的情况 在单体程序
  • 参加2020Jam初赛记录与部分题目解答

    Google Jam大赛是谷歌举办的一年一届的在线答算法题的的比赛 初赛比赛时长27小时 xff0c 一共有5道算法题 xff0c 总分100分 xff0c 获得分数30分和以上者 xff0c 就能晋级下一轮比赛 在这27小时内 xff0c
  • Cannot add task wrapper as a task with that name already exists - 问题解决

    问题描述 项目使用 gradle build 去打包 xff0c 报错 Cannot add task 39 wrapper 39 as a task with that name already exists xff0c 使用 gradl
  • K3s 无法下载镜像 failed to authorize/ failed to fetch anonymous token/ unexpected status/ 401 Unauthorized

    我需要部署公司功能节点进行测试 xff0c 考虑自己的 mac pro 内存很小只有 16g xff0c k8s 运行需要大量内存 xff0c 电脑可能要卡死 周边同学推荐装 k3s xff0c 它可以看作 k8s 的精简版 xff0c 删
  • 一看就懂的 RabbitMQ 使用教程

    一天 xff0c 阿强接到一个需求 xff0c 将公网的服务的执行结果通知到内网的服务上 阿强一想 xff0c 很简单阿 xff0c 只要在公网搭一个简单的消息服务 xff0c 给公网系统提供一个存储消息接口 xff1b 给内网系统提供一个
  • OOM 很可怕吗 -- minio-client 上传文件触发 OOM 排错

    不要把 OOM 问题当作一个可怕的难题 xff0c 也许对着报错堆栈日志看代码就能解决 问题描述 线上服务出现 OOM 的日志 xff0c 日志显示是 minio client 的错误 使用 minio client 版本是 3 0 10
  • AI 写代码来了 - github 的 AI 写代码插件 copilot 发布

    以前老在调侃 AI 自动写代码 xff0c 没想到这么快就成现实 这几天 github 出了 AI 写代码插件 xff0c 支持 vscode 编辑器 xff0c js xff0c py xff0c go 等语言 xff0c 看了介绍 xf
  • 枚举与字符串的转换

    枚举类型的使用优势没啥好说的 但经常需要将它与字串进行转换方便显示或其它需求 1 将枚举中的标示转成字符串 xff1a define enumToString value 64 value 将枚举转换成字符串 2 在常见的方案中 xff0c
  • springcloud trace SDK 自研方案

    SDK 形式 xff0c 利用 threadlocal 实现 trace http grpc rabbitMQ springcloud gateway 异步线程池这类常见场景 客户端在协议 header 中增加 x request id x
  • fluent-bit 按 pod 名生成不同索引

    1 实现效果 如果 pod 名为 prod xff0c 输出索引名为 prod 2021 01 24 EFK 版本 xff1a es 7 12 fluent bit 1 7 5 kibana 7 12 2 实现方式 读取日志数据中 kube
  • jar 迁移 mvn 私有库

    将 jar 从一个 mvn 库迁移另一个 mvn 库的办法 1 拉取 jar 到本地 mvn 库 创建拉取项目文件夹 xff0c 文件夹下创建 pom xml xff0c settings xml 两个文件 xff0c 填写要迁移的 jar
  • Elasticsearch 解决 log4j 安全漏洞 - 升级镜像

    一 概论 Apache Log4j 2 被披露出存在严重代码执行漏洞 xff0c 目前官方已发布正式安全公告及版本 xff0c 漏洞编号 xff1a CVE 2021 44228 xff0c 漏洞被利用可导致服务器被入侵等危害 公司 ES
  • Prometheus 实现 podDown 实时告警

    一 需求 每个 pod 重启 删除时 xff0c 都能发出告警 要及时和准确 二 告警架构 集群部署在 k8s 上 xff0c 告警使用 Prometheus 43 alertManager 43 prometheusManager xff
  • prometheus 告警机制 -(为什么告警发的不及时)

    为什么告警有时发的及时 xff0c 有时发的慢 数据异常到监控发出告警的时间与多个参数相关 xff0c 包括采集间隔 xff0c 扫描间隔 xff0c group 发送间隔 xff0c 告警持续时间 for 等 最长的时间为 采集间隔 43