Недавно назрела необходимость снимать статистику с ADSL модема. Изначально закралось подозрение, что копать нужно в сторону SNMP. Недолгие копания в мануале модема это подозрение подтвердили. Итак, задача:
1. Снимать статистику по загружености интерфейсов с модема;
2. Отображать ее в виде графиков;
3. Графики отоброжать на WEB страничке;
Вспомнил, что когда-то кто-то где-то рассказывал про то как делал аналогичное и использовал при этом MRTG. Ищем в портах:
# cd /usr/ports
# make search
Port: mrtg-2.13.2,1
Path: /usr/ports/net-mgmt/mrtg
Info: The multi-router traffic grapher
Maint: [email protected]
B-deps: freetype2-2.1.10_3 gd-2.0.33_4,1 jpeg-6b_4 perl-5.8.8 pkgconfig-0.20
png-1.2.8_3
R-deps: freetype2-2.1.10_3 gd-2.0.33_4,1 jpeg-6b_4 p5-PathTools-3.16
p5-Pod-Parser-1.34 p5-SNMP_Session-1.08 p5-Scalar-List-Utils-1.18,1
perl-5.8.8 pkgconfig-0.20
png-1.2.8_3
WWW: http://www.mrtg.org/
|
Находим и устанавливаем:
# cd /usr/ports/net-mgmt/mrtg
# make && make install && make clean
|
После установки отправляемся в /usr/local/etc/mrtg генерировать конфиг:
192.168.0.250 это мой модем, а public community модема. Теперь осталось полученый конфиг немножко подправить.
# Created by
# /usr/local/bin/cfgmaker [email protected]
### Global Config Options
# Путь к директории, в которую будем складывать странички статистики
WorkDir: /usr/local/www/data/mrtg
### Global Defaults
# для отображения в битах и роста графиков справа
Options[_]: growright, bits
EnableIPv6: no
# Ниже я выкинул ненужные мне интерфейсы
Target[adsllan]: 1:public@192.168.0.250:
SetEnv[adsllan]: MRTG_INT_IP="192.168.0.250" MRTG_INT_DESCR="ETHERNET/0"
MaxBytes[adsllan]: 1250000
Title[adsllan]: Traffic Analysis for LAN on ADSL
PageTop[adsllan]: <h1>Traffic Analysis for LAN on ADSL</h1>
Target[adslwan]: 5:public@192.168.0.250:
SetEnv[adslwan]: MRTG_INT_IP="10.105.43.2" MRTG_INT_DESCR="ATM-VC/2"
MaxBytes[adslwan]: 132000
Title[adslwan]: Traffic Analysis for WAN on ADSL
PageTop[adslwan]: <h1>Traffic Analysis for WAN on ADSL</h1>
|
Теперь можно попробовать запустить MRTG с этим конфигом:
Первые два запуска MRTG поругается на отсутствие файлов в рабочей директории. Откуда бы им взятся? ;) Если все хорошо, то можно запускать MRTG демоном.
# echo 'mrtg_daemon_enable="YES"' >> /etc/rc.conf
# cd /rc.d
# ./mrtg_daemon start
# ps -ax | grep mrtg
59356 ?? Is 0:01.20 /usr/local/bin/perl -w /usr/local/bin/mrtg --pid-file
|
Теперь бы еще индексный файл положить в директорию web. Этим и займемся:
# cd ..
# indexmaker mrtg.conf > index.html
# cp index.html /usr/local/www/data/mrtg
|
Все, заходим, любуемся графиками.