Grafana中CPU利用率表格数据转饼图/柱状图实现咨询
实现CPU利用率区间统计的柱状图/饼图指南
当然可以!你已经有了基础的CPU利用率数据,只需要通过数据分组和可视化配置就能轻松实现按区间统计主机数量的需求,下面是具体的分步操作:
一、先确保基础数据查询可用
不管你用的是Prometheus、InfluxDB还是其他数据源,先确认能查询到单主机的CPU利用率(平均值/最大值)。举个Prometheus的例子,获取CPU平均利用率的语句:
1 - avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[1m]))
这个语句会返回每个主机(instance字段)的CPU利用率(0~1的小数,比如0.03代表3%)。如果要统计最大值,把avg换成max即可。
二、新建面板并选择可视化类型
- 点击仪表盘右上角的Add panel按钮,创建一个新面板。
- 切换到「Visualization」标签页,选择你想要的类型:Bar chart(柱状图)或者Pie chart(饼图)。
三、用Grafana Transform划分区间(核心步骤)
不用改查询语句,直接在面板内处理数据更灵活:
- 切换到「Transform」标签页,点击Add transformation。
- 选择「Add field from calculation」,配置如下:
- 计算类型选
Custom - 输入判断区间的逻辑(假设你的利用率字段叫
Value):if (value <= 0.01) return "0-1%"; else if (value <= 0.05) return "1-5%"; else if (value <= 0.1) return "5-10%"; else return ">10%"; // 可选,覆盖超出10%的区间 - 给新字段命名,比如
CPU Range。
- 计算类型选
- 再添加一次「Group by」转换:
- 分组字段选择刚才创建的
CPU Range - 计算类型选
Count,目标字段选主机标识(比如instance),这样就能统计每个区间的主机数量。
- 分组字段选择刚才创建的
四、调整可视化细节
- 柱状图:在选项里设置X轴为
CPU Range,Y轴为统计的主机数,还能调整颜色、标签样式让图表更直观。 - 饼图:设置标签为
CPU Range,数值为统计的数量,开启百分比显示,一眼就能看出各区间的主机占比。
五、验证数据准确性
可以临时切换到「Table」可视化类型,检查分组后的统计结果是否符合预期,没问题再切回柱状图/饼图。
内容的提问来源于stack exchange,提问作者Madhanika
相关产品推荐
相关产品推荐

