Разработка проекта сетевой инфраструктуры компании

Обзор решений для мониторинга состояния сети

 При увеличении количества сетевого оборудования и серверов, задействованных в корпоративной инфраструктуре, увеличивается и количество проблем требующих вмешательство и решения со стороны администратора. За парой серверов и коммутатором вполне можно присматривать без использования каких-либо специализированных утилит. За десятком – уже не удобно. Когда устройств и систем требующих постоянного контроля становятся сотни – появляется необходимость во внедрении системы мониторинга. Задачи мониторинга:

Сбор данных о работе коммутаторов, серверов и сервисов

Оповещение о возникновении проблем

Накопление и анализ собранных данных

Большинство производителей сетевого оборудования предлагают собственные решения мониторинга сети, как платные так и бесплатные. Пример – Cisco Prime, Juniper Junospace. Подобные решения полностью покрывают потребность в контроле за состоянием сети, но только в случае инфраструктуры построенной на продукции производителя. Поэтому, для решения задачи остается использовать либо сразу несколько систем производителей оборудования, и каким-либо образом интегрировать их между собой, либо выбрать одно из сторонних решений.

Прежде всего, следует рассмотреть основные службы, подсистемы и протоколы, которые могут использоваться для мониторинга сетевой инфраструктуры:

Syslog (system log – системный журна) - стандарт отправки сообщений, широко распространенный в unix-, а так же GNU/Linux- системах. Помимо этого, поддерживается практически управляемым сетевым оборудованием, позволяет собирать данные самодиагностики системы, оповещения о произошедших событиях.

SNMP (Simple network management protocol - простой протокол сетевого управления) – стандартный протокол управления устройствами в ip-сетях. Предоставляется данные для управления в виде переменных, описывающих конфигурацию управляемых устройств. Эти переменные могут быть запрошены системой мониторинга у управляемых устройств. Широко поддерживается производителями сетевого оборудования. Данные, которые можно получить по SNMP от устройства зависят от MIB, базы управляющей информации, реализованной производителем устройства.

Netflow – сетевой протокол для учета сетевого трафика. Позволяет осуществлять сбор данных с маршрутизаторов о количестве прошедшего через устройство трафика, с указанием протокола, адресами и портами источника и назначения. Такие данные могут быть полезны при анализе потоков данных в сети и иследовании инцидентов.

Рассмотрим несколько наиболее распространенных решений мониторинга инфраструктуры, выявим преимущества и недостатки:

Cacti

Nagios

Zabbix

Cacti – веб-приложение с открытым исходным кодом, написанное на PHP и C. Распространяется бесплатно. Предназначено для мониторинга сетевой инфраструктуры и построения графиков. Для хранения собранных данных использует RRD (Round-robin database, кольцевая база данных). Для работы с графиками используется RRDTool. Данные с устройств собираются в основном с помощью SNMP. Возомжно расширение функционала с помощью внешних плагинов, так же написанных на PHP. Является наиболее распространенным решением для визуализации и сбора данных. После установки вся настройка осуществляется через графический интерфейс. Обладает минимальными возможностями выявления проблем и посылки оповещений.

Достоинства:

Распространенность, широкая поддержка сообществом

Кросплатформенность

Расширяемый функционал

Производительность (за счет быстрого поллера, написаного на C)

Недостатки:

Ориентированность на построение графиков и опрос по SNMP

Необходимость использования плагинов для создания системы оповещений об аномалиях

Сложность написания плагинов (по сравнению с другими системами)

Все опросы происходят с локальной системы, удаленные проверки невозможны.

Таким образом, cacti требует серьезной доработки для использования в качестве основной системы мониторинга, и наиболее разумно сочетать с другими системами, используя cacti исключительно для построения графиков, хранения и экспорта данных.

Nagios – одна из самых популярных систем мониторинга. Открытые исходные коды, распространяется бесплатно. Простая и расширяемая архитектура, позволяет быстрое написание и адаптацию расширений. Возможна установку на любую unix-подобную систему (GNU/Linux, FreeBSD, Solaris). Широкий возможности по настройке системы оповещений о проблемах, эскалации. Возможен удаленный мониторинг через SSL-, SSH- туннели с помощью NRPE (Nagios Remote Plugin Executor). За счет распространенности имеет множество доступных плагинов на все случаи жизни. Имеется возможность проактивного решения проблем, средства для построения распределенного мониторинга. Все настройки хранятся и изменяются в файлах конфигурации. Позволяет опредение иерархии устройств, уменьшая количество уведомлений о проблемах на нижестоящих устройствах при отказе вышестоящего.

 Достоинства:

Распространенность, широкая поддержка сообществом

Простота написания расширений, большая база уже готовых.

Возможность создания распределенной системы, выполнения удаленных проверок

Простой формат файла конфигурации, возможность автоматизировать внесение новых устройств в систему

Недостатки:

Практически отсутствуют встроенные средства визуализации, построения графиков.

Нет возможности конфигурации через графический интерфейс

Запуск каждого плагина как отдельного процесса в ходе работы системы

После изменения конфигурации требуется перезапуск nagios

Большой минимальный интервал между проверками

Исходя из описанного, Nagios вполне можно использовать для решения задачи мониторинга корпоративной сети, однако его необходимо дополнить каким либо решением визуализации и хранения численных данных (например, графиков трафика и ошибок на портах коммутаторов).

 Zabbix – система построения распределенного мониторинга, исходные коды открыты, поддерживается латвийской компанией Zabbix SIA. Для хранения данных использует базу данных. Поддерживает различные способы уведомелния о проблемах. Конфигурация системы централизована, старшие по иерархии сервера мониторинга контролируют настройки подчиненных серверов. Возможно установка zabbix-сервера на любую unix-подобную операционную систему. Широкие встроенные возможности визуализации. Есть система автообнаружения объектов мониторинга.

 Достоинства:

Подход к мониторингу как к распределенной системе

Возможность конфигурации через интерфейс и с помощью API

Хранение настроек в БД, вступление изменений «на лету»

Встроенные средства визуализации

Минимальный интервал между замерами – 1 секунда

Развитые возможности анализа собранных данных

Недостатки:

Необходимость серьезной адаптации системы для мониторинга конкретной сетевой инфраструктуры

Сложность написания расширений (по сравнению с Nagios)

Все данные истории хранятся в базе, что ограничивает масштабируемость и неэффективно

Не обеспечена отказоустойчивость

Zabbix предоставляет комплексное решение организации мониторинга,

однако требуется значительной конфигурации на начальном этапе для удовлетворения требований проекта, что усугубляется повышенной по сравнению с Nagios сложностью написания и интеграции расширений.

Наиболее подходящим для решения задачи построения целостной системы мониторинга состояния корпоративной сети является сочетание Nagios и внешней утилиты сбора и хранения данных, а так же построения графиков – munin, mrtg, cacti, cricket. За счет простой, раширяемой архитектуры, данная связка позволит полностью покрыть потребность в сборе, хранении и анализе происходящих событий. Так же использование Nagios позволит реализовать гибкую систему оповещений о проблемах. Так же остается возможность безболезненной интеграции иных систем мониторинга (например, Cisco Prime) с Nagios, если возникнет такая необходимость.

 Были рассмотрены наиболее актуальные технологии, используемые при организации корпоративных сетей, как проводные так и беспроводные решения. Выбраны наиболее подходящие для реализации проекта корпоративной сети компании. Рассмотрены решения авторизации пользователей и контроля доступа к проводной и беспроводной сети, выявлены преимущества и недостатки различных подходов, выбрано наиболее подходящее решение – семейство протоколов IEEE 802.1x.

Конфигурация локальных сетей