如何在Grafana中按job.id和processing.status分组展示Micrometer Counter数据
实现目标表格样式的步骤
1. 编写正确的PromQL查询
Micrometer会将标签中的点转换为下划线,所以job.id对应Prometheus中的job_id,processing.status对应processing_status。使用以下查询聚合数据:
sum by (job_id, processing_status) (ri_procession_job_count)
该语句会汇总每个job_id下不同processing_status的计数。
2. 配置Grafana Table面板与数据转换
创建Table类型面板,执行上述查询后,通过以下转换得到目标格式:
- 添加「Organize fields」转换:仅保留
job_id、processing_status、Value字段,移除其他无关字段。 - 添加「Pivot」转换:
- 「Row field」选择
job_id(作为表格行标识) - 「Column field」选择
processing_status(作为表格列,自动生成SUCCESS、FAILED_UNKNOWN等列) - 「Value field」选择
Value(填充对应状态的计数值)
- 「Row field」选择
完成后,表格会自动按job_id分组,不同处理状态作为列展示计数,空状态对应的单元格显示为空,完全匹配你期望的样式。
Bar Gauge的替代展示方案
若偏好条形可视化,可使用Bar Chart面板:
- 在「Axes」设置中,将X轴设为
job_id,Y轴设为计数值; - 在「Legend」设置中,选择
processing_status作为图例。
这样每个job_id下会生成对应不同状态的独立条形,实现按job.id分隔的多状态条形展示。
内容的提问来源于stack exchange,提问作者Tomáš Mika
相关产品推荐
相关产品推荐

