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

基于Prometheus在Grafana v9.5.1中实现每日容器网络发送流量统计图表

解决container_network_transmit_bytes_total每日总流量统计问题

针对你用Grafana v9.5.1 + Prometheus统计容器每日发送总流量的需求,以下是具体实现方案:

核心PromQL/MetricsQL写法

1. 基础单容器/指定标签统计(PromQL)

increase(container_network_transmit_bytes_total{<你的标签过滤条件>}[1d])

这个查询会计算每个时间点往前1天的流量增量,当Grafana按天聚合时,每个数据点就对应当日的总发送流量。

如果需要聚合多个容器的总流量,用sum分组:

# 按实例聚合
sum(increase(container_network_transmit_bytes_total{<你的标签过滤条件>}[1d])) by (instance)
# 全局总流量
sum(increase(container_network_transmit_bytes_total{<你的标签过滤条件>}[1d]))

2. MetricsQL简化写法

如果你的数据源支持MetricsQL(比如VictoriaMetrics),可以用更直观的daily_increase函数:

daily_increase(container_network_transmit_bytes_total{<你的标签过滤条件>})

该函数专门处理每日增量计算,无需手动指定[1d]区间。

解决你之前increase无效的问题

你之前用increase没达到预期,大概率是以下原因:

  • 时间范围不足:查询时间范围必须覆盖至少1天以上,否则无法计算1天区间的增量
  • 步长设置错误:Grafana查询步长需设为1天(在查询编辑器的「Options」→「Min interval」设为1d),步长过小会导致increase重复计算重叠区间的流量
  • 标签过滤问题:如果未过滤无效标签(比如已停止的容器),会导致数据混乱,建议明确指定pod、container等标签缩小范围

Grafana图表配置

  1. 时间范围:选择「最近N天」(比如最近7天)
  2. X轴设置:在图表的「Axes」选项中,将X轴模式设为「Time」,格式选择YYYY-MM-DD
  3. Y轴单位:在「Axes」→「Y轴」中,单位选择「bytes」或自动转换为「MB」「GB」更易读

获取每日数值和时间戳列表

切换到Grafana的「Table」面板,使用上述PromQL/MetricsQL查询,即可看到最近N天的每日时间戳(当日起始时间)和对应的流量数值列表。

注意事项

  • 确保Prometheus中该指标有至少N天的历史数据
  • counter类型指标重置(如容器重启)时,increase和daily_increase会自动处理,不会出现负数
  • 如果需要统计接收流量,替换指标为container_network_receive_bytes_total即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:42:28