我正在使用 Grafana 和 Prometheus 来显示来自 Kubernetes 集群的 Pod 的数据。在这里,我按名称显示每个 Pod 的内存使用情况:
sum (container_memory_working_set_bytes{namespace="namespace1", image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}) by (pod_name)
它为每个 pod 提供了正确的结果。例如:
namespace1-eventstore-1
namespace1-eventstore-0
avsandbox-X-64ff4d-rl9z6
avsandbox-X-64ff4d-ldfnx
avsandbox-Y-7d9df9ddff-asdf
avsandbox-Y-7d9df9ddff-dfas
avsandbox-Z-5957dbaf58dt-gds24
avsandbox-Z-5957dbaf58dt-g4gd7
现在我想用它们各自的名字对它们求和以获得以下结果或我能得到的最接近的结果
namespace1-eventstore
avsandbox-X
avsandbox-Y
avsandbox-Z
所以总而言之,我想总结在 second 之前具有相同名称的所有内容-
。我怎样才能做到这一点?
编辑。:这是我正在寻找的进一步示例(希望提供实际示例和总体思路会有所帮助)
sum (container_memory_working_set_bytes{namespace="namespace1", image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}) by (pod_name="([a-zA-Z0-9]+-[a-zA-Z0-9])-.*")
但由于语法原因,这是不可能的。