Поганяв новый сервак и убедившись в том, что он выдержет нужные нагрузки, поставили его на планируемое место — центральным маршрутизатором.
Какой же центральный маршрутизатор без статистики?
Недолго думая, решил поставить MRTG в связке с родным для FreeBSD демоном bsnmp.
Итак, шаг за шагом..
Первым делом берёмся за настройку этого самого встроенного демона, и для этого открываем файл: /etc/snmpd.config и редактируем такие строки (остальное оставляем как есть):
# mcedit /etc/snmpd.config location := "ServersRoom" # комната или помещение contact := "reports@domain.pp.ua" # укажите контактный e-mail system := 1 # FreeBSD - ваша система, оставьте без изменения traphost := localhost # демон слушает на localhost, или указать необходимый IP сервера trapport := 162 # стандартный порт SNMP # Change this! read := "fw" # ключевая фраза (понадобится для настройки mrtg) # Uncomment begemotSnmpdCommunityString.0.2 below that sets the community # string to enable write access. write := "mytrap" # демон работает на localhost, поэтому эту и следующую trap := "mytrap" # строчки оставляем без изменений |
Можно считать что демон bsnmp настроен.
Вносим в /etc/rc.conf строку bsnmpd_enable=»YES» и производим его запуск с последующей проверкой:
# echo 'bsnmpd_enable="YES"' >> /etc/rc.conf # /etc/rc.d/bsnmpd start # ps ax | grep bsnmpd 70652 ?? Is 0:00.60 /usr/sbin/bsnmpd 988 0 S+ 0:00.00 grep bsnmpd # sockstat -4 | grep bsnmpd root bsnmpd 70652 3 udp4 127.0.0.1:33876 127.0.0.1:162 root bsnmpd 70652 5 udp4 *:* *:* root bsnmpd 70652 6 udp4 *:161 *:* |
Если Вы увидели у себя сходства, значит все нормально, двигаемся дальше и переходим к установке и настройке mrtg:
# cd /usr/ports/net-mgmt/mrtg # make config && make install clean # echo 'mrtg_daemon_enable="YES"' >> /etc/rc.conf |
В mrtg существует утилита cfgmaker, которая при соответствующих флагах создает конфигурационный файл mrtg.cfg. Для того что бы использовать эту утилиту, нам вначале нужно подготовить некоторые дирректории:
# mkdir -p /usr/local/www/stats/mrtg # chown -R www:www /usr/local/www/stats # mkdir /var/log/mrtg |
Теперь можем приступать к созданию файла mrtg.cfg:
# cfgmaker --ifref=ip --global 'WorkDir: /usr/local/www/stats/mrtg' --global 'LogDir: /var/log/mrtg' --global 'ImageDir: /usr/local/www/stats/mrtg' --global 'Language: russian1251' --global 'Options[_]: growright,bits' --output /usr/local/etc/mrtg/mrtg.cfg fw@127.0.0.1 |
Для того что бы понять вышенабранную строку, предоставляю флаги этой утилиты:
—ifref=ip – данный флаг создает в конфигурационном файле ссылки на интерфейсы в виде их IP-адресов, просто пронумерует, как по-умолчанию (с флагом —ifref=nr);
—global ‘WorkDir: /usr/local/www/stats/mrtg’ – укажем рабочий каталог для mrtg;
—global ‘LogDir: /var/log/mrtg’ – укажем каталог для логов работы программы mrtg;
—global ‘ImageDir: /usr/local/www/stats/mrtg’ – укажем каталог, где хранить картинки генерируемой mrtg web-страницы;
—global ‘Language: russian1251’ – укажем язык генерируемой mrtg web-страницы;
—output /usr/local/etc/mrtg/mrtg.cfg – вывод работы программы cfgmaker мы сохраняем в указанный файл;
fw@127.0.0.1 – и наконец-то указываем расположение работы демона bsnmpd, где fw – фраза, указанная вами в конфигурационном файле настройки демона SNMP – /etc/snmpd.config.
Так как конфигурационный файл готов, нам осталось сгенерировать на его основе web-страницу:
# indexmaker /usr/local/etc/mrtg/mrtg.cfg > /usr/local/www/stats/mrtg/index.html |
Теперь добавляем в конфигурационный файл хостов apache директорию с графиками mrtg:
# cat /usr/local/etc/apache22/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin support@domain.pp.ua DocumentRoot "/usr/local/www/stats/" ServerName stats.domain.pp.ua ErrorLog "/var/log/httpd/stats.domain.pp.ua-error_log" CustomLog "/var/log/httpd/stats.domain.pp.ua-access_log" common </VirtualHost> |
Перестартовываем апач:
# apachectl restart |
И стартуем mrtg: ( У меня он никак не хотел запускаться, и решение было простое, доставить недостающий пакет:)
# /usr/local/etc/rc.d/mrtg_daemon restart Can't locate SNMP_util.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 /usr/local/bin /usr/local/lib/perl5/5.8.9/BSDPAN ........................................ ............................ # cd /usr/ports/net-mgmt/p5-SNMP_Session # make install clean # rehash # /usr/local/etc/rc.d/mrtg_daemon restart Starting mrtg_daemon. Daemonizing MRTG ... |
После этого я убедился что он работает и добавил обработку графиков через cron:
# crontab -l MAILTO=reports@domain.pp.ua SHELL=/bin/sh HOME=/var/log #minute hour mday month wday command */5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg --logging /var/log/mrtg/mrtg.log |
После чего, спустя 10 минут заходим в браузере по адресу stats.domain.pp.ua и наслаждаемся графиками…
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел