Уявіть: ваш прод-сервер перестав відповідати по 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. Наш підхід:
- Аудит: перевірили актуальність хостів, знайшли 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 дні, вартість від $500 до $1000. Включає встановлення, NRPE, плагіни та сповіщення. Терміни залежать від складності кастомних перевірок. Отримайте точну оцінку — зв'яжіться з нами.
Наші інженери працюють з Nagios понад 12+ років, обслужили понад 50+ проєктів. Середній MTTR після налаштування знижується в 2 рази. Зв'яжіться з нами, щоб замовити налаштування Nagios під ключ — і ми налагодимо моніторинг, якому можна довіряти.







