代码之家  ›  专栏  ›  技术社区  ›  Mornor

普罗米修斯-按regex聚合和重新标记

  •  1
  • Mornor  · 技术社区  · 6 年前

    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

    {pod_name="weave-net"}            10
    

    而不是

    {pod_name="weave-net-kxpxc"}       5
    {pod_name="weave-net-jjkki"}       3
    {pod_name="weave-net-asdkk"}       2
    

    有没有可能,如果有,怎么办?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Iván Alegre    5 年前

    你可以用 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 标签。然后你把新标签加起来