MRTG

From Nix-Pro
Jump to: navigation, search

Установка

  • идем на [офф сайт ], скачиваем оттуда нужную версию. Распаковываем архив:
./configure
make
make install
  • После этого должен появиться каталог /usr/local/mrtg-2:

Настройка

  • Для работы mrtg необходимо сгенерировать конфигурацтонный файл mrtg. Для этого можно использовать утилиту /usr/local/mrtg-2/bin/cfgmaker. Пример использования утилиты:
/usr/local/mrtg-2/bin/cfgmaker community@127.0.0.1 --output=/etc/mrtg/mrtg.conf
  • Список доступных оций:

WorkDir: имя-директории (задает размещение журнала, рабочих файлов и генерируемых страниц, имеет приоритет над HtmlDir, ImageDir и LogDir)
LogDir: имя-директории
Refresh: частота перерисовки в броузере (по умолчанию 300 секунд)
RunAsDaemon: no | yes
Target[target]: порт:комьюнити@маршрутизатор[:port[:timeout[:retries[:backoff[:2]]]]], где

  • порт - номер интерфейса на маршрутизаторе (номер в некоей внутренней таблице). Если снимать нужно с интерфеса на локальном компьютере то таблицу интерфейсов и их индексов можно просмотреть с помощью команды ip ad. Также можно жестко указать имя интерфейса вместо индекса. Примеры:
    Target[localhost_eth0]: \eth0:public@192.168.2.124:
    Target[localhost_eth0]: 2:public@192.168.2.124:
  • комьюнити - community в смысле SNMP (пароль на чтение)
  • маршрутизатор (имя или IP-адрес) (не любит точку в конце имени)
  • port - по умолчанию стандартный порт SNMP (UDP 161)
  • timeout - 2 секунды
  • retries - 5 раз
  • backoff - во сколько раз увеличивать timeout при каждом повторе (по умолчанию - 1)
  • 2 - означает использование 64-битных счетчиков (устройство должно поддерживать SNMPv2c)

<note>Если перед номер порта поставить знак "минус", то входной и выходной трафик меняется местами.

Target[target]: внешняя-программа-с-параметрами-в-обратных-кавычках
программа должна возвращать на стандартный вывод 4 строки

  • значение первой переменной (предполагается счетчик входных байт)
  • значение второй переменной (предполагается счетчик выходных байт)
  • текстовая строка, содержащая информацию о времени работы объекта после включения (uptime)
  • строка, указывающая имя объекта


После этого должен появиться файл конфигурации /etc/mrtg/mrtg.conf. Его можно/нужно отредактировать руками добавив/удалив нужные/ненужные опции.После того как сформирован конфигурационный файл необходимо сгенерировать html страницу со статистикой. Для этого можно/нужно воспользоваться утилитой /usr/loca/mrtg-2/bin/indexmaker/indexmaker. Пример использования indexmaker:

/usr/local/mrtg-2/bin/indexmaker --output /var/www/index.html /etc/mrtg/mrtg.conf

Примеры скриптов для составления локальной статистики (!SNMP):
Пример №1:

#!/bin/bash
# Usage: count.sh iface
/bin/grep "$1" /proc/net/dev | awk -F ":" '{ print $2 }' | awk '{ print $1 "\n" $9 }'
UPTIME=`/usr/bin/uptime | /bin/awk -F " " '{ print $3 }'`
echo $UPTIME
echo $1

Пример №2:

#!/bin/bash
#Usage: count.sh iface
ifconfig $1 | awk '/bytes/ {print $2}' | sed 's/bytes://'
ifconfig $1 | awk '/bytes/ {print $6}' | sed 's/bytes://'
UPTIME=`/usr/bin/uptime | /bin/awk -F " " '{ print $3 }'`
echo $UPTIME
echo $1

Пример конфигурационного файла mrtg.conf:

WorkDir: /home/www/mrtg
LogDir: /home/www/mrtg
Refresh: 300
Interval: 5
RunAsDaemon: Yes

##########iface eth0###########
Target[eth0]: `/etc/mrtg/count.sh eth0`
Title[eth0]: Output interface
PNGTitle[eth0]: Interface to Internet
MaxBytes[eth0]: 640000
AbsMax[eth0]: 1280000
Options[eth0]: growright, bits
PageTop[eth0]: <h1>Output interface</h1>
kilo[eth0]: 1024
ShortLegend[eth0]: b/s
Legend1[eth0]: Incoming Traffic in Bits per Second
Legend2[eth0]: Outgoing Traffic in Bits per Second
Legend3[eth0]: Maximal 5 Minute Incoming Traffic
Legend4[eth0]: Maximal 5 Minute Outgoing Traffic
LegendI[eth0]: In:
LegendO[eth0]: Out:


Использование

Для запуска добавляем в crontab:

*/5 *   * * *   root    env LANG=C /usr/local/mrtg-2/bin/mrtg /etc/mrtg/mrtg.conf

Used Documentation

http://linux.yaroslavl.ru/docs/conf/MRTG.html
http://ras.pl.ua/ras_mrtg_cover/
http://ru.gentoo-wiki.com/wiki/HOWTO_%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_MRTG
http://tuupic.org.ru/nastrojka-mrtg-na-centos/
http://silverghost.org.ua/2008/05/04/svyazka-snmpd-mrtg/
http://subnets.ru/blog/?p=27

http://server-tuning.info/linux/mrtg-scripts.html
http://www.opennet.ru/base/sys/mrtg_install.txt.html
http://forum.lafox.net/index.php?showtopic=13143
http://ftp.linux.org.ua/pub/docs/mirrors/pm4u.opennet.ru/mrtg.htm