如何在远程设备/交换机/服务器上收集带宽利用率数据?

时间:2011-03-09 23:03:28

标签: php networking network-protocols bandwidth snmp

如何在设备/交换机上收集带宽使用/利用率。根据我的理解,有些系统可以做这样的事情。他们似乎都有共同点。

我正在寻找关于可能滚动我自己的系统以收集这些数据的信息,这些数据稍后将用于基于Web的前端。对于一个现实世界,但也许有点过于复杂的例子,我正在谈论ubersmith de。其中大部分将在LAMP环境中。感谢。

1 个答案:

答案 0 :(得分:7)

从纯SNMP的角度来看,SNMP设备上有一个管理信息库(MIB)。

此基础是一种树,其中数据使用对象标识符(OID)命名。其中一个数据是MIBII接口组中名为“ifInOctets”的计数器,它表示SNMP设备接口之一上的“In”八位字节数,另一个(“ifOutOctets”)表示“Out”的数量“八位字节。你会发现用你最喜欢的语言(PHP)来获得这两个计数器。您还可以在“ifSpeed”计数器中获得接口速度的信息。安装NET-SNMP工具(在Linux或Microsoft上),您可以使用“snmpget”获取信息

enter image description here

snmpget -v 1 -c public localhost ifInOctets.65539
IF-MIB::ifInOctets.65539 = Counter32: 82929271

想象一下,你以2秒的间隔S秒获取“ifInOctets”I1和I2的值。你可以计算你的“In”bandith。

“In”Bandwith用法%=(((I2-I1)* 8)* 100)/(ifSpeed * S)

如果您只想获得设备带宽使用的精美图表,请尝试使用MRTG工具。

enter image description here

最好的问候。

JP