首页 > 解决方案 > PromQL。如何添加来自不同指标的标签值

问题描述

如果我有两个指标:

kube_pod_container_status_restarts_total {..., pod="my_pod_name_42", ...}

container_memory_usage_bytes {..., pod_name="my_pod_name_42", cluster_name="megatron", ...}

我想为重启指标设置警报,但包含cluster_name标签。我可以以某种方式汇总来自不同指标的标签值吗?

例如警报:

increase(kube_pod_container_status_restarts_total{namespace="42"}[1h])>4    

需要以某种方式在megatron此处添加 ^,以便警报管理器在发送通知时能够使用此标签

标签: prometheusprometheus-alertmanagerpromql

解决方案


如何在 Prometheus 查询中“加入”两个指标?.

一项改进可能是通过执行以下操作(添加强制为 0 的指标)来强制您加入的指标不影响您的指标:

(
  max(consul_health_service_status{status="critical"}) 
  by (service_name,status,node) == 1
)
   + on(service_name,node) group_left(env)
(
   0 * consul_service_tags
)

推荐阅读