@ Карта сайта News Автора!

Bog BOS: Мониторинг загрузки каналов (и не только) MRTG

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение файла: 2009.10.29
Скопировано с www.bog.pp.ru: 2024.11.23

Bog BOS: Мониторинг загрузки каналов (и не только) MRTG

MRTG (Multi Router Traffic Grapher). Версия 2.9.2, 13 октября 2000. Автор развивает более совершенное средство - RRDtool.

По сравнению с 2.7.4 перешли на версию gd, делающую PNG вместо GIF; разборка MIB; locale (включая русский);  режим демона; разбиение файлов на директории HtmlDir, ImageDir, LogDir; SNMPv2c (в т.ч. 64-битные числа); параллельные запросы; интеграция с RRD.

Создает html-страницу с отображением загрузки канала за сутки, неделю (7 дней), месяц (4 недели) и год (12 месяцев). Скрипт на perl опрашивает маршрутизатор(ы) через SNMP, программа на C обрабатывает получившийся результат и создает красивые картинки в GIF/PNG, встроенные в html-страницу. Может генерить графики из других источников (cpuinfo, df, squid и др. и др.). Основное преимущество - постоянный размер журналов (более старая информация хранится с меньшими подробностями; максимальный срок хранения - 2 года). Имеются средства (полу)автоматической конфигурации. Быстр. Капризен к аварийному завершению (разрушаются журналы). Нельзя использовать для учета и биллинга. Слишком много он усредняет и сглаживает, используя достаточно сложные алгоритмы.

Установка 2.9.2 (Linux RedHat 6.2)

  1. взять свежую версию
  2. иметь libgd.a (старая версия 1.3 в /usr/lib,/usr/include; новая 1.8 в /usr/local/lib,/usr/local/include)
  3. иметь perl 5.005
  4. распаковать и зайти внутрь
  5. ./configure --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include (чтобы взять новую версию gd; --with-gd= не работает)
  6. make (все исполняемые файлы в bin)
  7. make install
    1. /usr/local/mrtg-2
      1. bin
        1. mrtg
        2. cfgmaker (создание простых файлов настройки mrtg.cfg)
        3. indexmaker (создание индексных html для наблюдения за группой интерфейсов)
        4. rateup (внутренняя программа - создает gif/png картинки)
      2. doc/mrtg2
      3. lib/mrtg2
      4. man/man1
  8. определиться, где mrtg будет хранить свои данные и куда будет помещать результаты расчетов
  9. скопировать .png из images в директорию, в которой будут лежать результаты
  10. обеспечить SNMP-доступ к обсчитываемым устройствам
  11. сбор информации с удаленных хостов с помощью SSH сделать особым образом
  12. создать mrtg.cfg
  13. настроить http-сервер
  14. добавить в crontab вызов mrtg каждые 5-минут

Сбор информации с удаленных хостов с помощью SSH

SSH довольно медленно инициализирует сеанс, поэтому сбор информации с удалённых хостов необходимо пакетировать:

  1. настроить выполнение пакетной команды ssh без задания пароля
    1. на mrtg-хосте создать специальный ключ для mrtg
    2. на остальных хостах добавить его в ~/.ssh/authorized_keys2 с командой ~/mrtg/gather_answer.sh
  2. на mrtg-хосте в crontab внести выполнение каждые 5 минут ~/mrtg/gather_query.sh
  3. gather_query.sh: обращается по ssh ко всем хостам и складывает результат в ~/mrtg/имя-хоста.data
  4. gather_answer.sh: собирает необходимую информацию в зависимости от имени локального хоста

cfgmaker (создание простых файлов настройки mrtg.cfg)

Пригоден только для первого эксперимента:

cfgmaker комьюнити@имя-маршрутизатора

mrtg.cfg

Общие правила записи: ключевое слово в начале строки до двоеточия; строка продолжения начинается с пробела; строки комментарии начинаются с #.  Команды:

Настройка Apache

Необходимо включить модуль mod_expire. В директории, куда mrtg складывает результаты, завести .htaccess:

<Files "*-day.png">
ExpiresActive On
ExpiresDefault M300
</Files>
<Files "*-week.png">
ExpiresActive On
ExpiresDefault M1800
</Files>
<Files "*-month.png">
ExpiresActive On
ExpiresDefault M7200
</Files>
<Files "*-year.png">
ExpiresActive On
ExpiresDefault M86400
</Files>
<Files "*.html">
ExpiresActive On
ExpiresDefault M300
</Files>
# index.html is not automatically generated
<Files "index.html">
ExpiresActive Off
</Files>

Запуск mrtg

Имеет всего один параметр: имя конфигурационного файла. Запускается либо из cron (каждые 5 минут), либо в режиме демона один раз (например, при старте Unix в rc.d).

indexmaker

Создание индексных html для наблюдения за группой интерфейсов

Установка 2.7.4 (Solaris 2.5)

Интересные примеры использования лежат в директории contrib.

Вместо df использовал поправленную версию inndf (который в отличие от стандартного не делает sync).

Ссылки

@ Карта сайта News Автора!

Bog BOS: Мониторинг загрузки каналов (и не только) MRTG

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru