Grafana Loki仪表盘变量定义求助:从mqtt_log提取指定字段
Grafana Loki 变量定义指南(提取设备号与Group值)
前提说明
已确认Loki实例运行正常,可在Grafana中查看job="mqtt_log"的目标日志。
定义第一个变量:设备号(equipment_number)
- 进入Grafana仪表盘的设置页面,切换到变量选项卡,点击添加变量。
- 变量类型选择Query,数据源指定你的Loki实例。
- 在查询输入框中,使用LogQL提取日志中的设备号:
sum by (equipment_number) ( count_over_time({job="mqtt_log"} |= "elevator/" |= "EquipmentNumber=" | regexp `elevator/(\d+)/cabin/position/|EquipmentNumber=(\d+)` | line_format "{{.1}}" [1d]) )
- 补充变量配置:
- 名称填写
equipment_number - 标签设置为“设备号”
- 按需勾选多值或包含全部选项
- 名称填写
- 点击保存变量完成配置。
定义第二个变量:Group值(group_id)
- 再次在变量页面点击添加变量,类型选Query,数据源选Loki。
- 查询输入框中使用LogQL提取Group字段的值:
sum by (group_id) ( count_over_time({job="mqtt_log"} |= "\"Group\":\"" | regexp `"Group":"(\d+)"` | line_format "{{.1}}" [1d]) )
- 补充变量配置:
- 名称填写
group_id - 标签设置为“Group编号”
- 按需开启多值或全部选项
- 名称填写
- 点击保存变量完成配置。
变量使用示例
在仪表盘的日志面板中,可直接用变量过滤目标日志,示例查询:
{job="mqtt_log"} |= "elevator/$equipment_number/" |= "\"Group\":\"$group_id\""
内容的提问来源于stack exchange,提问作者Sgnes
相关产品推荐
相关产品推荐

