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

求Kubernetes集群中计算指定时间段总入站流量字节数的PromQL查询

计算Kubernetes容器指定时间段总入站网络流量的PromQL查询

核心查询语句(容器级)

要统计指定时间段内容器的总入站流量字节数,使用cAdvisor暴露的container_network_receive_bytes_total计数器指标(主流K8s监控采集方案如kube-prometheus-stack默认包含该指标),结合increase()和sum()函数实现:

1. 统计单个容器的入站流量

increase(container_network_receive_bytes_total{namespace="your-namespace", pod="your-pod", container="your-container"}[1h])

2. 统计整个命名空间所有容器的总入站流量

sum(increase(container_network_receive_bytes_total{namespace="your-namespace"}[24h]))

3. 按Pod分组统计命名空间内各Pod的入站流量

sum(increase(container_network_receive_bytes_total{namespace="your-namespace"}[12h])) by (pod)

关键说明

  • container_network_receive_bytes_total:单调递增的计数器,记录容器从启动到当前累计接收的网络字节数。
  • increase(metric[duration]):计算指定时间段内计数器的增量,直接对应这段时间的实际入站流量总和(自动处理计数器重置场景,比sum_over_time更适合计数器类型指标)。
  • 标签过滤:通过namespace、pod、container标签精准定位目标对象,可根据需求添加或移除标签条件。
  • 时间段替换:将[1h]、[24h]替换为你需要统计的时间段,比如[30m](30分钟)、[7d](7天)。

补充:节点级入站流量查询(如果需要)

如果要统计整个节点的入站流量,使用node-exporter的node_network_receive_bytes_total指标:

sum(increase(node_network_receive_bytes_total{instance="your-node-ip"}[24h])) by (device)

关于流量限制的思路

基于该监控数据设置流量限制时,可通过以下方式实现:

  • 结合Prometheus Alertmanager配置告警规则,当容器/命名空间流量超过阈值时触发告警。
  • 利用Kubernetes的NetworkPolicy配合监控数据,通过自定义控制器动态调整带宽限制(需额外实现逻辑)。

内容的提问来源于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.20 05:58:13