首页 > 解决方案 > 从系列结果 PromQL 中省略标签

问题描述

假设我写了一个这样的基本 PromQL 查询

询问: kube_deployment_spec_replicas{}

结果: kube_deployment_spec_replicas{deployment="mydeployment",endpoint="myendpoint",instance="myinstance",job="myjob",namespace="default",pod="mypod",service="myservice"}

有没有一种干净的方法可以从结果时间序列中省略instancepod删除?

期望: kube_deployment_spec_replicas{deployment="mydeployment",endpoint="myendpoint",job="myjob",namespace="default",service="myservice"}

标签: prometheuspromqlprometheus-operatorkube-state-metrics

解决方案


尝试使用类似于 Sergio 已经建议的以下内容:

sum(kube_deployment_spec_replicas) without (instance, pod)

此查询将从结果中删除instancepod标签。请注意,如果有多个kube_deployment_spec_replicas具有相同(instance, pod)标签集的时间序列,查询将无法按预期工作。在这种情况下,查询将总结这些时间序列。

ps MetricSQL提供了更明显的解决方案来删除带有label_del函数的标签:

label_del(kube_deployment_spec_replicas, "instance", "pod")

推荐阅读