Prometheus告警配置咨询:计数器持续上升及特定标签告警
Prometheus告警配置问题解答
A. docker_push_messages_api_failed_total 告警配置
针对counter类型的失败消息指标,要监控1小时内是否持续上升,你的两个表达式里:
increase(docker_push_messages_api_failed_total[1h]) > 0是正确的。increase函数专门用来计算counter指标在指定时间窗口内的增量,只要增量大于0,就说明这1小时内失败数在持续上升(至少有新增失败)。avg_over_time(docker_push_messages_api_failed_total[1h])不适合这个场景。counter是累计值,avg_over_time取的是1小时内指标值的平均值,这个值上升可能只是因为counter本身基数大,并不代表有新增的失败。比如counter停在某个值不动,平均值也会保持在那个值,无法反映是否持续上升。
B. flight_api_calls_to_mq_total{status="transit"} 告警配置
这个场景下increase函数是适用的,具体用法要看你的告警需求:
- 如果是要监控1小时内有持续的transit状态调用发生,可以用:
该表达式返回1小时内该状态下调用数的增量,只要增量大于0,就说明这段时间内一直有transit状态的请求(至少有新增)。increase(flight_api_calls_to_mq_total{status="transit"}[1h]) > 0 - 如果是要监控transit状态的调用频率是否持续保持在某个阈值以上(比如每秒至少1次),用rate函数更合适:
rate函数计算的是时间窗口内的平均每秒增量,能更精准反映调用的持续频率。rate(flight_api_calls_to_mq_total{status="transit"}[1h]) > 1
内容的提问来源于stack exchange,提问作者Rafa S
相关产品推荐
相关产品推荐

