如何在Grafana单面板中通过Snowflake数据源实现多location的disk_util指标分曲线展示
如何在Grafana单面板中通过Snowflake数据源实现多location的disk_util指标分曲线展示
嗨,我来帮你搞定这个问题!你现在遇到的核心问题是查询里没有把location作为分组维度,所以Grafana没法区分不同地点的数据,只能把所有数值揉成一条线。咱们一步步调整就能解决:
1. 修改面板查询语句
你需要在查询中把location字段明确选出来,并且加入分组逻辑,让Grafana识别出这是不同曲线的区分维度。修改后的SQL如下:
SELECT INSERT_TIME as time, to_number(JSON_EXTRACT_PATH_TEXT(RECORDS, 'disk_util'), 10, 1) as disk_util, JSON_EXTRACT_PATH_TEXT(RECORDS, 'location') as location FROM METRICS WHERE $__timeFilter(INSERT_TIME) AND JSON_EXTRACT_PATH_TEXT(RECORDS, 'location') IN (${locations:singlequote}) GROUP BY INSERT_TIME, JSON_EXTRACT_PATH_TEXT(RECORDS, 'location'), to_number(JSON_EXTRACT_PATH_TEXT(RECORDS, 'disk_util'), 10, 1) ORDER BY INSERT_TIME ASC
为什么要这么改?
- 新增
location字段的查询,让Grafana知道这个字段是用来区分不同数据系列的 - 把
location和disk_util、INSERT_TIME一起加入GROUP BY,符合Snowflake的SQL语法要求(非聚合字段必须出现在GROUP BY中) - 排序保证时间序列的顺序正确
2. 优化你的locations变量
之前的变量查询会返回重复的location值,建议加上DISTINCT去重,同时确保变量开启了多值选择:
SELECT DISTINCT LOWER(JSON_EXTRACT_PATH_TEXT(RECORDS, 'location')) FROM METRICS
在Grafana的变量设置里,记得勾选「Multi-value」选项,这样才能同时选择多个location。
3. 面板可视化配置
切换到面板的「Visualization」标签页(默认是折线图),在「Legend」设置中,把图例格式改为{{location}},这样每个曲线的图例就会显示对应的地点名称,方便你区分不同的线。
做完这些调整后,保存面板并选择多个location刷新,你就能看到每个location的disk_util指标各自以独立曲线展示在同一个面板里啦!
备注:内容来源于stack exchange,提问作者tlee75
相关产品推荐
相关产品推荐

