我有一个 grafana v10.2.2 仪表板时间序列面板,我正在努力自定义其上的图例。
根据文档,我可以使用如下模板来自定义显示的值,但我得到的是展位结果。
所用表达:
{{ if eq "1" "2" }} true {{ else }} false {{ end }}
我的实际用例是显示标签值
app
(如果已定义)或固定值“未知”(如果不存在)。
我用
if
和 unless
块进行了尝试,但似乎没有一个功能起作用,功能块被忽略了。
感谢您分享对此的任何想法。
让我们尝试实现真实案例:
My practical use case is to show a label value app if it is defined or the fixed value "Unknown" when it's absent.
让我们将其转换为:
app
标签应具有原始应用程序标签值,或者如果app
标签不存在,则app
标签应具有值Unknown
。
参见链接文档:
|中使用的文本模板格式行格式和 | label_format 支持函数的使用。
所以这不是Grafana功能(不是Grafana的时间序列
Legend
字段,看起来你已经使用过),而是Loki查询功能并且必须在LogQL查询中应用。
例如:
{
selector=~".+"
}
| json
| label_format app="{{ if .app }}{{ .app }}{{ else }}Unknown{{ end }}"
示例查询可能需要一些调整(如果有任何语法问题,...)
当然,真正的查询取决于您真实日志的格式。只需查看如何在
label_format
中使用上述模板的示例即可。只需使用 Grafana 时间序列 app
字段中的 Legend
标签(如 {{app}}
)。