sum(container_memory_working_set_bytes{image!="",name=~"^k8s_.*"}) by (pod_name)
pod名后面跟着一个由K8S定义的散列,所以我有一些pod名,比如:
weave-net-kxpxc weave-net-jjkki weave-net-asdkk
weave-net
我想收集属于同一个应用程序的所有播客的内存。
因此,查询将对所有 编织网 将结果放入一个名为 weave
编织网
weave
{pod_name="weave-net"} 10
而不是
{pod_name="weave-net-kxpxc"} 5 {pod_name="weave-net-jjkki"} 3 {pod_name="weave-net-asdkk"} 2
有没有可能,如果有,怎么办?
你可以用 label_replace
sum(label_replace(container_memory_working_set_bytes{image!="",name=~"^k8s_.*"}), "pod_set", "$1", "pod_name", "(.*)-.{5}") by (pod_set)
你将包括一个新的标签( pod_set )与第一个组($1)匹配的 pod_name 标签。然后你把新标签加起来
pod_set
pod_name