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

Prometheus查询节点与Pod跨节点出向流量传输速率的方法

节点发往远程节点的流量传输速率

要排除同节点内Pod间的通信流量,直接统计节点物理网卡的出站流量即可——因为同节点内Pod间的通信仅通过容器网桥(如docker0、cni0)转发,不会经过物理网卡。使用以下PromQL查询:

rate(node_network_transmit_bytes_total{device!~"docker0|cni0|flannel.*|weave.*"}[1m])
  • 解释:通过device!~排除容器网桥、CNI插件创建的虚拟网卡,只保留物理网卡的指标;rate()函数计算1分钟内的平均传输速率。
Pod经节点发往外部的流量传输速率

这个需求需要区分Pod出站流量的目标IP是否属于同节点内部,具体实现依赖监控指标的配置情况:

方法1:基于目标IP过滤(需cAdvisor支持dst_ip标签)

假设当前节点的Pod CIDR是10.244.1.0/24(需替换为你的实际节点Pod网段),查询如下:

sum by (pod) (
  rate(container_network_transmit_bytes_total{image!="", dst_ip!~"10.244.1.0/24"}[1m])
)
  • 解释:dst_ip!~排除同节点内Pod的IP段,统计Pod发往外部(其他节点/公网)的流量速率;sum by (pod)按Pod维度聚合。

方法2:无dst_ip标签时的替代方案

如果cAdvisor未开启dst_ip标签,可通过节点物理网卡流量与同节点Pod间流量的差值估算节点级的Pod外部总流量:

sum by (node) (rate(container_network_transmit_bytes_total{image!=""}[1m])) - rate(node_network_transmit_bytes_total{device=~"cni0|docker0"}[1m])
  • 解释:节点所有Pod的总出站流量,减去容器网桥的流量(即同节点Pod间的通信量),得到的就是节点内所有Pod发往外部的总流量;此方法无法按单个Pod拆分数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:43:34