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"}
- 重组src1、src2、src3的值,将他们用
- 实际应用:
first_name和last_name通过标签值组合,得到full_namelabel_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"}
持续更新