понедельник, 6 октября 2014 г.

Мониторим загрузку трафика

Для этой цели будем использовать инструментарий Multi Router Traffic Grapher (MRTG).

Установка:
# yum install mrtg

Конфигурационные файлы для mrtg можно генерировать утилитой cfgmaker, но мы создадим основную конфигурацию /etc/mrtg/mrtg.cfg вручную, а для самих устройств уже нагенеририм конфигурации.

Сперва создадим каталог для конфигурационных файлов оборудования, в данном случае cisco и укажем в mrtg это расположение:
Include:        cisco/*.cfg

каталог cisco расположен в том же каталоге, что и основной конфигурационный файл mrtg.cfg (в /etc/mrtg).

Далее настроим глобальное определение WorkDir, которое будет указывать расположение логов и веб-страничек.
WorkDir:        /var/www/mrtg

Вместо WorkDir можно использовать определения HtmlDir, ImageDir и LogDir для сепарации данных по каталогам. Названия этих определений говорят о своём функциональном назначении.

Настроим количество процессов:
Forks:          4

Укажем срок хранения логов в секундах:
MaxAge:         604800

Настроим выводные данные:
Options[_]:     growright, bits

  • опция growright определяет, что время на графике будет расти вправо и шкала значений будет расположена слева;
  • опция bits определят, что все значение будут выводиться в битах, а не в байтах (т.е. умноженные на 8).
Также существуют и другие опции, с которыми можно ознакомиться в документации.

Запускать будем в режиме демона:
RunAsDaemon:    Yes

и укажем интервал снятия данных в минутах:
Interval:       5

Отключаем неиспользуемый IPv6:
EnableIPv6:     no

В итоге основной конфигурационный файл выглядит так:
# grep -v ^# /etc/mrtg/mrtg.cfg
Include:        cisco/*.cfg
WorkDir:        /var/www/mrtg
Forks:          4
MaxAge:         604800
Options[_]:     growright, bits
RunAsDaemon:    Yes
Interval:       5
EnableIPv6:     no


Запускать демона будем не привилегированным пользователем mrgt:
# useradd -s /usr/sbin/nologin mrtg
# systemctl enable mrtg

Правим в файле /usr/lib/systemd/system/mrtg.service следующие строки:
ExecStart=/usr/bin/mrtg --user=mrtg --group=mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok --pid-file=/var/lib/mrtg/mrtg.pid
Type=forking

Перечитываем конфиги systemd:
# systemctl daemon-reload

В первой строке указываем пользователя и группу, во второй выбираем тип демона в соответствии с нашими настройками (RunAsDaemon: yes; NoDetach: no).

Теперь необходимо расставить верные права на рабочие каталоги mrtg:
# chown mrtg.mrtg /var/www/mrtg
# chown mrtg.mrtg /etc/mrtg/*
# chown mrtg.mrtg /var/lock/mrtg
# chown mrtg.mrtg /var/lib/mrtg/

Сервис mrtg готов к запуску:
# systemctl start mrtg

Настройка конфигураций устройств подлежащих мониторингу.
# cfgmaker --output=file_name.cfg community@address

где:
  • file_name.cfg - имя генерируемого файла;
  • community - общая строка (пароль);
  • address - адрес оборудования.
В сгенерированном файле можно закомментировать порты/интерфейсы не требующие контроля или же наоборот раскомментировать те порты/интерфейсы, которые утилита cfgmaker промаркировала как комментарии.

И подобным образом создаются конфигурационные файлы mrtg для всех устройств, требующих мониторинга. Располагаться эти файлы должны в месте, которое знает mrtg (определение Include в файле /etc/mrtg/mrtg.cfg).

После изменения файлов конфигураций или добавлении нового файла необходимо перезапустить сервис mrtg.

Комментариев нет:

Отправить комментарий