Grafana时序图多阈值配置:All Values选项无阈值线问题
解决Grafana时序图多阈值线显示问题
首先,你对「All unique Values」转换的使用场景理解有偏差——它是针对单字段内的重复值去重,而非提取跨多行的字段值。你的数据源是宽表结构(每行一组阈值),直接用这个转换无法识别每个字段的多个值,所以才会看不到线。
要生成8条阈值线,按以下步骤操作:
转换宽表为长表
在查询的转换面板中添加「Wide to long」转换(属于Reshape分类):- 设置「Name column」为任意标识名(比如
threshold_key),用来区分不同的表头字段(0、1、2、3)。 - 「Value columns」勾选所有字段(0、1、2、3)。
转换后数据会变成8行,每行对应一个表头字段的一个阈值值,结构如下:
threshold_key value 0 100 0 101 1 200 1 201 2 300 2 301 3 400 3 401 - 设置「Name column」为任意标识名(比如
生成恒定时间序列
因为阈值数据没有时间字段,Grafana无法在时序图上渲染水平线,需要补充时间字段并填充空值:- 添加「Add field from calculation」转换,选择「Time」类型,设置为「Now()」(或你需要的时间范围起始点)。
- 接着添加「Fill nulls」转换,选择「Forward fill」,让每个阈值值填充到整个时间范围,形成水平线。
配置图表显示
在时序图的「Panel options」中:- 把「threshold_key」设置为图例字段,每条线会对应一个表头字段的阈值。
- 调整线样式为水平线(比如设置「Line width」为1,「Fill opacity」为0)。
完成以上步骤后,就能看到8条对应的阈值线了。这不是Grafana的bug,而是缺少宽表转长表的关键转换步骤,导致「All unique Values」无法正确提取你需要的多值。
内容的提问来源于stack exchange,提问作者LilumDaru
相关产品推荐
相关产品推荐

