Простая установка MRTG на CentOS

Distructor
Администратор
Введение
  • mrtg3.jpg
    Что такое MRTG? MRTG - это Multi Router Traffic Grapher, сервис, позволяющий посредством протокола SNMP получать из нескольких устройств информацию, и отображать в окне вашего браузера графики загруженности канала (входящий трафик, исходящий, максимальный, средний) с шагом в минуты, часы, дни и за год. Пример работы программы Вы можете увидеть на рисунке. Там показаны два графика - за неделю и за месяц. Соответственно с шагом в 30 минут и два часа.

    Почему в заглавии статьи есть фраза "простая установка"? Объясняю. В большинстве случаев системному администратору не требуется мониторить кучу точек своей сети посредством SNMP. Для небольшой организации наиболее логичным, и зачастую единственным применением подобного инструмента является мониторинг загрузки внешнего интерфейса прокси-сервера, на который мы и будем локально ставить MRTG. Это значительно упрощает установку программы и исключает использование протокола SNMP.

    Однако, необходимо заметить, что применение Multi Router Traffic Grapher не ограниченно лишь указанным дистрибутивом, или вообще операционной системой Linux. При наличии библиотек, перечисленных в следующем разделе и работающего http-сервера, Вы сможете запустить MRTG и на другой системе.
Требования к установке
  • Для работы MRTG требуются следующие библиотеки:
    * gd - graph drawing library. Библиотека, ответственная за формирование графики;
    * libpng - требуется gd для создания графики в формате png;
    * zlib - данная библиотека используется для компрессии созданной графики;

    Устанавливаем их

    Код: Выделить всё

    yum install gd lipng zlib -y

Устанавливаем и настраиваем MRTG
  • Устанавливаем MRTG

    Код: Выделить всё

    yum install mrtg -y
    В результате получаем в каталоге Apache c содержанием Вашего сайта (/var/www/html/) подкаталог mrtg c html-файлами документации. Сюда же будут помещаться результаты визуализации работы MRTG. В /etc/mrtg помещается файл mrtg.cfg с настройками, а в /usr/bin/ утилиты конфигурирования и непосредственно сам исполнимый файл /usr/bin/mrtg.

    Далее, при стандартной настройке сервиса, нам бы пришлось настраивать SNMP как на устройстве/интерфейсе с которого снимаем информацию, так и на нашей локальной машине, где установлен MRTG. Мы же обойдемся без этого, и по адресу http://freshmeat.net/projects/cban (внешка) скачаем утилитку cban (Current BANdwidth by Nicu Pavel), которая будет поставлять нам нужную информацию, обходясь без SNMP.

    Разворачиваем архив, и кладем файл /bin/cban в /usr/sbin. Также для нас интерес представляет файл /etc/mrtg/sample-mrtg.cfg - это, как и обещает нам название, пример конфига для mrtg. Приведу его полностью, комментируя значения параметров:

    Код: Выделить всё

    # название генерируемой страницы
    Title[eth0]: Traffic eth0
    #  при получении значения, большего чем заданное, значение не учитывается для построения графика
    MaxBytes[eth0]: 125000
    # при получении значения, большего чем заданное, значение вообще не учитывается
    AbsMax[eth0]: 125000
    # опция означает, что берется текущее входное значение, а не по нарастающему итогу 
    Options[eth0]: gauge
    #  откуда получаем данные
    Target[eth0]: `/usr/sbin/cban -i eth0 -m`
    # заголовок генерируемой страницы
    PageTop[eth0]: eth0 statistics
    # подпись к значению по оси Y графика
    YLegend[eth0]: Bytes/s
    # единица измерения. добавляется к максимальному, текущему и среднему значению
    ShortLegend[eth0]: B/s
    # подпись для входящего трафика
    Legend1[eth0]: Incoming Traffic
    # подпись для исходящего трафика
    Legend2[eth0]: Outgoing Traffic
    # подпись для максимального входящего трафика
    Legend3[eth0]: Maximum Incoming Traffic
    # подпись для максимального исходящего трафика
    Legend4[eth0]: Maximum Outgoing Traffic
    # краткая подпись для цифровых данных (входящий)
    LegendI[eth0]:  In:
    # краткая подпись для цифровых данных (исходящий)
    LegendO[eth0]:  Out:
    # строим графики за y-год, m-месяц, w-неделю, d-день
    WithPeak[eth0]: ymwd
    Фактически это готовый конфигурационный файл, работающий и без изменений. Обращаю внимание на строчку "

    Код: Выделить всё

    Target[eth0]: `/usr/sbin/cban -i eth0 -m`

    В ней прописан вызов нашей утилиты. eth0 - имя отслеживаемого интерфейса локальной машины (посмотреть все интерфейсы можно командой ifconfig). При необходимости отслеживать другой интерфейс, Вы должны здесь его указать.

    Кроме того, нужно указать каталог, куда будем складывать результаты работы в виде HTML - странички с графиками:

    Код: Выделить всё

    WorkDir: /var/www/html/mrtg
    По адресу http://ваш_хост/mrtg/eth0.html будет находиться страничка с результатами работы мониторинга.

Запуск MRTG
  • После того, как мы разобрались с конфигурационным файлом, осталось попробовать запустить исполняемый файл /usr/bin/mrtg и посмотреть что в результате получится. Даем команду:

    Код: Выделить всё

    /usr/bin/mrtg /etc/mrtg/mrtg.cfg --logging /var/log/mrtg.log
    и проверяем каталог, заданный параметром WorkDir на предмет появившихся новых файлов. Если все в порядке, то теперь можно заставить MRTG перегенерировать статистику, например, каждые пять минут:

    Код: Выделить всё

    crontab -e
     */5 * * * * /usr/bin/mrtg /etc/mrtg/mrtg.cfg --logging /var/log/mrtg.log
    Поздравляю! Теперь у Вас есть инструмент наглядного и понятного контроля за трафиком в офисе. Да и большому начальнику, при необходимости, можно показывать эти "веселые картинки" :).
Заключение
  • Должен сказать, что было бы странным, если бы столь мощный инструмент использовался только для мониторинга сетевого трафика. Используя MRTG, Вы можете строить графики загрузки, например памяти или времени отклика Вашей web-странички. Целый ряд addon-ов можно взять по адресу http://oss.oetiker.ch/mrtg/3party.en.html (внешка).
Немного доработанная статья http://www.opennet.ru/base/sys/mrtg_install.txt.html (А. Маркелов) (внешка)

Более продвинутая установка и настройка описана в статье http://ruleoftech.wordpress.com/2007/06 ... -and-mrtg/ (внешка)
Вернуться к началу