/sys/class/net/eth0/statistics/rx_bytes 的带宽统计有多可靠?

/sys/class/net/eth0/statistics/rx_bytes 的带宽统计有多可靠?

我发现这个脚本https://github.com/Cosmologist/collectd-network-bandwidth-usage

<Plugin exec>
    Exec user "/tmp/exec-network-bandwidth-usage.sh" "eth0"
</Plugin>

它运行一个 bash 脚本来检查 /sys/class/net/eth0/statistics/rx_bytes 和 tx_bytes。

#!/bin/bash

HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}"
INTERVAL="${COLLECTD_INTERVAL:-60}"

while sleep "$INTERVAL"; do
    RX=`cat /sys/class/net/$1/statistics/rx_bytes`
    TX=`cat /sys/class/net/$1/statistics/tx_bytes`

    echo "PUTVAL $HOSTNAME/network-bandwidth-usage/if_octets interval=$INTERVAL N:$RX:$TX"
done

我的目标是查看一段时间内传输了多少 MB 的流量。使用 /sys/class/net/eth0/statistics/rx_bytes 中的数据来查明整个服务器群产生了多少流量,这种做法可靠吗?

答案1

我已在很多 Linux 服务器上安装了 vnstat 命令来监控流量接口。安装起来非常简单,而且可以获得大量信息。 https://www.howtoforge.com/tutorial/vnstat-network-monitoring-ubuntu/

我猜测 /sys/class/net/eth0/statistics 是可靠的,但必须将其存储在监控应用程序中才能提取有用的信息... 在我们的系统中安装 vnstat 后,当您需要在系统本身中获取所有这些信息。

我希望它能有用

亲切的问候

相关内容