Сбор статистики с маршрутизатора Cisco с помощью MRTG.
Маршрутизатор Cisco, как и многие другие устройства этой компании, может отправлять сведения о проходящем трафике на сервер по протоколу SNMP. С помощью этих данных можно, например, считать использованный трафик по пользователям (по их IP-адресам). Для этого нужно установить MRTG (Multi Router Traffic Grapher, http://www.mrtg.org) под любимый дистрибутив UNIX и создать файл конфигурации для маршрутизатора Cisco командой cfgmaker:
cfgmaker SNMP_Community@Router
Имя сообщества SNMP (с доступом только на чтение) задается на маршрутизаторе Cisco следующим образом:
(config)#snmp-server community SNMP_Community RO
Затем на клиенте под управлением UNIX создаем скрипт на Perl, который будет собираемую информацию преобразовывать в читаемый вид и грузить их в директорию web-сервера :
Workdir: /usr/local/www/docs
Interval: 10
Refresh: 60
WriteExpires: Yes
Background[router.domain.1]:#CFCFCF
Options[router.domain.1]: bits, growright
Target[router.domain.1]: 1:SNMP_Community@domain
MaxBytes[router.domain.1]: 1250000
Title[router.domain.1]: Router: интерфейс Ethernet0
PageTop[router.domain.1]: <h1>Анализ трафика через интерфейс Ethernet0
</h1>
<table>
<tr><td>Устройство:</td><td>router.domain in </td></tr>
<tr><td>Обслуживает:</td><td></td></tr>
<tr><td>Интерфейс:</td><td>Ethernet0 (1)</td></tr>
<tr><td>IP-адрес:</td><td>router.domain (192.168.0.1)</td></tr>
<tr><td>Максимальная скорость:</td>
<td>1250.0 kBytes/s (ethernetCsmacd)</td></tr>
</table>
### Serial 0 ###
Background[router. domain.2]:#CFCFCF
Options[SNMP_Community@domain.2]: bits, growright
Target[SNMP_Community@domain.2]: 2:community_name@victim.com
MaxBytes[SNMP_Community@domain.2]: 8000
Title[SNMP_Community@domain.2]: MTO 64K : Serial0
PageTop[SNMP_Community@domain.2]: <h1> Анализ трафика через интерфейс Serial0
</h1>
<table>
<tr><td>Устройство:</td><td>router.domain </td></tr>
<tr><td>Обслуживает:</td><td></td></tr>
<tr><td>Интерфейс:</td><td>Serial0 (2)</td></tr>
<tr><td>IP-адрес:</td><td> ()</td></tr>
<tr><td>Максимальная скорость:</td>
<td>8000.0 Bytes/s (propPointToPointSerial)</td></tr>
</table>
Этот скрипт с помошью команды crond запускается каждые 10 минут, обновляет файлы отчетов и копирует х в каталог web-сервера Apache - /usr/local/www/data в виде HTML с графиками.Для просмотра статистики достаточно открыть http://localhost/router.domain.html - для Ethernet-интерфейса и http://localhost/router.domain.2.html - для Serial0-интерфейса.