如何配置Grafana:Pod重启触发警报,成功时触发恢复警报?
CronJob/Job关联Pod的重启告警与恢复告警配置
一、红色重启告警规则(触发条件:Pod发生重启)
原规则覆盖指定命名空间下所有Pod,需调整为仅匹配CronJob或其关联Job创建的Pod。利用Job生成的Pod默认携带的job-name标签筛选目标实例,调整后的规则如下:
increase(kube_pod_container_status_restarts_total{namespace="mynamespace", job_name=~".+"}[30m]) > 0
- 说明:
job_name=~".+"确保仅针对Job/CronJob调度的Pod;> 0表示最近30分钟内重启次数有新增,触发红色告警。
二、绿色恢复告警规则(触发条件:Pod重启后运行成功)
根据Pod的运行类型,分两种场景配置恢复规则:
场景1:一次性任务Pod(执行完成即终止)
针对一次性Job/CronPod,恢复状态指Pod成功完成任务,规则如下:
kube_pod_status_phase{namespace="mynamespace", job_name=~".+", phase="Succeeded"} == 1 and increase(kube_pod_container_status_restarts_total{namespace="mynamespace", job_name=~".+"}[1h]) > 0
- 说明:第一个条件匹配处于成功完成状态的Pod,第二个条件确认该Pod最近1小时内发生过重启,二者同时满足时触发绿色恢复告警。
场景2:长期运行型Pod(持续提供服务)
针对需长期运行的Job Pod,恢复状态指Pod重启后稳定运行且无新重启,规则如下:
kube_pod_container_status_running{namespace="mynamespace", job_name=~".+"} == 1 and increase(kube_pod_container_status_restarts_total{namespace="mynamespace", job_name=~".+"}[30m]) == 0 and increase(kube_pod_container_status_restarts_total{namespace="mynamespace", job_name=~".+"}[1h]) > 0
- 说明:第一个条件匹配正常运行的容器,第二个条件确保最近30分钟无新重启,第三个条件确认Pod曾在最近1小时内重启,三者同时满足时触发恢复告警。
三、Grafana配置注意事项
- 给红色告警设置
Critical级别,绑定红色通知通道;给恢复告警设置OK级别,绑定绿色通知通道。 - 配置合适的评估间隔与
for时长(如for: 1m),避免瞬时波动导致误告警。
内容的提问来源于stack exchange,提问作者fpopic
相关产品推荐
相关产品推荐

