【发布时间】:2021-11-08 15:51:19
【问题描述】:
我尝试在 PromQL 表达式中组合两个不同的指标来编写警报。其中一个指标,比如is_up 表示节点是否启动。另一个指标is_active 表示该节点上是否正在运行。
他们每个人都有可以用来比较它们的标签,但是标签在每个人身上被称为不同的东西。所以在is_up 我们有label_a="node_id" 在is_active 我们有label_b="node_id" 其中node_ids 是相同的。
如果标签名称相同,例如label,我可以编写如下查询:
count(is_up) by (label) unless count(is_active) by (label)
但这是不可能的。我无法在全局配置中重新标记它,因为 is_up 上已经有一个名为 label_b 的标签,但它具有不同的格式:/
所以我目前的想法是(使用 PromQL,所以在评估时间)从 is_up 中删除 label_b 并将标签 label_a 重命名为 label_b
我之前看到过这个主题的答案:https://stackoverflow.com/a/60894489/16546473,但我不确定它是否适用于我,因为它只是在谈论重命名标签,但我需要
- 从
is_up中删除label_b,然后 - 将
is_up中的label_a重命名为label_b,以便可以直接与is_active中的label_b进行比较
让我知道这是否有意义
【问题讨论】:
标签: prometheus promql prometheus-alertmanager prometheus-operator prometheus-node-exporter