Nagios — система мониторинга IT-инфраструктуры, контролирующая доступность хостов и сервисов и уведомляющая администраторов при обнаружении проблем. Один из старейших open-source инструментов мониторинга: ядро Nagios Core появилось в 1999 году. До 2010-х годов был де-факто стандартом мониторинга в Linux-окружениях.
Как работает Nagios
Nagios опрашивает объекты мониторинга через плагины. Плагин — исполняемый файл, возвращающий один из кодов: 0 (OK), 1 (WARNING), 2 (CRITICAL), 3 (UNKNOWN). Плагин проверяет что угодно: ping-доступность, HTTP 200, свободное место на диске, активность процесса.
Для мониторинга ресурсов на удалённом хосте используется NRPE (Nagios Remote Plugin Executor) — агент, устанавливаемый на целевой сервер и выполняющий плагины локально. Nagios Server запрашивает NRPE Agent по TCP/5666, получает результат и обновляет статус.
Конфигурация через текстовые файлы .cfg:
define service {
host_name webserver01
service_description HTTP
check_command check_http!-H webserver01
normal_check_interval 5
notification_options w,c,r
}
История
Nagios создал Этан Галстад (Ethan Galstad) в 1999 году под именем NetSaint. Переименован в Nagios в 2002 году после регистрации товарного знака. В 2009 году команда разработчиков сделала форк Icinga из-за разногласий с автором по открытости кода. В 2012 году появился Naemon — ещё один форк с фокусом на производительности. Nagios начал терять долю рынка в пользу Prometheus и Zabbix, не имея нативной поддержки контейнеров и облаков.
Nagios vs Prometheus vs Zabbix
| Параметр | Nagios Core | Prometheus | Zabbix |
|---|---|---|---|
| Модель сбора | Active checks + NRPE | Pull (scraping) | Active/Passive агенты |
| Хранение метрик | RRDtool (ограниченно) | TSDB (на диске) | PostgreSQL/MySQL |
| Kubernetes-интеграция | Слабая | Нативная | Через плагины |
| SNMP-мониторинг | Отличный | Через snmp_exporter | Встроенный |
Применение на серверах
Nagios актуален для мониторинга классической инфраструктуры с большим числом сетевых устройств SNMP: маршрутизаторы Cisco, коммутаторы, ИБП. Для этого сценария экосистема Nagios с тысячами готовых плагинов не имеет аналогов по охвату. Nagios XI (коммерческая версия) добавляет удобный веб-интерфейс настройки, отчёты и пропускную способность до 100 000+ проверок в секунду.
Для новых серверных проектов на VPS и выделенных серверах в 2024 году рекомендуется Prometheus + Grafana (современный стек для облаков) или Zabbix (enterprise, широко применяется в госструктурах РФ). Nagios остаётся хорошим выбором для legacy-инфраструктуры, где уже настроены сотни NRPE-проверок.
Установка и настройка
Nagios Core устанавливается из исходников или пакетного менеджера. Файлы конфигурации: /etc/nagios/. Плагины: /usr/lib/nagios/plugins/. Веб-интерфейс доступен по /nagios через Apache с Basic-аутентификацией. Для отправки алертов настраивается contacts.cfg с email-адресами дежурных. Интеграция с PagerDuty добавляется через notification command, отправляющий HTTP-запрос в Events API.
Ключевые плагины Nagios
Стандартные плагины из пакета nagios-plugins (Nagios Plugins 2.x):
check_http— проверка HTTP/HTTPS, статус-код, содержимое страницы, время ответаcheck_disk— заполненность дисков; стандартные пороги 80%/90%check_load— средняя нагрузка CPU (LA1/LA5/LA15)check_procs— количество процессов по имени или командеcheck_tcpиcheck_udp— доступность портаcheck_ping— доступность хоста и round-trip latencycheck_ssl_cert— срок действия SSL-сертификата; алерт за 30 дней до истечения
Для мониторинга VPS-серверов проверки NRPE настраиваются в /etc/nrpe.cfg на целевом хосте, затем добавляются в конфиг Nagios Server. При переходе с Nagios на Prometheus — используйте blackbox_exporter как замену check_http и check_tcp.