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

Prometheus计算APC PDU耗电量(kWh)的查询语句正确性验证

你的Prometheus查询验证与优化建议

首先,你的查询核心逻辑是正确的,能够计算出站点级的APC PDU总耗电量(kWh),下面拆解分析并给出优化点:

  • 逻辑合理性:
    耗电量的计算公式是「平均功率(kW) × 时间(小时)」,你的查询完全贴合这个逻辑:

    1. rPDU2DeviceStatusPower_gauge /100:将指标的百分之一千瓦单位转换为千瓦(kW);
    2. sum_over_time(...) / count_over_time(...):计算时间范围内的平均功率(本质是所有样本值的总和除以样本数量,等价于avg_over_time函数);
    3. ($__range/3600):将时间范围(秒)转换为小时;
    4. sum(...) by (site):对站点内所有PDU的耗电量求和,满足饼图按站点分组可视化的需求。
  • 可简化的写法:
    原查询里的sum_over_time(...) / count_over_time(...)可以直接用avg_over_time替代,逻辑完全一致,写法更简洁:

    sum(avg_over_time(rPDU2DeviceStatusPower_gauge{site=~"$site"}[$__range]) / 100 * ($__range / 3600)) by (site)
    
  • 注意事项:

    1. 由于你的采集间隔是5分钟,建议确保可视化的时间范围是5分钟的整数倍,这样样本数是完整周期,计算的平均功率更精准;
    2. 如果站点下有多个PDU实例,sum(...) by (site)会自动累加所有PDU的耗电量,正好符合饼图展示站点总耗电的需求。
  • 快速验证方法:
    找一个功率稳定的PDU测试:比如某PDU持续输出500W(对应指标值为50000),时间范围选1小时(3600秒),计算结果应为0.5kWh。用你的原查询或简化后的查询都能得到这个结果,说明逻辑正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:16