Андрей Маркелов
Что такое MRTG? MRTG (Multi Router Traffic Grapher) – сервис, позволяющий
посредством протокола SNMP получать из нескольких устройств информацию и
отображать в окне вашего браузера графики загруженности канала (входящий
трафик, исходящий, максимальный, средний) с шагом в минуты, часы, дни и за год.
Пример работы программы вы можете увидеть по адресу: http://www.ee.ethz.ch/stats/mrtg.
Почему в заглавии статьи есть фраза «простая
установка»? Объясняю. В большинстве случаев системному администратору не
требуется мониторить кучу точек своей сети посредством SNMP. Для небольшой
организации наиболее логичным и зачастую единственным применением подобного
инструмента является мониторинг загрузки внешнего интерфейса прокси-сервера, на
который мы и будем локально ставить MRTG. Это значительно упрощает установку
программы и исключает использование протокола SNMP.
Опять же из соображений простоты установки выбран
Red Hat Linux (ну и, конечно, из соображений распространенности в России, не
забываем, что ряд российских дистрибутивов создан на основе «шапочки»). Это
позволит нам избежать этапов компиляции библиотек и самого MRTG.
Требования к установке
Для работы MRTG требуются следующие библиотеки:
n gd – graph drawing library. Библиотека,
ответственная за формирование графики (http://www.boutell.com/gd);
n libpng – требуется gd для создания графики в
формате png (http://www.libpng.org/pub/png/src);
n zlib – данная библиотека используется для
компрессии созданной графики (ftp://sunsite.cnlab-switch.ch/mirror/infozip/zlib).
Берем с сайта Red Hat (или диска с дистрибутивом)
соответствующие rpm-пакеты и устанавливаем их командной:
rpm –i <имя пакета>
У меня были установлены следующие
версии:
n gd-1.8.4-4.rpm
n libpng-1.0.12-2.rpm
n zlib-1.1.4-8.rpm
Перед тем как устанавливать пакет, вы можете
проверить его наличие в системе, а соответственно и необходимость установки
командой:
rpm –qi <имя пакета>
Устанавливаем и настраиваем
MRTG
Идем на сайт проекта http://people.ee.ethz.ch/~oetiker/webtools/mrtg.
По ссылке «Download MRTG» качаем собранный под Red Hat rpm-пакет. Ставим
аналогично библиотекам командой:
rpm –i
mrtg-2.x-y-z.i386.rpm
В результате получаем в каталоге Apache c
содержанием вашего сайта (/var/www/html/) подкаталог mrtg c html-файлами
документации. Сюда же будут помещаться результаты визуализации работы MRTG. В /etc/mrtg
помещается файл mrtg.cfg с настройками, а в /usr/bin/ – утилиты
конфигурирования и непосредственно сам исполнимый файл /usr/bin/mrtg.
Далее при стандартной настройке сервиса нам бы
пришлось настраивать SNMP как на устройстве/интерфейсе, с которого снимаем
информацию, так и на нашей локальной машине, где установлен MRTG. Мы же
обойдемся без этого, и по адресу http://freshmeat.net/redir/cban/18710/url_tgz/cban-0.1.8-0.tgz
скачаем утилитку 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]: <H1>eth0
statistics</H1>
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:
WithPeak[eth0]: ymwd
Фактически это готовый конфигурационный файл,
работающий и без изменений. Обращаю внимание на строчку «Target[eth0]: `/usr/sbin/cban
-i eth0 -m`». В ней прописан вызов нашей утилиты. eth0 – имя отслеживаемого
интерфейса локальной машины. При необходимости отслеживать другой интерфейс вы
должны здесь его указать.
Кроме того, нужно указать каталог, куда будем
складывать результаты работы в виде HTML-странички с графиками WorkDir: /var/www/html/mrtg.
По адресу http://ваш_хост/mrtg/reference.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
Поздравляю! Теперь у нас есть инструмент
наглядного и понятного контроля за трафиком в офисе. Да и большому начальнику
при необходимости можно показывать эти «веселые картинки».