我正在使用 Prometheus alertmanager 对某些指标设置警报。其中一个指标是使用group by
查询,然后在该通用查询上设置警报。
示例:Grafana 仪表板上用于计算自上次成功训练模型以来的时间的指标:
time() - max_over_time(max(spark_job_success_time{model=~"mymodel.*"}) by (model) [24h:1m])
此查询为每个model
名称与 匹配的时间序列创建一个单独的时间序列mymodel.*
。
model='mymodel.abc'
我想在这个指标上设置一个警报(使用 Prometheus alertmanager),只要特定模型(比如)超过警报设置的阈值,就会触发该警报。
现在,表达式是这样的:
max(<the_above_query>) > 100
但这只会在一个人model
超过阈值时触发一次,并且对于后续也超过阈值的人不会触发此警报models
(即,无论多个模型超过警报中设置的阈值,最多触发一次)。
我想为每个创建一个警报,model
并希望在模型数量超过阈值时触发警报。如何使用 alertmanager 中的模板来做到这一点?