Настройка мониторинга инфраструктуры через Nagios под ключ

Когда прод-сервер перестаёт отвечать, а первым об этом узнаёт клиент, — это сигнал, что мониторинг настроен неправильно. Мы настраиваем Nagios под ключ: от аудита и установки до кастомных плагинов и интеграции с NRPE. Наша команда берёт на себя весь цикл работ, обеспечивая надёжный контроль доступности вашей инфраструктуры и последующую поддержку.
Часто задаваемые вопросы

Представьте: ваш прод-сервер перестал отвечать по 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. Наш подход:

  1. Аудит: проверили актуальность хостов, нашли 40 брошенных VM.
  2. Реорганизация: внедрили hostgroups и service templates, сократили строк конфига в 3 раза.
  3. Настройка уведомлений: подключили Telegram, настроили escalation: email → SMS → звонок.
  4. Документация: описали каждый плагин и контактную группу.

Результат: 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 под ключ — и мы наладим мониторинг, которому можно доверять.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1543
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142