Как собрать данные об использовании полосы пропускания на удаленных устройствах / коммутаторах / серверах? - PullRequest
2 голосов
/ 10 марта 2011

Как собрать данные об использовании / использовании полосы пропускания на устройствах / коммутаторах.Из того, что я понимаю, есть системы, которые делают что-то подобное.Похоже, что у всех них есть общий snmp.

Я ищу информацию о возможном развертывании моей собственной системы для сбора этих данных, которые впоследствии будут использоваться в веб-интерфейсе.Для реального, но, возможно, немного сложного примера того, о чем я говорю, взгляните на ubersmith de .Большая часть этого будет в среде LAMP.Спасибо.

1 Ответ

7 голосов
/ 17 марта 2011

С точки зрения чистого SNMP на вашем устройстве SNMP есть База управляющей информации (MIB).

Эта база является своего рода деревом, в котором данные именуются с использованием идентификаторов объектов (OID). Одним из этих данных является счетчик, называемый «ifInOctets» в группе интерфейсов MIBII, он представляет количество октетов «In» на одном из интерфейсов устройства SNMP, другой («ifOutOctets») представляет число «Out» "октеты. На вашем любимом языке (PHP) вы найдете способ получить эти два счетчика. У вас также есть информация о скорости интерфейса в счетчике "ifSpeed". С установленными инструментами NET-SNMP (в Linux или Microsoft) вы можете получить информацию с помощью "snmpget"

enter image description here

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

Представьте, что вы берете 2 значения "ifInOctets" I1 и I2 с интервалом в S секунд. Вы можете вычислить свой "In" бандит.

"In" Bandwith использование в% = (((I2-I1) * 8) * 100) / (ifSpeed ​​* S)

Если вы просто хотите получить хороший график использования полосы пропускания вашего устройства, просто попробуйте инструмент MRTG.

enter image description here

С уважением.

* * JP тысяча двадцать-одина * * тысяча двадцать две
...