Рассмотрим стандартные и новые возможности, принцип работы, настройку веб-интерфейсов, преимущества и недостатки Nagios.

 

Введение

Какое бы надежное ПО и оборудование не было бы установлено, от случайных сбоев никто не застрахован. Время от времени происходят разного рода неприятности, зависают от перегрузки сервисы, пропадают каналы передачи данных, прекращают работать критично важные приложения. Плохо, если об этих проблемах сообщают работники других подразделений, а сотрудники ИТ-отдела узнают одними из последних. Использование систем мониторинга позволяет значительно улучшить систему информирования о возможных сбоях и сократить время на диагностику.

Некоторые устройства уже имеют собственные средства мониторинга, но индивидуальное слежение не позволяет оценить ситуацию комплексно, а держать одновременно несколько запущенных программ попросту неудобно. Гораздо лучше использовать централизованные системы мониторинга. Они включают в себя постоянное 24/7 наблюдение в реальном времени за ИТ-инфраструктурой в поисках медленных или неисправных систем, для своевременного оповещения о возможных проблемах, сбора и предоставления данных для их дальнейшего анализа, ведения подробной статистики, что в результате помогает выявить узкие места и сбойные участки.

Из требований к системам мониторинга хочу выделить следующие: наличие удобного управления, поддержки гетерогенной среды, возможности масштабируемости и подключения нескольких пользователей, работа в сетях любого размера и топологии, умение опрашивать программную и аппаратную часть.

Детальная установка и настройка Nagios ранее уже описывалась [http://samag.ru/archive/article/74, nagios.sf.net/docs/3_0/quickstart.html], перечислю основные свойства и подробнее остановлюсь на новых возможностях.

 

Основные возможности Nagios

Nagios относится к системам с открытым кодом и его ядро (Nagios Core) является бесплатным. Продукт прост в установке, занимает мало места, поэтому для развертывания достаточно и маломощного ПК.

Nagios состоит из двух составляющих. Первая - это серверная часть (Nagios Core), основная задача которой - обработка данных (полученных от агентов и внешних программ) и оповещение при достижении критических состояний. Сервер Nagios устанавливается только на Unix-подобные ОС. Для включения в мониторинг какого-либо сервиса/системы необходимо в конфигурационных файлах прописать их параметры, а также подключить графики и плагины. На момент написания статьи последней стабильной версией Nagios Core являлась 3.5.1. Но вышла версия 4.0.0, однако она пока не относится к стабильному релизу.

Вторая часть – это клиентская (агенты). Она позволяет отслеживать работоспособность серверов и рабочих станций с установленными ОС Windows и Linux. При работе следует учитывать, что на Unix системы требуется установка агентов (плагинов) NRPE, а на Windows – NSClient++. Агенты «добывают» основную информацию о программной и аппаратной части. По программной составляющей собирается:

  • функционирование и работоспособность LDAP, Squid, Apache, SSH, Samba и других (относительно ОС Linux), ролей DNS, IIS, DHCP, AD, WSUS и прочих (по ОС Windows), протоколов SMTP, POP3, IMAP, HTTP, FTP и так далее;
  • загруженность и работоспособность БД и SQL-запросов, состояния серверов БД - Oracle, MySQL, MS SQL Server, PostgreSQL;
  • состояние процессов приложений.

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

С тех систем и устройств, которые не имеют агентов, информацию можно получить с помощью SNMP-опроса. SNMP помогает определить загрузку каналов передачи данных свитчей и маршрутизаторов (номер порта, пропускную способность), параметры ИБП (пинг, напряжение, заряд аккумуляторов, состояние и режим работы и так далее), RAID-массива или внешнего хранилища данных (вид, состояние работы, загрузку и прочее), принтера или МФУ (пинг, количество тонера, сетевое имя), принт-сервера, телефонной станции.

 

Принцип работы Nagios

Опрос устройств и служб серверной частью происходит с некоторой периодичностью с целью определения их доступности, а также проверки их текущего состояния, и состоит из 2х типов: активный и пассивный.

Активная проверка инициируется модулями сервера Nagios с помощью команд check_“служба”. Например, команды check_http, check_ftp, check_ssh проверяют статус работы HTTP, FTP, SSH соответственно. Регулярность устанавливается при помощи check_interval и retry_interval. Параметр по умолчанию равен 5 минутам, но, по необходимости, можно сократить время до 1 минуты.

В пассивном опросе, выполняемом при помощи стороннего инициатора, информация поступает к серверу от внешних программ, проверяющих статус хоста или службы, а итог работы записывается в файл “external command file”. Далее Nagios читает содержимое этого файла и помещает результат в очередь для дальнейшей обработки. Для обеих проверок используется одна и также очередь. Возможность удаленным хостам отсылать результаты пассивного опроса серверу предоставляется с помощью плагина NSCA.

 

Отображение и управление

Встроенный веб-интерфейс предлагает визуальное отображение подключенных в мониторинг компонентов в табличном виде (в точном и процентном соотношении), состояния которых помечаются разными цветами (см. рис.1), что очень удобно. По умолчанию ссылка для входа http://ip –адрес сервера/nagios.

Рисунок 1. Графический интерфейс Nagios.

С помощью оповещений система мониторинга предупреждает о наступлении неблагоприятной ситуации. Для этого устанавливаются пороговые значения состояний компонентов в процентном соотношении, при достижении которых приходят уведомления на почту (см. рис. 2). По умолчанию состояние компонента, достигнувшего значения 80% (Warning), имеет желтый цвет, а при преодолении границы в 90% - становится (Critical) красного цвета (см. рис. 1). Их анализ позволяет отреагировать до появления инцидента. Дополнительное информирование можно настроить для ICQ и Skype [http://www.opennet.ru/tips/info/1817.shtml , http://security-corp.org/administration/sys_admin/5132-otpravlyaem-uvedomleniya-nagios-v-chat-skype.html], для отправки sms-сообщений на мобильный телефон необходим GSM-шлюз [http://ruunix.ru/1481-otpravka-uvedomlenij-cherez-sms-v-nagios-3.html, http://www.pentarh.com/wp/2011/03/16/nagios-sms-notify/ ].

Рисунок 2. Оповещения на почту.

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

Удаленный мониторинг можно настроить на любых мобильных устройствах, имеющих веб-браузер. Очень удобно помимо оповещений иметь и визуальное отображение состояний компонентов в «кармане», во время отсутствия на рабочем месте.

Расширяемость штатного функционала достигается за счет подключения большого количества плагинов (ручная установка), которые позволяют создавать свои способы проверки служб и обработчики событий [http://exchange.nagios.org/directory/Plugins , http://nagiosplugins.org], [www.nagios.org/download/addons]. Опишу несколько самых популярных из них:

NagVis [http://www.nagvis.org/] позволяет построить топологию сети и отобразить все ИТ-оборудование по территориально распределенным местам (см. рис. 3).

       

Рисунок 3. Отображение топологии плагином NagVis.

NDOUtils дает возможность сохранять всю статус-информацию системы Nagios в базе данных MySQL.

Плагин NSTI используется для более удобного управления SNMP-опросами.

Главным минусом Nagios является неудобное управление, ведь редактирование конфигурационных файлов, подключение графиков и плагинов, перезапуск служб nagios и httpd производится вручную. Если сеть небольшая, то с этой «особенностью» можно уживаться. Но как только ИТ-инфраструктура начинает бурный рост, то ручная настройка сервера Nagios становится настоящей головной болью.

Для устранения этого недостатка существуют готовые и удобные решения администрирования и визуального отображения информации сторонних разработчиков [http://www.ducea.com/2008/01/16/10-nagios-web-frontends/] и собственный [http://www.nagios.org/download/frontends]. Остановлюсь на Centreon, который, по моему мнению, более удобен.

 

Centreon - удобный интерфейс управления Nagios

Centreon [http://www.centreon.com/] – свободная система управления настройками мониторинга, устанавливаемая поверх Nagios. Расширяет функциональные возможности Nagios, автоматизирует ручную работу по настройке сервисов мониторинга, предоставляет более гибкое управление конфигурационными файлами, позволяет избежать синтаксических ошибок. Помимо создания новых конфигураций, оболочка Centreon имеет возможность импорта уже готовых настроек Nagios, что устраняет главный недостаток неудобного управления Nagios.

Установка Centreon уже описывалась в [http://tek-tips.ru/avaya-definity-mainmenu-15/mainmenu-20/151.html]. Чтобы иметь полную картину оборудования сети вычислительного центра, нужно настроить связку Nagios+Centreon+NagVis [http://www.fullyautomatednagios.org/].

 

Коммерческий NagiosXI

Продукт относится к разряду корпоративного (коммерческого) ПО, имеет более удобный веб-интерфейс и ряд дополнительных функций, недоступных в бесплатной версии Nagios. NagiosXI состоит из 2-х составляющих, а именно: ядра – Nagios Core и веб-интерфейса – Nagios CCM (Core Configuration Manager). Все внесенные изменения настроек записываются в базу данных, затем происходит запись в файлы конфигураций. На данный момент последняя стабильная версия NagiosXI – 2012R2.3.

К совершенно новым и очень полезным функциям относятся:

  • новое оформление веб-интерфейса, которое обеспечивает приятное цветовое восприятие фона, ссылок, заголовков, размещения и разделения компонентов (см. рис. 4). Каждый пользователь настраивает дизайн и меню в соответствии с индивидуальными предпочтениями.
  • появление в составе NagiosXI множества полезных плагинов, таких, как NagVis, NRPE, NRDP, NSCA, NDOUtils, PNP, NagiosQL [4], [5], некоторые из них ранее приходилось подключать вручную;
  • возможность при необходимости самостоятельно добавить плагин и помощника (wizard) для управления им;
  • расширение диапазона мониторинга систем: помимо ОС Linux и Windows теперь можно следить за работоспособностью Mac OS X (установив плагин macosx-nrpe-agent), Solaris (плагин solaris-nrpe-agent), виртуальной средой VMware (хоста и гостевых виртуальных машин, плагин chek_vmware [12]), сенсорными устройствами [13], собирать данные о Windows-системах через WMI, получать информацию из системных журналов (плагин nagevlog) [14];
  • предоставление BPI дополнительных правил группировки компонентов мониторинга для комплексного определения зависимостей «родительский-дочерний»;
  • наличие готовой виртуальной машины с установленной системой Linux CentOS 6.3 [15] и всеми настроенными зависимостями;
  • возможность создавать новые учетные записи для членов команды и устанавливать разные уровни доступа к информации посредством нескольких «кликов»;
  • появление новых графиков, которые стали более насыщенными, “живыми” и красочными. Их отображение можно получить в двух местах. Во-первых – на главной панели напротив каждого сервиса (см. рис. 5), во-вторых – общие - сразу по всем процессам сервера (см. рис. 6).
  • То, что все составляющие, компоненты и части продукта Nagios относятся к одному производителю.

Рисунок 4 – веб-интерфейс NagiosXI.

Рисунок 5 – График на главной панели.

Рисунок 6 – Графики всех сервисов одного сервера.

 

Продолжение следует....