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

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

Недолго думая, решил поставить 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/?p=1824


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

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

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

Add your comment now

You must be logged in to post a comment.