Mar*_*ran 13 bandwidth iptables docker
我试图弄清楚如何跟踪来自 Docker 容器的带宽。
通常我使用--uid-owner作为标记来跟踪给定用户的带宽使用情况。但是,即使我以 docker 容器内的用户身份运行所有进程--uid-owner也无法正常工作。--uid-owner我没有使用,而是尝试只跟踪来自 docker 创建的虚拟以太网设备的所有数据包。
然而,这最终也无济于事:无论我尝试什么,都没有捕获到数据包。
出于绝望,我尝试将规则放在所有链条中,但都没有结果。
Chain PREROUTING (policy ACCEPT 3041 packets, 7849454 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MARK tcp -- veth5a36 any anywhere anywhere MARK set 0x1
Chain INPUT (policy ACCEPT 273 packets, 23305 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MARK tcp -- veth5a36 any anywhere anywhere MARK set 0x1
Chain FORWARD (policy ACCEPT 2750 packets, 7821109 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MARK tcp -- any veth5a36 anywhere anywhere MARK set 0x1
2 0 0 MARK tcp -- veth5a36 any anywhere anywhere MARK set 0x1
3 0 0 all -- veth5a36 eth0 anywhere anywhere mark match 0x1
Chain OUTPUT (policy ACCEPT 293 packets, 80020 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MARK tcp -- any veth5a36 anywhere anywhere MARK set 0x1
Chain POSTROUTING (policy ACCEPT 3043 packets, 7901129 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MARK tcp -- any veth5a36 anywhere anywhere MARK set 0x1
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何成功标记 docker 容器中的包?最好使用,--uid-owner但此时我会采取任何措施:)
小智 0
不完全是你问的,但我认为它会完成工作。
\n\n引用Docker 博客:
\n\n\n\n\n接口级计数器
\n\n由于每个容器都有一个虚拟以太网接口,因此您可能需要直接检查该接口的 TX 和 RX 计数器。
\n
[...]
\n\n\n\n但目前,最好的方法是检查容器内的指标。\n 我\xe2\x80\x99m 不是在谈论在\n 容器中运行特殊代理,或类似的事情。我们将从主机环境运行可执行文件,但在容器的网络命名空间内。
\n\n该命令的具体格式为:
\n\n\n\n
ip netns exec <nsname> <command...>例如:
\n\n\n
ip netns exec mycontainer netstat -i
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |