如何在Prometheus查询中添加标签过滤器?
kube_pod_info
kube_pod_info {created_by_kind =“ ReplicaSet”,created_by_name =“ alertmanager-6d9f74d4c5”,instance =“ kube-state-metrics:8080”,job =“ kube-state-metrics”,namespace =“ test”,pod =“ alertmanager-6d9f74d4c5-xlqrv“}
kube_pod_labels
kube_pod_labels {instance =“ kube-state-metrics:8080”,job =“ kube-state-metrics”,label_app =“ alertmanager”,label_pod_template_hash =“ 6d9f74d4c5”,namespace =“ test”,pod =“ alertmanager- 6d9f74d4c5-xlqrv”,label_source =“ k8s”}
在这里,我在prometheus中有kube_pod_info和kube_pod_labels的kube状态指标信息。
kube_pod_info{namespace="test"}
--->通过名称空间测试过滤pod。
在这里,我也想包括基于标签的过滤器。我在kube_pod_labels中有一个名为“ label_source =“ k8s”的标签。如何加入kube_pod_info和kube_pod_labels来应用标签过滤器?
答案 0 :(得分:0)
您可以使用+
运算符来加入指标。在这里,group_left()
将包含额外的标签:label_source
,来自正确的指标kube_pod_labels
。您要加入的指标被强制设为零(即0 * kube_pod_labels
),这样它就不会影响第一个指标的结果。
(
kube_pod_info{namespace="test"}
)
+ on(namespace) group_left(label_source)
(
0 * kube_pod_labels
)