如何在Grafana文本框变量中输入多值并使用Row重复功能
实现Grafana按输入的订单编号重复Row展示对应数据的步骤
1. 创建可解析为多值的订单编号变量
- 进入仪表盘「设置」→「变量」→「添加变量」,类型选择文本框(Text box)
- 变量名设为
order_ids,默认值填order1,order2,order3(方便测试) - 在「变量选项」中勾选Multi-value,分隔符选择「逗号(Comma)」,这样输入的逗号分隔值会被Grafana解析为多值数组
2. (可选)处理带空格的输入场景
如果用户输入时可能在逗号后加空格(比如order1, order2),可以新增一个自定义类型变量来清洗数据:
- 变量名设为
clean_order_ids,表达式填写:
这个表达式会先去掉所有空格,再按逗号拆分订单ID成纯数组split(replaceAll(${order_ids}, ' ', ''), ',')
3. 配置Row的Repeat规则
- 编辑目标Row,找到「Repeat options」区域
- 开启「Repeat row」,在「Repeat by」下拉框中选择刚才创建的变量(
order_ids或clean_order_ids) - 「Repeat direction」选择垂直(Vertical),让每个订单对应独立一行
4. 在面板查询中引用当前订单ID
- 在Row内的所有面板查询里,用
${__repeat__}引用当前循环的订单ID - 举例:SQL数据源的查询语句可以写:
如果是其他数据源(比如Prometheus、InfluxDB),按照对应语法替换过滤条件即可SELECT * FROM order_details WHERE order_id = '${__repeat__}'
5. 测试验证
在文本框输入逗号分隔的订单编号(比如order1,order2,order3),刷新仪表盘,即可生成对应数量的Row,每行展示对应订单的查询结果
内容的提问来源于stack exchange,提问作者RaoLinMau
相关产品推荐
相关产品推荐

