You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Grafana告警:指定Kafka消费组Lag值持续X分钟不变

配置Grafana告警监控Kafka消费组Lag持续未变化的情况

需求说明

针对特定Kafka消费组,当该组的Lag求和值达到指定阈值(如1500)且持续X分钟保持不变时,触发Grafana告警,识别消费组消息处理停滞的状态。

告警查询语句

使用Prometheus的changes()函数检测指标在指定时间窗口内是否无变化,结合Lag阈值条件,最终查询语句如下:

sum(kafka_consumergroup_lag{consumergroup="CONSUMER_GRP_NAME"}) by (consumergroup) >= 1500 
and 
changes(sum(kafka_consumergroup_lag{consumergroup="CONSUMER_GRP_NAME"}) by (consumergroup)[Xm]) == 0
  • 替换CONSUMER_GRP_NAME为实际需要监控的消费组名称
  • 替换X为需要监控的持续分钟数(如5代表5分钟)
  • changes(metric[Xm]) == 0表示该指标在X分钟内没有任何数值变化
  • 前置的>=1500确保只有当Lag达到阈值且停滞时才触发告警,避免无消息时的误报

Grafana告警配置步骤

  1. 打开已有的Kafka消费者Lag面板,点击面板右上角菜单,选择Alert进入告警配置页面
  2. 在Query标签页,选择数据源为Prometheus,将上述查询语句填入查询框
  3. 切换到Alert conditions标签页,设置告警触发条件:
    • 条件类型选择Query result
    • 匹配条件设置为Is above,阈值填0(满足条件时查询会返回消费组条目,结果值大于0)
  4. 在Evaluation behavior中,设置Evaluation interval(评估间隔),建议设为比X分钟小的数值(如1分钟),确保及时检测到持续停滞状态
  5. 切换到Notifications标签页,选择已配置的通知渠道(如邮件、Slack),设置告警标题和描述:
    • 标题示例:Kafka消费组{{consumergroup}}Lag停滞告警
    • 描述示例:消费组{{consumergroup}}的当前Lag值为{{value}},已持续{{X}}分钟未变化,消息处理可能停滞
  6. 保存告警配置

验证方法

  • 模拟消费停滞场景:暂停该消费组的消费者进程,观察Lag值保持不变X分钟后,是否触发告警通知
  • 在Prometheus UI中执行上述查询语句,确认消费停滞时能返回对应消费组条目,正常消费时无结果返回

内容的提问来源于stack exchange,提问作者dheeraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:25:21