MRTG

FreeBSD можно использовать в разных целях.
В том числе и для сбора и отображения статистики приходящей по snmp.
Что бы разбирать данные, полученные с устройства, можно использовать разные продукты:

  • mrtg
  • prtg
  • cacti
  • snmpstat

Все эти продукты (кроме snmpstat - трудно устанавливать на отлаженную систему из-за кривых конфигов) очень удобно использовать вкупе с rrdtool.
Для отображения полученных данных можно использовать web-страничку. Данные отображаются в виде графиков утилизации (использования) канала.
В моем ведении находятся с десяток свичей. Некоторые из них умеют отдавать статистику по snmp. Я решил использовать mrtg. Решение простое как молоток. Т.к. все что нужно, идет попутно с mrtg. Следует помнить, что важно ставить последнюю версию продукта.
Итак.
Ставить будем из портов. Нужно быть root'ом, что бы всунуть в систему продукт.


root@gabriel# cd /usr/ports/net-mgmt/mrtg 
root@gabriel# make && make install

Если все встало нормально, то идем в каталог настройки и там генерируем конфигурационный файл для mrtg.


root@gabriel# cd /usr/local/etc/mrtg
root@gabriel# cfgmaker SomESwStAT@192.168.2.101 > mrtg.cfg
root@gabriel# cfgmaker SomESwStAT@192.168.1.101 >> mrtg.cfg
root@gabriel# cfgmaker SomESwStAT@192.168.0.101 >> mrtg.cfg ...


Суть:


root@gabriel# cfgmaker SomESwStAT@192.168.2.101 > mrtg.cfg


Так вывод cfgmaker направляется в файл mrtg.cfg, который будет создан, если отсутствует, или будет переписан с нуля, если существует.

  • cfgmaker - программа генерации конфигурационных файлов mrtg;
  • SomESwStAT - коммунити устройства (определяется на самом устройстве)
  • 192.168.2.101 - ip-адрес устройства;
  • mrtg.cfg - файл конфигурации.



root@gabriel# cfgmaker SomESwStAT@192.168.1.101 >> mrtg.cfg


Так вывод cfgmaker направляется в файл mrtg.cfg, но так мы дописываем файл. Далее нам необходимо поправить файл конфигурации так, как мы этого хотим.
Я изменил только WorkDir и раскомментировал Options[_]: growright, bits
Получилось:

WorkDir: /usr/local/www/data/mrtg Options[_]: growright, bits


Далее, т.к. статистику нагрузки отображаем в хтмл, то нужно создать индексный файл.


root@gabriel# mkdir /usr/local/www/data/mrtg/ 
root@gabriel# indexmaker mrtg.conf > /usr/local/www/data/mrtg/index.html


Теперь надо перезапустить web-сервер, что бы он подхватил страничку mrtg.
У меня web-сервером является apache


root@gabriel# apachectl graceful


Теперь запускаем mrtg.

root@gabriel# mrtg /usr/local/etc/mrtg/mrtg.cfg


Первые два запуска несет какую-то чушь =) про отсутствие файлов.
К третьему запуску он создаст все необходимые файлы, запустится, отработает и отвалит.
Я вписал запуск демона mrtg в /etc/rc.conf и запустил его.

root@gabriel# echo 'mrtg_daemon_enable="YES"' >> /etc/rc.conf 
root@gabriel# /usr/local/etc/rc.d/mrtg_daemon.sh start


Все. По умолчанию mrtg каждые 300 секунд забирает статистику с устройств. Но у меня он отказался так работать. Почему и отчего я так и не разобрался. Поэтому просто засунул вызов mrtg каждые 5 минут в crontab

root@gabriel# cat /etc/crontab | grep mrtg 
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg


Пусть это и неправильно, но по-другому как-то не получилось. Да и разбираться, опять же, лениво. Все равно перешел на cacti.
Маленькая справка. Поиск того или иного в портах осуществляется так:


root@gabriel# cd /usr/ports && make search name="someprog"


Ну и смотрим вывод поиска.
Например:

root@gabriel# cd /usr/ports
root@gabriel# make search name="mrtg"


В выводе на экран может быть достаточно много информации о найденных пакетах. Так что смотрим что нужно.


Port: mrtg-2.15.2,1 
Path: /usr/ports/net-mgmt/mrtg
Info: The multi-router traffic grapher
Maint: demon@FreeBSD.org
B-deps: freetype2-2.3.5 gd-2.0.35,1 jpeg-6b_4 ldconfig_compat-1.0_8 perl-5.8.8_1 pkg-config-0.22_1 png-1.2.23_1
R-deps: freetype2-2.3.5 gd-2.0.35,1 jpeg-6b_4 ldconfig_compat-1.0_8 p5-PathTools -3.2501 p5-Pod-Parser-1.35 p5-SNMP_Session-1.11 p5-Scalar-List-Utils-1.19,1 perl -5.8.8_1 pkg-config-0.22_1 png-1.2.23_1
WWW: http://oss.oetiker.ch/mrtg/

После использования make и/или make install можно использовать make clean для очистки от мусора, появившегося от использования make.

 arviol.ru, 2006-2018

Докер -- Сильно. Выгодно. Надежно