Grafana多值变量和PromQL查询标签过滤器
Grafana multi-value variables and PromQL query label filter
我需要查询我的 Kubernetes pods 的网络流量消耗并在 Grafana 仪表板中绘制 Prometheus 时间序列。
基本表达式是这样的:
sum by(pod) (rate(container_network_receive_bytes_total{}[1m]))
它会报告像“XXXX-57d84d77b7-px6g5”这样的 Pod 名称,其中 XXXX 是部署的名称,其余的如果由 Kubernetes 自动生成。
现在,我想给我的仪表板用户一个过滤器以按部署进行查询(每个都有一个或模式 pods),所以我创建了一个变量并通过查询将部署名称提取到那里,所以我在那里有 XXXX 或 ZZZZ,没有自动生成的 pards,很好很花哨,查询现在看起来像:
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"$deployment.*"}[1m]))
我的结果很好,神奇的作用。
现在,我启用"multi-value"和"all values"(带有“.*”表达式),我的考试查询变成
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"XXX|YYY|ZZZ.*"}[1m]))
显然,我只会得到 ZZZ 结果,要得到其余的结果,我的替代品必须变成 pod_name=~"XXX.*|YYY.*|ZZZ.*"
到现在为止,我已经尝试了很多我能想到的方法来使它正确,但是这个多值案例对我不起作用。
请问还有其他想法吗?
尝试使用 "$(deployment)-.*"
作为正则表达式,以便正确分配后缀。
我需要查询我的 Kubernetes pods 的网络流量消耗并在 Grafana 仪表板中绘制 Prometheus 时间序列。
基本表达式是这样的:
sum by(pod) (rate(container_network_receive_bytes_total{}[1m]))
它会报告像“XXXX-57d84d77b7-px6g5”这样的 Pod 名称,其中 XXXX 是部署的名称,其余的如果由 Kubernetes 自动生成。
现在,我想给我的仪表板用户一个过滤器以按部署进行查询(每个都有一个或模式 pods),所以我创建了一个变量并通过查询将部署名称提取到那里,所以我在那里有 XXXX 或 ZZZZ,没有自动生成的 pards,很好很花哨,查询现在看起来像:
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"$deployment.*"}[1m]))
我的结果很好,神奇的作用。
现在,我启用"multi-value"和"all values"(带有“.*”表达式),我的考试查询变成
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"XXX|YYY|ZZZ.*"}[1m]))
显然,我只会得到 ZZZ 结果,要得到其余的结果,我的替代品必须变成 pod_name=~"XXX.*|YYY.*|ZZZ.*"
到现在为止,我已经尝试了很多我能想到的方法来使它正确,但是这个多值案例对我不起作用。
请问还有其他想法吗?
尝试使用 "$(deployment)-.*"
作为正则表达式,以便正确分配后缀。