如何在Grafana中用分隔符拼接字段?含PromQL方案咨询
解决容器镜像版本拼接带分隔符的问题
方法一:在Grafana转换中添加分隔符
你当前用「Add field from calculation」拼接时,只需调整表达式,显式加入分隔符:, 具体操作:
- 进入面板的「Transform」选项卡,选择「Add field from calculation」
- 在「Calculation」下拉框选「Custom」
- 输入表达式:
${__field.labels.image_repository}:${__field.labels.image_tag} - 将新字段命名为
image_version,保存后就能得到foo/bar:1.2格式的结果
方法二:用PromQL直接完成标签拼接
PromQL提供label_join函数,可以直接在查询阶段将多个标签拼接成带指定分隔符的新标签,无需依赖Grafana转换。
示例查询:
avg by (image_version, severity) ( label_join( my_metric{namespace="$namespace"}, ":", "image_repository", "image_tag" ) )
函数说明:
label_join的第一个参数是目标指标- 第二个参数是分隔符(这里用
:) - 后续参数是需要拼接的标签名,按传入顺序组合
这样查询返回的结果会直接包含image_version标签,值为image_repository:image_tag的组合,之后直接在Grafana中使用这个标签即可。
内容的提问来源于stack exchange,提问作者nikobelia
相关产品推荐
相关产品推荐

