Налаштування моніторингу інфраструктури через Nagios під ключ

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

Уявіть: ваш прод-сервер перестав відповідати по HTTPS, а першим про це дізнався клієнт. Сповіщення не прийшло — тому що Nagios був налаштований неправильно. Таку ситуацію ми зустрічали не раз. Наша команда DevOps-інженерів налаштовує Nagios під ключ вже 12+ років і знає всі підводні камені. Ми обслужили понад 50+ проєктів, забезпечивши середню економію $15,000 на рік для кожного клієнта. Вартість налаштування Nagios Core для 20–30 хостів — від $500 до $1000 залежно від складності. Замовте аудит поточного моніторингу — і отримайте план налаштування.

Чому Nagios залишається актуальним?

Nagios живе в продакшні з кінця 90-х. Його архітектура — plug-in based: ядро запускає скрипти, скрипти повертають код 0/1/2/3 (OK/WARNING/CRITICAL/UNKNOWN) та текстове повідомлення. Жодного vendor lock-in. Саме тому Nagios досі стоїть на десятках тисяч серверів. Для перевірок доступності 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: розбір кейсу з нашої практики

Наш клієнт — компанія з 300 серверами. Після звільнення адміністратора конфігурація Nagios роздулася: половина сервісів в 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 дні, вартість від $500 до $1000. Включає встановлення, NRPE, плагіни та сповіщення. Терміни залежать від складності кастомних перевірок. Отримайте точну оцінку — зв'яжіться з нами.

Наші інженери працюють з Nagios понад 12+ років, обслужили понад 50+ проєктів. Середній MTTR після налаштування знижується в 2 рази. Зв'яжіться з нами, щоб замовити налаштування Nagios під ключ — і ми налагодимо моніторинг, якому можна довіряти.

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

Останні роботи

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