Что такое NETMON?
NETMON (NETwork MONitor) - это система мониторинга IP-сети. NETMON позволяет
контролировать в реальном времени работоспособность сети, состоящей из
множества обьектов - роутеров, интерфейсов, BGP-пиров, хостов и их сервисов.
С помощью NETMON можно отслеживать состояния таких обьектов, собирать
значения всевозможных каунтеров, определять события и реакцию на них,
сохранять историю работы сети.
NETMON - модульная программа, где модули работают автономно и параллельно,
используя общие планировщик, коррелятор, алармер и логер. Все данные могут
динамически выводиться на web-интерфейс. Множество алармов определяются
как набор внешних программ, вызываемых при определенных условиях. Способы
сохранения данных имеют простой и гибкий формат определения. Каждый обьект
мониторинга способен иметь собственное подмножество алармов и способов
протоколирования данных.
Таким образом, NETMON позволяет решать следующие основные задачи:
- мониторить состояние роутеров, интерфейсов и BGP-сессий;
- собирать и хранить значения каунтеров с интерфейсов;
- мониторить состояние хостов и их сервисов;
- протоколировать работу сети;
- динамически определять сетевую топологию;
- достоверно определять источник проблемы и извещать о них;
- отображать это все на web.
Отличительные особенности NETMON от других систем мониторинга:
- отсутствие большого количества промежуточных итераций; функции
сбора и обработки информации, установки зависимостей, определения и
вызова алармов выполняются только одной програмой;
- простая и быстрая конструкция, единственный файл конфигурации;
- гибкая настройка алармов, способов сохранения данных, методов контроля
за сетевыми сервисами;
- не требует больших системных и сетевых ресурсов;
Упрощенная модель всей системы мониторинга может выглядеть так:
U S E R State History Alarm
^ ^ ^
- -|- - - - - - | - - - - | - - - - | - -
| ,-----------, |
| ,------> | CGI | |
| | `-----------' |
v | ^ ^ |
,--------, | | |
| CONFIG | NETSTATE DATABASE ALARMSET
`--------` ^ ^ ^
| | | |
| ,---------------------,
`------> | NETMON |
`---------------------'
| ^ |
- - - - - - - - | - - - - | - - - - | - -
v | v
N E T Polling Traps Discovery
Следует иметь в виду, что в системе полностью отсутствует функция управления
сетью, - такая задача не ставилась в данном проекте.
Система NETMON состоит из трех базовых (CONFIG, NETMON и CGI)
и некоторого набора вспомогательных (NETSTATE, DATABASE и
ALARMSET) компонентов.
NETMON
Ядром всей системы является програма сбора и обработки данных
netmond, в свою очередь состоящая из следующих основных
функциональных модулей:
- асинхронно-параллельный поллер обьектов и значений, использующий
протоколы SNMP, ICMP и TCP/UDP-чат-скрипты;
- автономный SNMP-траппер, распознающий Cold/Warm Start и Link Up/Down;
- коррелятор событий, динамически определяющий топологические
зависимости контролируемых обьектов;
- шедулер, оптимально распределяющий нагрузку на сеть по времени и топологии;
- фоновый дампер текущего состояния сети, сохраняющий необходимые
данные определенным в NETSTATE способом и форматом;
- логер состояний и значений, сохраняющий данные определенным
способом и форматом во внутреннюю или внешнюю DATABASE;
- алармер, вызывающий внешние програмы реагирования в заданном
случае и формате из набора программ-алармеров ALARMSET.
CGI
Web-интерфейс предназначен для графического отображения состояния
сети, обьектов и значений средствами html. Использует файл текущего
состояния сети netmond. Комплект состоит из:
| gen_template.pl | создание файла-шаблона для netmond; |
| netmon.cgi | основной (стартовый) скрипт; |
| netmon_config.pl | конфигурационный файл; |
| netmon_lib.pl | функции, используемые всеми скриптами; |
| netmon_netstate.pl | чтение файла 'netstate' от netmond; |
| full.cgi | текущее состояния всей сети; |
| problems.cgi | только проблемы в сети; |
| router.cgi | детально маршрутизаторы/интерфейсы/bgp; |
| host.cgi | детально хосты/сервиса; |
| topology.cgi | текущая топология сети; |
| graph | программа построения графиков; |
| *.gif | вспомогательные изображения. |
CONFIG
Файл конфигурации NETMON. Его синтаксис описан в отдельном документе.
Получить NETMON. Текущая версия - 1.0а.
Инструкции по установке пакета NETMON находятся в файле INSTALL.
Для вопросов, обсуждения возможностей и недостатков пакета NETMON существует список рассылки
netmon@service.risp.ru.
Для подписки отправьте письмо на адрес majordomo@service.risp.ru, в
теле письма укажите 'subscribe netmon'.
|