You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Prometheus数据源,Grafana能否按数值范围分组数据?

针对Prometheus文件系统填充百分比区间监控的解决方案

不需要手动创建子数据集,用PromQL的条件过滤和聚合函数就能轻松实现按数值区间的监控统计,以下是几种实用方法:

1. 直接用count+条件过滤统计各区间实例数

假设你的文件系统填充百分比指标是fs_fill_percent(如果用node_exporter,对应计算式为100 - (node_filesystem_avail_bytes / node_filesystem_size_bytes * 100)),可通过以下PromQL分别统计各区间的文件系统数量:

  • 0-25%区间:
    count(fs_fill_percent < 25)
    
  • 25-50%区间:
    count(fs_fill_percent >= 25 and fs_fill_percent < 50)
    
  • 50-75%区间:
    count(fs_fill_percent >= 50 and fs_fill_percent < 75)
    
  • 75-100%区间:
    count(fs_fill_percent >= 75)
    

如果需要排除/sys、/proc这类虚拟文件系统,可添加标签过滤:

count(fs_fill_percent < 25 and mountpoint!~"/sys|/proc|/dev")

2. 利用直方图指标简化区间统计

如果你的监控exporter已输出直方图类型指标(比如fs_fill_percent_bucket,包含le标签表示区间上限),可通过求和做差得到各区间数量:

  • 获取各上限的累计数量:
    sum by (le) (fs_fill_percent_bucket)
    
  • 计算25-50%区间的数量:
    sum(fs_fill_percent_bucket{le="50"}) - sum(fs_fill_percent_bucket{le="25"})
    

这种方法适合长期跟踪区间分布变化,直方图还能配合histogram_quantile计算分位数。若当前只有gauge类型指标,可配置exporter生成对应直方图,或用Prometheus的recording rule将gauge转换为直方图。

3. 可视化层面的分组展示(以Grafana为例)

在Grafana中展示区间分布时,除了上述PromQL查询,还可以:

  • 使用Bar面板,将四个区间的查询结果作为系列,直观对比各区间文件系统数量
  • 使用Stat面板,每个面板对应一个区间,展示实例数及阈值告警
  • 创建区间变量,通过变量替换自动生成各区间的查询语句

内容的提问来源于stack exchange,提问作者Fractaliste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:10:27