【问题标题】:Prometheus : How to check if there is atleast one time series for a given metric and label combination?Prometheus:如何检查给定指标和标签组合是否存在至少一个时间序列?
【发布时间】:2021-08-09 15:35:27
【问题描述】:

我有指标 LATENCY 和标签 status。 我想在LATENCYstatus=CRITICAL 时发出警报

LATENCY{status="CRITICAL"}

LATENCY 状态只有在延迟超过阈值时才会很关键。 如何检查LATENCY{status="CRITICAL"}是否至少有一个时间序列?

我用了expr: absent(LATENCY{status="CRITICAL"}) == 0,但是没用。

【问题讨论】:

  • count(LATENCY{status="CRITICAL"}) >0?
  • @anemyte 非常感谢,它有效!只是好奇我可以给 expr: LATENCY{status="CRITICAL"} 吗?如果有一个或多个矢量元素,则警报将被视为处于活动状态

标签: prometheus prometheus-alertmanager prometheus-operator prometheus-node-exporter prometheus-blackbox-exporter


【解决方案1】:

首先你可以试试下面的表达式:

count(LATENCY{status="CRITICAL"}) > 0

如果没有按预期工作,请尝试以下方法:

count(LATENCY{status="CRITICAL"} or vector(0)) > 1

【讨论】:

  • 非常感谢,它有效!只是好奇我可以给 expr: LATENCY{status="CRITICAL"} 吗?如果有一个或多个矢量元素,则警报将被视为处于活动状态
  • 表达式必须返回真或假。
  • 根据文档“只要警报表达式在给定时间点产生一个或多个矢量元素,警报就会被视为这些元素的标签集的活动。”我错过了什么吗? prometheus.io/docs/prometheus/latest/configuration/…
  • 嗯...我认为你是对的,我不知道为什么 "LATENCY(status="CRITICAL"}" 不起作用。
猜你喜欢
  • 1970-01-01
  • 2022-01-13
  • 2019-12-22
  • 2020-11-09
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-14
相关资源
最近更新 更多