Grafana字段显示名配置是否支持范围截取或正则表达式匹配?
Grafana 字段显示名截取及前缀移除方案
字段截取与正则处理支持说明
Grafana原生支持对${__field.displayName}变量使用字符串处理函数,你需要的范围截取、正则匹配功能都可以通过内置函数实现:
- 范围截取可以用
substr函数,语法为${__field.displayName:substr(起始位置, 截取长度)},示例写法${__field.displayName:substr(0,10)}即可提取前10位字符 - 正则匹配处理可以用
regexReplace函数,支持自定义正则规则做内容替换
针对你的场景的两种实现方案
方案1:Grafana字段配置层面处理
直接在面板的字段显示名称配置项中填入以下内容,即可移除指定前缀:
${__field.displayName:regexReplace('somehost\\.com\\.metrics\\.(.*)', '$1')}
也可以用截取写法实现同样效果,somehost.com.metrics.总长度为21个字符,写法如下:${__field.displayName:substr(21)}
方案2:Graphite查询层面处理(更推荐)
针对Graphite数据源可以直接在查询时用aliasSub函数处理指标别名,不需要额外配置字段显示名:aliasSub(你的原始查询语句, '^somehost\.com\.metrics\.', '')
如果你的原始查询是somehost.com.metrics.*,修改后写法为:aliasSub(somehost.com.metrics.*, '^somehost\\.com\\.metrics\\.', '')
内容的提问来源于stack exchange,提问作者Wiktor Kisielewski
相关产品推荐
相关产品推荐

