You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grafana面板使用模板表达式自定义图例失效问题求助

解决Grafana v10.2.2时间序列面板自定义图例模板不生效的问题

问题根源

你混淆了Loki查询模板函数和Grafana图例自定义的模板语法——Loki的模板函数是用于LogQL查询语句中的标签处理,而Grafana时间序列面板的图例自定义使用的是Grafana自身的Go模板语法,两者的变量环境和语法适用场景完全不同,这也是你之前的if/else语句直接被输出的原因。

正确解决方案

针对你的需求(app标签存在则显示其值,否则显示“Unknown”),有两种简洁有效的写法:

方法1:使用Go模板的条件判断

在图例自定义输入框中填入:

{{ if .Labels.app }}{{ .Labels.app }}{{ else }}Unknown{{ end }}

这里的.Labels是Grafana在图例模板中暴露的内置变量,用于访问当前时间序列的所有标签集合。

方法2:使用Grafana内置的label_value函数(更简洁)

直接调用Grafana提供的label_value函数,它支持默认值参数:

{{ label_value . "app" "Unknown" }}

该函数会自动判断app标签是否存在,存在则返回标签值,不存在则返回你指定的“Unknown”。

验证步骤

  1. 打开时间序列面板的配置界面,切换到「图例」选项卡。
  2. 将「图例名称」设置为「自定义」。
  3. 在输入框中填入上述任一表达式,保存面板后查看图例效果。

内容的提问来源于stack exchange,提问作者Diego Rafael Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:43:19