前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prometheus alerts告警的三种状态

Prometheus alerts告警的三种状态

原创
作者头像
空洞的盒子
发布2024-07-11 10:37:02
1420
发布2024-07-11 10:37:02
举报
文章被收录于专栏:JD的专栏

通常我们使用Prometheus来存储不同explorer采集器采集的监控指标数据,为了提高服务的可用性,降低故障率通常会使用alert rule来进行不同监控指标的监测并结合alertmanager进行告警的推送。

在Prometheus中alerts告警共有三种状态。分别为inactive,pending,firing;

1. inactive

含义:告警规则在当前评估周期内没有触发。

触发条件:告警条件未满足。

描述:在这个状态下,Prometheus 评估告警规则时,发现条件不满足,因此告警状态为 inactive。此状态表示没有检测到任何问题。

2. pending

含义:告警条件已经满足,但还没有达到设定的持续时间。

触发条件:告警条件满足,但持续时间未达到 for 指定的时间长度。

描述:当告警规则的条件首次满足时,告警进入 pending 状态。此时 Prometheus 会等待一段时间(由 for 参数指定),如果在这段时间内条件依然满足,告警状态将转变为 firing。如果在这段时间内条件不再满足,告警将返回到 inactive 状态。

3. firing

含义:告警条件已经满足并持续了设定的时间长度。

触发条件:告警条件满足并持续达到或超过 for 参数指定的时间长度。

描述:当告警在 pending 状态下满足条件的持续时间超过 for 参数指定的时间长度时,告警状态将转变为 firing。此时告警将被触发并发送到 Alertmanager 或其他通知渠道。firing 状态表示系统中存在问题且需要关注。

状态转换示意图
状态转换示意图

样例:

代码语言:yaml
复制
groups:
- name: example
  rules:
  - alert: HighCPUUsage
    expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "High CPU usage detected"

inactive:在过去的评估周期中,CPU 使用率低于 90%。

pending:CPU 使用率超过 90%,但尚未超过 5 分钟。

firing:CPU 使用率超过 90%,并且已经持续了至少 5 分钟。

总结

inactive:告警条件未满足。

pending:告警条件满足,但持续时间未达到设定的阈值。

firing:告警条件满足并且持续时间达到或超过设定的阈值,告警被触发。

在实际应用中,我们可以根据告警的具体状态,进行不同的逻辑处理。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. inactive
  • 2. pending
  • 3. firing
  • 总结
相关产品与服务
Prometheus 监控服务
Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档