Главная страница Статьи / Unix Мониторинг загрузки интернет-канала. Установка и настройка MRTG

Рекомендую - скидка 25%

Баннер

Поиск по сайту

Добавить в закладки!

odnaknopka.ru/kolyan.cz

Мониторинг загрузки интернет-канала. Установка и настройка MRTG PDF Печать E-mail
Статьи - Unix

Захотелось мне иметь красивый график загрузки канала интернет и подсчет трафика.

Посмотрел статью, поднятие snmpd, который будет непонятно от кого получать или SNMP-traps или коннектится куда-то - совершенно лишнее, т.к. MRTG прекрасно умеет ходить через SNMP и считывать данные с интерфейсов.

Итак, приступим:

Настраиваем модем
Advanced - SNMP - Enable SNMP Agent
Community - пишите ваше snmp-community-name (держите в секрете, это типа пароля доступа)
Access Right - ReadOnly

Ставим MRTG
# cd /usr/ports/net-mgmt/mrtg
# make install clean
опции configure я оставил по-умолчанию

Мой конфиг MRTG /usr/local/etc/mrtg/mrtg.cfg

EnableIPv6: no
WorkDir: /home/share/public_html/dlink
Options[_]: bits,growright
Target[ppp0]: 6:snmp-community-name@router-ip-address
SetEnv[ppp0]: MRTG_INT_DESCR=”ppp0″
MaxBytes[ppp0]: 16000
AbsMax[ppp0]: 2500000
Title[ppp0]: Traffic Analysis for PPPoE interface ppp0
PageTop[ppp0]: <h1>Traffic Analysis PPPoE interface ppp0</h1>
<div id=”sysdetails”>
<table>
<tr>
<td>System:</td>
<td>D-Link ADSL Router</td>
</tr>
<tr>
<td>Description:</td>
<td>PPPoE interface ppp0</td>
</tr>
<tr>
<td>Max Speed:</td>
<td>128Kbits/s</td>
</tr>
</table>
</div>

MaxBytes[ppp0]: 16000 - скорость канала в интернет в байтах в секунду, в моем случае 128 килобит*1000/8 = получаем 16000 - это определит первоначальный масштаб графика, процент загрузки канала
В одном килобите - 1000 бит.
AbsMax[ppp0]: 2500000 - это абсолютно максимальная скорость линка (в моем случае я поставил 25 мегабит)
Дело в том, что MRTG в случае превышения значения MaxBytes не сможет отрисовать график выше (изменить масштаб) и зафиксировать это значение, для этого и используется AbsMax.
Сейчас стало действовать ночное удвоение скорости канала до 256 килобит и поэтому его видно как все, что выше линии вдоль графика.

Для первоначальной генерации конфига можно воспользоваться командой
# /usr/local/bin/cfgmaker –global “WorkDir: /home/share/public_html/dlink” –global “Options[_]: bits,growright” -output /usr/local/etc/mrtg/mrtg.cfg snmp-community-name@ip-address-of-router

А потом поправить так как нужно удалив все лишнее. Естественно, можно мониторить езернет или бридж, в зависимости от дальнейшей вашей конфигурации. Имена интерфейсов на модеме можно посмотреть зайдя на него через telnet и набрав команду ifconfig и номер интерфейса будет его номером в списке, считается, как ни странно, с единицы.

Запускать это дело из cron раз в 5 минут как
/usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

Раз в 5 минут - это минимально возможное время для запуска из cron, реже - можно, чаще-нельзя.

И в директории WorkDir у вас будут появляться файлы
ppp0.html - собственно смотреть в браузере
несколько .png - картинки графиков статистики трафика за день, неделю, месяц, год
ppp0.log и ppp0.old - данные статистики для их создания

Если вы хотите мониторить несколько интерфейсов, то индексный файл для браузера можно создать как руками, а можно использовать утилиту indexmaker, она соберет все, что найдет в mrtg.conf
# indexmaker /usr/local/etc/mrtg/mrtg.cfg > /home/share/public_html/dlink/index.html

Я запускаю mrtg под юзером, а не под root, пришлось поменять права на /usr/local/etc/mrtg/, иначе не может писать туда lock-file
drwxrwxr-x 2 root share 512 28 авг 17:55 /usr/local/etc/mrtg/

А теперь самое интересное. Скажем у вас дома нет Unix-сервера, а на декстопе стоит windows. Или несколько компьютеров, но сервера как-такового нет. А иметь мониторинг хочется Тогда поставить MRTG можно на любой внешний сервер, даже на виртуальный, скажем на VDS от FirstVDS (подойдет самый минимальный тариф) или аналогичный с системой FreeBSD, на модеме настроить динамический DNS и извне обращаться к нему по этому имени за статистикой.
Таким образом у вас будет статистика загрузки домашнего интернет-канала доступная откуда угодно, что может пригодиться как-либо.

Как настроить динамический DNS? - это очень просто. Модемы-роутеры Dlink поддерживают 2 службы бесплатных Dynamic DNS - dyndns.org и no-ip.org.

Я пользуюсь первым. Регистрируйтесь на http://dyndns.org. Далее (так как нам нужен бесплатный сервис идите в Host Services - Dynamic DNS hosts и там регистрируйте себе домен 3го уровня вида вашеимя.dyndns.org (доменов много, можно выбрать из списка). После успешного создания в настройках модема в меню Dynamic DNS Configuration выберете провайдера, укажите ваш логин/пароль и зарегистрированный домен 3го уровня.

На этом все. При соединении с интернетом модем будет сообщать в DNS свой новый IP-адрес и доступен по этому имени. Если не работает - проверьте настройки Firewall в модеме, у меня он вообще тупо выключен, так как с ним этот чудо-роутер постоянно зависает ;)

 
Документация @ Ihtiandr.Info