Поганяв новый сервак и убедившись в том, что он выдержет нужные нагрузки, поставили его на планируемое место — центральным маршрутизатором.

Какой же центральный маршрутизатор без статистики?

Недолго думая, решил поставить 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 и наслаждаемся графиками…

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/1824


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.