Grafana 8.1.2表格按列配置:如何为多列设置min/max阈值
解决方案
方案1:叠加多个「Config from query results」转换(适配8.1.2版本无需升级)
不需要改动现有的业务查询A逻辑,仅调整配置查询B的结构即可实现多列阈值配置:
- 调整查询B的返回结构,每行对应一个需要配置动态阈值的列,至少包含3个字段:
目标列名、min阈值、max阈值,示例返回结构如下:
| 目标列名 | min阈值 | max阈值 |
|---|---|---|
| 数据库大小 | 0 | 102400 |
| 日志大小 | 0 | 51200 |
- 在转换规则中,添加第一个「Config from query results」转换,数据源选择查询B,匹配规则设置为
字段名 = 数据库大小,然后映射规则分别将min阈值、max阈值绑定到对应字段的Min、Max配置项 - 继续添加第二个「Config from query results」转换,匹配规则改为
字段名 = 日志大小,同样绑定对应的阈值即可,有多少个需要动态配置的列就添加对应数量的转换规则 - 百分比类固定阈值的列不需要走该转换,直接在面板的「字段 override」里硬编码设置Min/Max即可,配置效率更高
- 注意:多个转换按从上到下的顺序执行,不会互相覆盖未匹配字段的配置
方案2:升级Grafana版本(适配大量列的场景)
如果需要配置的动态阈值列数量较多,可以升级到Grafana 8.3及以上版本,该版本后「Config from query results」支持按规则批量匹配多列,仅需一个转换规则,就可以自动匹配查询B中所有行对应的目标列,自动批量设置所有列的Min/Max阈值。
其他替代方案
可以直接修改查询A的逻辑,将对应列的当前值计算为占动态阈值的百分比,返回0-1之间的百分比数值,这类列直接统一设置Min=0、Max=1即可,不需要额外配置转换规则。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

