如何为Grafana链接添加条件处理$site变量全选场景?
实现方法
完全可行,你可以通过Grafana的模板化条件表达式来实现需求,具体操作如下:
- 编辑跳转Kibana的链接时,勾选Enable templating(开启模板化)选项。
- 把原来的参数串替换成下面的模板代码:
AND {{ if eq $site "{prod,preprod}" }}(site: prod OR site: preprod){{ else }}site: $site{{ end }}
更灵活的写法(适配站点列表变化)
如果后续要新增站点,不想每次修改模板,可以用字符串处理函数动态生成OR逻辑:
{{ $cleanVals := replace $site "{" "" | replace "}" "" }} AND {{ if eq $site "{prod,preprod}" }}({{ range $idx, $val := split $cleanVals "," }}{{ if ne $idx 0 }} OR {{ end }}site: {{ $val }}{{ end }}){{ else }}site: $site{{ end }}
效果验证
- 选单个站点(prod/preprod)时,生成:
AND site: prod或AND site: preprod - 选"All"时,生成:
AND (site: prod OR site: preprod)
内容的提问来源于stack exchange,提问作者Veoxer
相关产品推荐
相关产品推荐

