В любой сети, где есть больше, чем один сервер, очень полезно бывает иметь перед глазами полную картину происходящего. В крупных сетях, где количество хостов переваливает за несколько десятков, следить за каждым в отдельности — непосильная задача для администраторов. Для облегчения задачи наблюдения применяются системы мониторинга.
Системы мониторинга сети позволяют автоматизировать упростить и ускорить процесс получения информации о состоянии сетевого оборудования, что необходимо каждому интернет-провайдеру. Если есть возможность в режиме реального времени наблюдать за состоянием оборудования, то появляется возможность решать большую часть проблем, которые могут возникнуть в сети, очень быстро, так сказать, «идя на опережение».
Какие бывают системы мониторинга? Их огромное множество, всех не перечесть. Давайте рассмотрим и проанализируем наиболее известные из них:
- Ganglia — масштабируемая распределенная система мониторинга кластеров параллельных и распределенных вычислений и облачных систем с иерархической структурой. Позволяет наблюдать статистику и историю (загруженность процессоров, сети) вычислений в реальном времени для каждой из наблюдаемых машин;
- Cacti — open-source веб-приложение, система позволяет строить графики при помощи RRDtool. Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде. Преимущественно используются стандартные шаблоны для отображения статистики по загрузке процессора, выделению оперативной памяти, количеству запущенных процессов, использованию входящего/исходящего трафика;
- Nagios — программа мониторинга компьютерных систем и сетей с открытым кодом. Предназначена для наблюдения, контроля состояния вычислительных узлов и служб, оповещает администратора в том случае, если какие-то из служб прекращают (или возобновляют) свою работу;
- ZABBIX — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
Требования, которые мы предъявляем к системам мониторинга при анализе:
- Прозрачная масштабируемость;
- Мониторинг нескольких тысяч устройств;
- Обработка нескольких тысяч уведомлений в день.
Первые две системы в нашем списке слишком просты для этих задач, поэтому будем рассматривать Nagios и Zabbix.
Nagios:
- Система не отказоустойчива и масштабируется переносом части проверок на отдельные сервера.
- Все изменения конфигурации выполняются правкой файлов конфигурации с последующим перезапуском Nagios.
- Слишком большой интервал между проверками и замерами параметров.
- База данных, в которой хранит данные, усредняет параметры, поэтому их точное значение за прошлый месяц посмотреть не получится.
Zabbix:
- Вся конфигурация хранится в базе, управляется через web-интерфейс;
- Единая точка доступа для пользователей;
- Разграничение доступа к данным и конфигурации;
- Минимальный интервал между замерами – 1 секунда;
- С серверов собираются не результаты проверок (сломалось или нет), а количественные характеристики работы, которые анализируются на стороне сервера;
- Время хранения данных ограничено лишь дисковым пространством.
Исходя из вышеописанного, можно сделать вывод, что Zabbix – наиболее подходящая для нас система мониторинга, она включает в себя весь функционал, необходимый для обеспечения бесперебойной работы системы мониторинга, бесперебойно следящей, максимально точно показывающей состояние сетевого оборудования в режиме реального времени и хранящей историю, к которой было бы максимально легко и быстро получить доступ.
Структура Zabbix:
- Zabbix сервер — это ядро программного обеспечения Zabbix. Сервер может удаленно проверять сетевые сервисы, является хранилищем, в котором хранятся все конфигурационные, статистические и оперативные данные, и он является тем субъектом в программном обеспечении Zabbix, который оповестит администраторов в случае возникновения проблем с любым контролируемым оборудованием.
- Zabbix прокси — собирает данные о производительности и доступности от имени Zabbix сервера. Все собранные данные заносятся в буфер на локальном уровне и передаются Zabbix серверу, к которому принадлежит прокси-сервер. Zabbix прокси является идеальным решением для централизованного удаленного мониторинга мест, филиалов, сетей, не имеющих локальных администраторов. Он может быть также использован для распределения нагрузки одного Zabbix сервера. В этом случае, прокси только собирает данные, тем самым на сервер ложится меньшая нагрузка на ЦПУ и на ввод/вывод диска.
- Zabbix агент — контроль локальных ресурсов и приложений (таких как жесткие диски, память, статистика процессора и т. д.) на сетевых системах, эти системы должны работать с запущенным Zabbix агентом. Zabbix агенты являются чрезвычайно эффективными из-за использования родных системных вызовов для сбора информации о статистике.
- Веб-интерфейс — интерфейс является частью Zabbix сервера, и, как правило (но не обязательно), запущен на том же физическом сервере, что и Zabbix сервер. Работает на PHP, требует веб сервер (напр. Apache)
То, что Zabbix – правильный выбор, подкрепляется многолетней практикой использования этой системы мониторинга многими компаниями по всему миру в таких странах, как Германия, Япония, Бразилия, Нидерланды, Польша, Латвия.
В России самый известный пользователь Zabbix – поисковая система Яндекс.
Библиографический список
- Официальный сайт Нагиос http://www.nagios.org/
- Официальный сайт Заббикс http://www.zabbix.com/
- Сайт про Open Source системы http://www.netways.de
- Базы данных документов http://cd-docdb.fnal.gov
- Обзор систем мониторинга от Яндекс http://download.yandex.ru/company/experience/rit2008/highload_lapan.pdf.