Nagios – бесплатная система мониторинга серверов, служб, сетевых протоколов,сетевой инфраструктуры. Система мониторинга Nagios, через указанный период времени, проверяет доступность хостов, сервисов и отсылает уведомления на почту, посредством СМС, или другим самописным скриптом. Также у Nagios есть cgi интерфейс и используя веб-сервер (например apache), можно смотреть статус служб, хостов, протоколов, изменять настройки уведомлений (и некоторые другие), графики (также нужна библиотека GD), карту (дерево) объектов мониторинга.
Некоторые возможности Nagios мониторинга
- Мониторинг сетевых служб (SMTP, POP3, IMAP, FTP, SSH, HTTP, NNTP, PING и др.)
- Мониторинг ресурсов сервера (нагрузка процессора, использование дисков и др.). Информация с удаленных серверов собирается с помощью дополнения(агента) NRPE addon.
- Возможность пользователям разработать их собственные проверки служб.
- уведомления, когда хост не доступен и когда доступ к нему восстановлен.
- Автоматическая ротация логов.
- Веб-интерфейс для просмотра статуса сети, уведомлений и истории мониторинга, лог файлов и т.п. Так же есть возможность сохранять результаты проверок в базе данных mysql с помощью дополнения NDOUtils addon. Это дает возможность разработать новой веб-интерфейс и построить свои графики.
- Распределенный мониторинг (Distributed Monitoring), то есть мониторинг с нескольких серверов, при большом количестве хостов, а результаты и статусы
отправляются на главный сервер. - Поддержка удаленного мониторинга через шифрованные туннели SSH или SSL
Настройка Nagios осуществляется через конфигурационные файлы программы.Предоставляется, на мой взгляд, довольно гикая система конфигурации и широкие возможности настроек. При первом знакомстве с программой, система настроек дается не сразу, но при дальнейшем знакомстве с настройками и документацией, как оказалось не “такой уж страшен волк” и открываются хорошие возможности конфигурации системы мониторинга. К сожалению, самими разработчиками не предоставляется на данный момент “веб-морда” для конфигурирования, но есть варианты разработаны другими программистами.
Методы мониторинга в Nagios
В Nagios есть 2 метода проверки статуса служб “активные проверки“(Active Checks) и “пассивные проверки“(Passive Checks). Активная проверка осуществляется прямо с сервера, где установлена система мониторинга, с помощью логики Nagios программы и ее плагинов проверки статуса служб. Пассивная проверка заключается в том, что сама проверка статуса служб, хостов, сетевых протоколов осуществляется внешней программой а не самой Nagios системой, результаты проверки передаются Nagios программе.
Активные проверки(Active Checks) – часто используемый метод проверки статуса объекта мониторинга, который осуществляется непосредственно Nagios программой. При установке системы мониторинга устанавливаются плагины проверки статуса служб (nagios-plugins). Таким образом, с помощью логики программы Nagios и плагинов, производится активная проверка статуса хостов. Например, плагин проверки HTTP с помощью команды check_http, проверка статуса ФТП с помощью Нагиос плагина и его команды check_ftp и др. Также есть возможность добавить свои плагины проверки каких-либо других нужных служб. Активная проверка производится регулярно с интервалом, указанным в настройках check_interval и retry_interval. Также есть возможность запуска проверки в любой нужный момент.
Пассивные проверки(Passive Checks) – метод провеки статуса объектов мониторинга, когда Nagios не осуществляет саму проверку. Проверка осуществляется внешними программами и даже с других серверов, а сам результат проверки (статус) отправляется Nagios программе. Пассивная проверка используется также при распределенном мониторинге (distributed monitoring). Внешняя программа проверяет статус хоста или службы, записывает результат в так называемый “external command file” (файл внешней команды), который указан в главном конфиге через параметр “command_file”. Потом Nagios читает “external command file” и помещает результат всех пассивных проверок в очередь для дальнейшей обработки. Очередь та же, что используется для хранения результатов активных проверок. Таким образом статус информация от внешних программ может быть интегрирована с Nagios. Возможность удаленным хостам отсылать результаты пассивных проверок на сервер мониторинга предоставляется с помощью дополнения разработчиков NSCA addon.
Дополнения Nagios (Nagios Addons)
NRPE – позволяет запускать плагины проверки нагрузки, дискового пространства, других параметров, на удаленном Linux/Unix сереве.
NSCA – позволяет отсылать результаты пассивных проверок с удаленных Linux/Unix хостов демону Nagios на сервере мониторинга.
NDOUtils – дает возможность сохранять всю статус информацию программы Nagios в базе данных Mysql.