使用 SNMP 和 InOctets 计数器跟踪下载使用情况

gen*_*ion 2 snmp download

如何计算每月的下载使用量,比如使用来自通过 SNMP 访问的路由器的 InOctets 计数器。

显然,它必须在一个月的 1 日跟踪该值,然后在月底进行减法,但是我究竟如何将八位字节转换为千兆字节???

还必须采取预防措施,以防有人重置路由器上的计数器,但这可以编码为没有问题。

小智 5

请记住,SNMP InOctets 是接口上发送和接收的八位字节总数,包括帧字符。请记住,当 InOctet SNMP 值达到 16 位或 32 位值可用的最大值时,它们会循环并从 0 重新启动,因此您必须定期轮询该值并计算八位字节总数与上次民意调查的八位字节差异。

您将在一个时间范围内收集的总 InOctets 值乘以 8 以获得位数。一个 GigaByte 中有 8,589,934,592 位。

(InOctets * 8) / 8,589,934,592 = Total GB transfer inbound
Run Code Online (Sandbox Code Playgroud)

此外,我建议您使用 MRTG、Cacti、RTG 或其他一些可以为您执行此操作的免费工具。

希望这可以帮助。

  • 在测量任何 SNMP 计数器(包括 inOctets)时,正确的做法是同时查看 sysUpTime。如果 sysUpTime 小于您上次查询的时间,则系统已重置,您需要丢弃数据点(更合适的是:不要进行减法计算数据点)。 (2认同)