Представьте: ваш прод-сервер перестал отвечать по HTTPS, а первым об этом узнал клиент. Уведомление не пришло — потому что Nagios был настроен неправильно. Такую ситуацию мы встречали не раз. Наша команда DevOps-инженеров настраивает Nagios под ключ уже 12 лет и знает все подводные камни. Закажите аудит текущего мониторинга — и получите план настройки.
Почему Nagios остаётся актуальным?
Nagios живёт в продакшне с конца 90-х. Его архитектура — plug-in based: ядро запускает скрипты, скрипты возвращают код 0/1/2/3 (OK/WARNING/CRITICAL/UNKNOWN) и текстовое сообщение. Никакой vendor lock-in. Именно поэтому Nagios до сих пор стоит на десятках тысяч серверов. Для проверок доступности он в 3 раза проще в настройке, чем Prometheus с его экспортёрами. «Nagios is the industry standard in IT infrastructure monitoring» — официальный сайт Nagios
Что Nagios делает лучше всего?
Nagios — это мониторинг доступности, не метрик. Проверка: хост пингуется? Порт 443 отвечает? SSL-сертификат не истёк? Процесс nginx запущен? Это то, для чего инструмент создавался, и здесь он надёжен. Типичная боль — пытаться через Nagios собирать метрики временных рядов. Правильный стек: Nagios для доступности, Prometheus для метрик (они отлично дополняют друг друга).
| Задача | Nagios | Prometheus |
|---|---|---|
| Проверка доступности порта | ✅ Лучшее (встроенный check_http) | ❌ Через Blackbox exporter (сложно) |
| Сбор метрик CPU/RAM | ❌ Тяжеловесный NRPE | ✅ node_exporter (легко) |
| SSL-сертификаты | ✅ check_http --ssl | ❌ Через Blackbox или кастом |
| Долговременная аналитика | ❌ | ✅ Встроенные TSDB, запросы PromQL |
Как мы настраиваем Nagios: разбор кейса
На одном проекте мы восстанавливали Nagios после ухода администратора. Конфигурация была раздута: 300 хостов, 2000 сервисов, половина в UNKNOWN. Наш подход:
- Аудит: проверили актуальность хостов, нашли 40 брошенных VM.
- Реорганизация: внедрили hostgroups и service templates, сократили строк конфига в 3 раза.
- Настройка уведомлений: подключили Telegram, настроили escalation: email → SMS → звонок.
- Документация: описали каждый плагин и контактную группу.
Результат: MTTR снизился с 4 часов до 30 минут. Закажите такую же настройку для вашей инфраструктуры — получите консультацию.
Структура конфигурации
Конфиги Nagios — плоские текстовые файлы в /etc/nagios/conf.d/. Основные объекты: host, service, command, contact, hostgroup, servicegroup.
define host {
host_name prod-api-01
alias Production API Server
address 10.0.1.10
check_command check-host-alive
check_interval 1
retry_interval 1
max_check_attempts 3
notification_interval 60
notification_period 24x7
contact_groups ops-team
hostgroups linux-servers, api-servers
}Сервисная проверка HTTPS с проверкой сертификата:
define service {
host_name prod-api-01
service_description HTTPS
check_command check_http!-S --ssl -p 443 -u /health -w 2 -c 5
check_interval 5
max_check_attempts 3
notification_period 24x7
contact_groups ops-team
}check_http — стандартный плагин из nagios-plugins. Флаг -w 2 -c 5 задаёт WARNING при ответе дольше 2 секунд, CRITICAL — дольше 5.
Какие плагины Nagios самые полезные?
Экосистема плагинов — сильная сторона Nagios. Nagios Exchange содержит более 5000 готовых плагинов. Пакет nagios-plugins-all покрывает базовые проверки:
| Плагин | Назначение | Типичная команда |
|---|---|---|
| check_http | Проверка HTTP/HTTPS | check_http -H example.com -u /health |
| check_disk | Проверка свободного места на диске | check_disk -w 20% -c 10% -p / |
| check_load | Проверка загрузки CPU | check_load -w 5,4,3 -c 10,8,6 |
| check_mem | Проверка использования памяти | check_mem -w 85 -c 95 |
| check_procs | Проверка количества процессов | check_procs -w 100 -c 200 |
Кастомный плагин — любой исполняемый файл, который выводит текст и возвращает нужный exit code:
#!/bin/bash
QUEUE=$(redis-cli -h 127.0.0.1 llen critical_jobs 2>/dev/null)
if [ -z "$QUEUE" ]; then
echo "UNKNOWN: Cannot connect to Redis"
exit 3
elif [ "$QUEUE" -gt 10000 ]; then
echo "CRITICAL: Queue length is $QUEUE"
exit 2
elif [ "$QUEUE" -gt 5000 ]; then
echo "WARNING: Queue length is $QUEUE"
exit 1
else
echo "OK: Queue length is $QUEUE"
exit 0
fiФайл в /usr/lib/nagios/plugins/, chmod +x, определение command в конфиге, привязка к хосту — готово.
NRPE: агентные проверки
NRPE (Nagios Remote Plugin Executor) позволяет запускать плагины на удалённых хостах. Nagios сервер запрашивает NRPE-агент на хосте, агент выполняет плагин локально и возвращает результат.
На хосте /etc/nagios/nrpe.cfg:
allowed_hosts=10.0.0.5 # nagios server IP
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_mem]=/usr/lib/nagios/plugins/check_mem -w 85 -c 95
Уведомления и эскалация
Nagios отправляет уведомления через команды — shell-скрипты. Email — стандартный notify-by-email. Для Telegram — кастомный скрипт с Bot API. Escalation policies переключают контакты через N минут неответа: сначала email дежурному, через 30 минут — звонок тимлиду, через час — CTO.
Что входит в настройку Nagios под ключ
- Аудит текущей конфигурации (или установка с нуля)
- Выбор стека: Nagios Core (бесплатно) или Nagios XI (с веб-интерфейсом)
- Настройка базовых проверок, NRPE, кастомных плагинов
- Интеграция уведомлений (Telegram, email, PagerDuty)
- Документация по всем проверкам и контактам
- Обучение команды (2-часовая сессия)
- Поддержка после пуска — 2 недели
Средняя экономия клиентов после внедрения — $15,000 в год за счёт автоматизации уведомлений и снижения downtime.
Типичные ошибки при настройке Nagios
- Использовать Nagios для сбора метрик временных рядов (заменить Prometheus) - Не обновлять список хостов — протухают уведомления - Писать кастомные плагины без exit code — ведут к UNKNOWN - Не настраивать escalation — пропускают критичные инциденты - Хранить пароли в plain-text конфигах — использовать зашифрованные файлыПроцесс работы
Аналитика → Проектирование → Реализация → Тестирование → Деплой → Обучение. Каждый этап завершается документацией.
Сроки ориентировочно
Настройка Nagios Core для 20–30 хостов — 2–3 дня. Включает установку, NRPE, плагины и уведомления. Сроки зависят от сложности кастомных проверок. Получите точную оценку — свяжитесь с нами.
Наши инженеры работают с Nagios более 12 лет, обслужили более 50 проектов. Средний MTTR после настройки снижается в 2 раза. Свяжитесь с нами, чтобы заказать настройку Nagios под ключ — и мы наладим мониторинг, которому можно доверять.







