How do I collect bandwidth utilization data on remote devices/switches/servers?

人走茶凉 提交于 2019-12-19 10:46:20

问题


How do I collect bandwidth usage/utilzation on devices/switches. From what I understand there are systems that do something like this. They seem to all have snmp in common.

I am looking for imformation on possibly rolling my own system for collecting this data that will be later used on a web-based front-end. For a real-world but perhaps a bit over complicated example of what I'm talking about take a look at ubersmith de. Most of it will be in a LAMP environment. Thanks.


回答1:


On pure SNMP point of view, there is a Management Information Base (MIB) on your SNMP device.

This base is a kind of tree where datas are named using Object IDentifiers (OIDs). One of these datas is a counter called "ifInOctets" in the interface group of MIBII, it represents the number of "In" octets on one of the interface of the SNMP device, another one ("ifOutOctets") represent the number of "Out" octets. You will find in your favorite language (PHP) a way to get these two counters. You also have the information of the interface speed in "ifSpeed" counter. With NET-SNMP tools installed (on Linux or Microsoft) you can get the information with "snmpget"

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

Imagine you take 2 values of "ifInOctets" I1 and I2 with an interval of S seconds. You can compute your "In" bandith.

"In" Bandwith usage in % = (((I2-I1) * 8)*100) / (ifSpeed * S)

If you just want to have a nice graph of the bandwith usage of your device just try MRTG tool.

Best regards.

JP



来源:https://stackoverflow.com/questions/5253396/how-do-i-collect-bandwidth-utilization-data-on-remote-devices-switches-servers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!