如何在Grafana中针对SpringBoot应用错误计数增量配置告警
在Grafana中基于Prometheus错误计数创建告警的步骤与查询条件
一、核心查询条件
你的error_count是Micrometer注册的计数器类型指标,只会单调递增,因此不能直接用error_count > 0(只要出现过一次错误,该值就永远大于0),必须通过检测一段时间内的增量判断是否有新错误产生,推荐两种查询方式:
1. 检测固定时间窗口内的总增量
increase(error_count[5m]) > 0
- 含义:统计最近5分钟内
error_count的总增量,增量大于0则说明这段时间有新错误发生 - 适用场景:关注一段时间内是否出现错误,而非实时错误频率
2. 检测每秒错误增量速率
rate(error_count[5m]) > 0
- 含义:计算最近5分钟内
error_count的平均每秒增量,速率大于0则说明当前有持续错误产生 - 适用场景:监控错误的发生频率
如果指标带有标签(比如区分接口、异常类型),可通过标签过滤实现精准告警:
increase(error_count{endpoint="/api/test", exception_type="NullPointerException"}[5m]) > 0
二、Grafana告警创建步骤
- 进入Grafana控制台,点击右上角「Alerting」菜单,选择「Alert rules」
- 点击「New alert rule」进入规则创建页面
- 配置查询:
- 选择关联的Prometheus数据源
- 在查询输入框中填入上述PromQL语句
- 配置告警条件:
- 在「Condition」模块,设置触发逻辑为「查询结果 > 0」(可按需调整阈值,比如增量大于5时触发告警)
- 设置评估间隔(比如1分钟),控制告警检测频率
- 配置告警通知:
- 切换到「Notifications」标签,选择已配置的通知渠道(邮件、即时通讯工具等)
- 自定义告警标题与描述,例如:
标题:应用错误告警
描述:服务在最近5分钟内新增错误数:{{ $value }},请及时排查
- 保存规则:设置规则名称、所属文件夹,完成后保存即可
三、注意事项
- 时间窗口(
[5m])可按需调整:窗口过小易触发误报,过大则会延迟告警 - 可配置告警恢复条件:在规则中设置「For」字段(比如2分钟),当连续2个评估周期内增量为0时,自动标记告警为恢复状态
- 建议先在Grafana的「Explore」功能中测试PromQL语句,确认查询结果符合预期后再配置告警
内容的提问来源于stack exchange,提问作者Amulya M
相关产品推荐
相关产品推荐

