【发布时间】:2020-11-30 23:42:28
【问题描述】:
我有一个计数器,例如user_actions,标签为user_id。当user_actions 对任何user_id 消失时,我想得到警报。
从字面上看,我需要absent_over_time(user_actions[60m]),但考虑到user_id 标签。
【问题讨论】:
标签: alert monitoring prometheus prometheus-alertmanager promql
我有一个计数器,例如user_actions,标签为user_id。当user_actions 对任何user_id 消失时,我想得到警报。
从字面上看,我需要absent_over_time(user_actions[60m]),但考虑到user_id 标签。
【问题讨论】:
标签: alert monitoring prometheus prometheus-alertmanager promql
我无法为此任务提出 PromQL 解决方案,但可以使用 MetricsQL 的 lag() 函数来实现它。例如,以下查询将返回过去 5 分钟内没有数据点的所有 user_actions 时间序列(请参阅查询中的 5*60)。查询在 60 分钟后停止注意到此类时间序列(请参阅方括号中的 60m):
lag(user_actions[60m]) > 5*60
在MetricsQL docs 中查看有关lag() 函数的更多详细信息。
【讨论】:
lag 函数