6

假设我写了一个这样的基本 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"}

4

2 回答 2

5

尝试使用类似于 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")
于 2020-07-05T13:21:21.023 回答
1

您需要使用 Prometheus 查询运算符。您可以根据用例使用 avg 或 sum。

您可以在这里查看更多信息:这里

于 2019-11-18T17:35:03.880 回答