为什么我从 SNMP 获得 %100+ 的网络使用率?

网络工程 网络 联网 snmp
2022-02-08 09:58:37

我在 Ubuntu 20.04 中使用 SNMP 来获取网络使用信息,我使用这个公式来计算网络使用:

InOctets : The difference between two poll cycles of collecting the snmp which represents the count of inbound octets of traffic.

networkUsage = (InOctets x 8 x 100) / ((number of seconds between octets) x speed)

这是我找到公式的参考

问题是什么?我有时会获得超过 %100000 的网络使用量,但我找不到替代的计算公式。公式是错误的还是有其他可能导致问题的东西?

我正在从包含最新 SNMP 安装的虚拟服务器(Ubuntu 20.04)获取网络信息。服务器也有两个以太网卡,所以它有两个网络,我使用 bond0 用一个 IP 地址来表示它们。我正在从作为 LAN 成员的远程计算机读取服务器的 SNMP 值。

1个回答

ifSpeed有多种表示形式基本上,有些使用bit/s,有些使用Mbit/s,甚至kbit/s。确保使用正确的幅度。

此外,使用率是当前吞吐量 除以 链路速度,例如,对于 10 Gbit/s 链路测量 2 Gbit/s,导致利用率为 0.2 或 20%。您问题中的公式是正确的,但正确的括号位置至关重要。