prometheus汇聚函数功能个人理解

857 阅读1分钟

官网Function解释

label_join

  • 作用: 将时间序列中标签的值进行重组,可以将新的值赋值给一个新的标签,也可以赋值给已存在的标签,将其覆盖。dst_label只能有一个,src_label可以是任意数量。分隔符可以是任意字符(某些特殊字符除外),也可以为空。
  • 表达式: label_join(v instant-vector, dst_label string, separator string, src_label_1 string, src_label_2 string, ...)
  • 官方示例
    • 重组src1、src2、src3的值,将他们用, 连接并赋值给foo标签
      label_join(up{job="api-server",src1="a",src2="b",src3="c"}, "foo", ",", "src1", "src2", "src3")
      得到:
      up{job="api-server",src1="a",src2="b",src3="c", foo="a,b,c"}
      
    • 重组src1、src2、src3的值,将他们用, 连接并赋值给src1标签
      label_join(up{job="api-server",src1="a",src2="b",src3="c"}, "src1", ",", "src1", "src2", "src3")
      得到:
      up{job="api-server",src1="a,b,c",src2="b",src3="c"}
      
  • 实际应用: first_namelast_name通过标签值组合,得到full_name
    label_join(user_info{first_name="Tom", last_name="Cat"}, "full_name", "", "first_name", "last_name")
    得到:
    user_info{first_name="Tom", last_name="Cat", full_name="TomCat"}
    

持续更新