Как Nagios помогает контролировать PHP-сервисы на Guzzle
Привет, коллеги! Сегодня поговорим о Nagios – динозавре в мире мониторинга IT-инфраструктуры, который, несмотря на свой почтенный возраст, до сих пор остается одним из самых надежных инструментов для отслеживания работоспособности серверов и сервисов.

В этом руководстве я расскажу все, что вам нужно знать о Nagios – от установки до тонкой настройки и создания собственных плагинов.
- Что такое Nagios и зачем он нужен?
- Установка и настройка Nagios
- Подготовка системы к установке
- Установка Nagios Core шаг за шагом
- Установка Nagios XI: особенности и преимущества
- Как работает мониторинг в Nagios
- Принципы мониторинга и основные концепции
- Настройка мониторинга Windows и Linux серверов
- Добавление нестандартных устройств и сервисов
- Плагины и расширения Nagios
- Популярные плагины для мониторинга
- Как создать собственный плагин?
- Настройка оповещений в Nagios
- Базовая настройка email-уведомлений
- Интеграция с современными мессенджерами
- SMS-оповещения (для совсем параноидальных)
- Несколько советов по настройке оповещений:
- Лучшие практики и советы по использованию Nagios
- Оптимизация производительности
- Безопасность (потому что параноиком быть полезно)
- Масштабирование
- То, о чём не пишут в документации
- Nagios Core vs Nagios XI: что выбрать?
- Сравнительная таблица функционала
- Когда выбирать Core:
- Когда стоит присмотреться к XI:
- Секретный третий вариант:
- Альтернативы Nagios
- Сравнительная таблица альтернатив
- Prometheus + Grafana: Модный стек
- Zabbix: Серьезный конкурент
- Почему же люди всё еще используют Nagios?
- Заключение
- Что мы узнали:
- Рекомендуем посмотреть курсы по системному администрированию
Что такое Nagios и зачем он нужен?
Знаете, что общего между опытным системным администратором и параноиком? Правильно – оба постоянно ожидают, что что-то пойдет не так. И если параноику это не помогает, то админу – очень даже, особенно когда у него есть Nagios.
Nagios – это, если говорить простым языком, ваши глаза и уши в мире IT-инфраструктуры. Представьте себе самого въедливого QA-специалиста, который круглосуточно мониторит каждый сервер, каждый сервис и каждый порт в вашей сети. Теперь представьте, что этот QA еще и никогда не спит, не ходит на обед и не просит повышения зарплаты – это и есть Nagios.
Что умеет этот неутомимый страж порядка:
- Мониторит все, что имеет IP-адрес (а иногда и то, что его не имеет)
- Отслеживает состояние серверов, сетевого оборудования, приложений и даже кофемашины (если она подключена к сети, конечно)
- Оповещает вас о проблемах быстрее, чем разгневанный пользователь успеет написать тикет
- Собирает статистику производительности, которая потом поможет вам объяснить начальству, почему пора обновить железо
Особенно приятно то, что базовая версия (Nagios Core) абсолютно бесплатна. Да, у нее интерфейс как у Windows 95, но зато она работает как швейцарские часы. А если вам нужен красивый дашборд и упрощенная настройка – есть платная версия Nagios XI, которая превращает суровый мониторинг в почти приятное занятие.
И знаете что? В отличие от многих современных решений, которые пытаются быть всем для всех, Nagios делает одну вещь, но делает ее хорошо – мониторит вашу инфраструктуру так, что вы можете спать спокойно. Ну, или хотя бы знать, почему вам не спится.
Установка и настройка Nagios
Подготовка системы к установке
Давайте поговорим о том, как поставить Nagios на вашу систему. И нет, это не так просто, как установить очередное приложение из App Store (привет, избалованные пользователи macOS!).
Прежде чем мы начнем, убедимся, что у нас есть все необходимое. Это как сборка мебели из IKEA – сначала нужно убедиться, что все детали на месте, иначе потом придется совершать героический забег до магазина.
Минимальные требования для установки:
- Linux-система (да, Windows тоже можно, но зачем вы так с собой?)
- Apache веб-сервер (потому что кто-то должен показывать эти красивые графики)
- PHP (куда же без него в современном мире)
- Компилятор GCC и make (для сборки из исходников)
- OpenSSL (потому что безопасность – это не просто модное слово)
Установка Nagios Core шаг за шагом
Теперь давайте установим эту прекрасную систему. Обещаю, это будет увлекательнее, чем читать документацию к принтеру.
- Сначала обновим систему (потому что работать со старыми пакетами – это как ходить в магазин с дырявым пакетом):
sudo apt update
sudo apt upgrade
- Установим необходимые пакеты (список выглядит как ingredients list для очень сложного технического коктейля):
sudo apt install wget unzip vim curl gcc openssl build-essential libgd-dev libssl-dev libapache2-mod-php php-gd php apache2
- Скачаем и распакуем Nagios (актуальную версию лучше проверить на официальном сайте, если вы не хотите устанавливать музейный экспонат):
curl -SL https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.4.6/nagios-4.4.6.tar.gz | tar -xzf -
- Компилируем и устанавливаем (держите пальцы крестиком):
./configure
make all
sudo make install
Установка Nagios XI: особенности и преимущества
А теперь о прекрасном – о Nagios XI. Это как пересесть с Жигулей на Tesla (только без автопилота и с меньшим риском самовозгорания).
XI отличается от Core тем, что:
- Имеет современный веб-интерфейс (да, в 2024 году это все еще считается преимуществом)
- Включает мастер настройки (для тех, кто не хочет писать конфиги руками)
- Предоставляет расширенную отчетность (чтобы было что показать начальству)
- Имеет встроенную систему управления плагинами (никаких больше танцев с бубном при установке дополнений)
Установка XI проще, чем Core – скачиваете установщик с официального сайта, запускаете и следуете инструкциям. Правда, за это удовольствие придется заплатить – лицензия стоит как хороший кофе на протяжении года. Но если вы цените свое время и нервы – оно того стоит.
Как работает мониторинг в Nagios
Принципы мониторинга и основные концепции
А теперь давайте заглянем под капот Nagios и посмотрим, как эта машина работает изнутри. Представьте себе самого дотошного охранника, который каждые пять минут обходит здание и проверяет, всё ли в порядке – примерно так и работает Nagios.
В основе мониторинга лежит несколько ключевых концепций:
- Хосты – это всё, что имеет IP-адрес: серверы, роутеры, принтеры и, возможно, даже ваша умная кофеварка (если вы достаточно безумны, чтобы подключить её к сети).
- Сервисы – это то, что работает на хостах: веб-серверы, базы данных, почтовые службы и прочие digital-радости.
- Проверки – периодические тесты, которые Nagios выполняет, чтобы убедиться, что всё работает как надо (или хотя бы просто работает).
Настройка мониторинга Windows и Linux серверов
Теперь самое интересное – как заставить всё это работать с реальными серверами.
Для Windows:
- Установите SNMP-сервис (да, тот самый, который вы обычно отключаете первым делом)
- Настройте community string (это как пароль, только хуже)
- Укажите IP-адреса, с которых разрешено мониторить (иначе любой script kiddie сможет узнать, что у вас там творится)
Для Linux:
# Установка SNMP
sudo apt-get install snmpd
# Настройка конфига (предупреждение: может вызвать головную боль)
sudo nano /etc/snmp/snmpd.conf
Добавление нестандартных устройств и сервисов
А здесь начинается настоящее веселье. Хотите мониторить температуру в серверной? Уровень кофе в кофемашине? Количество багов в продакшене? Теоретически, Nagios может мониторить всё это – было бы желание написать соответствующий плагин.
Вот пример конфига для мониторинга какого-нибудь экзотического устройства:
define host {
use generic-host
host_name mystery-device
alias That Thing Nobody Knows What It Does
address 192.168.1.42
check_command check-host-alive
}
Помните: возможности Nagios ограничены только вашей фантазией и способностью писать скрипты. И, конечно, здравым смыслом – но кого это когда-то останавливало?
Плагины и расширения Nagios
Популярные плагины для мониторинга
Знаете, что общего между конструктором LEGO и Nagios? Правильно – всё самое интересное начинается с дополнительных наборов. В мире Nagios эти наборы называются плагинами, и без них ваша система мониторинга будет такой же полезной, как швейцарский нож без лезвий.
Топ плагинов, без которых жизнь не жизнь:
Плагин | Описание | За что его любят |
check_disk_snmp.pl | Следит за дисками по SNMP | Предупреждает до того, как закончится место (и начнется паника) |
check_tcp | Проверяет TCP-порты | Простой как валенок, надежный как швейцарские часы |
check_http | Мониторит веб-сервисы | Узнаёт о падении сайта раньше, чем ваш директор |
check_load | Отслеживает нагрузку на CPU | Помогает понять, когда пора обновлять железо |
check_mailq | Проверяет почтовые очереди | Спасает от неловких вопросов «А почему письма не доходят?» |
Как создать собственный плагин?
А теперь самое интересное – создание собственного плагина. Это как написать свой первый Hello World, только полезнее.
Вот пример простейшего плагина на Bash (потому что Python для хипстеров):
#!/bin/bash # Проверяем что-нибудь важное IMPORTANT_METRIC=$(do_something_important) if [ $IMPORTANT_METRIC -gt 90 ]; then echo "CRITICAL - Всё очень плохо! Метрика: $IMPORTANT_METRIC" exit 2 elif [ $IMPORTANT_METRIC -gt 75 ]; then echo "WARNING - Становится тревожно. Метрика: $IMPORTANT_METRIC" exit 1 else echo "OK - Всё хорошо, можно пить кофе. Метрика: $IMPORTANT_METRIC" exit 0 fi
Правила создания плагинов простые:
- Плагин должен что-то проверять (капитан очевидность одобряет)
- Возвращать статус: 0 (OK), 1 (WARNING), 2 (CRITICAL), 3 (UNKNOWN)
- Выводить понятное сообщение (чтобы в 3 часа ночи можно было понять, что случилось)
Можно писать на любом языке программирования – хоть на Brainfuck, если вы достаточно отважны. Главное, чтобы работало и не падало в самый неподходящий момент.
И помните: хороший плагин – это как хороший анекдот. Он должен быть:
- Коротким
- Понятным
- Делать то, что от него ожидают
- Не вызывать недоумения у коллег
P.S. Если ваш плагин длиннее 100 строк – возможно, вы что-то делаете не так. Или делаете что-то очень крутое, в этом случае – продолжайте!
Настройка оповещений в Nagios
Знаете, что хуже падения сервера в 3 часа ночи? Правильно – не узнать об этом до утра. Поэтому давайте настроим систему оповещений так, чтобы вы всегда были в курсе происходящего (даже если иногда предпочли бы не быть).
Базовая настройка email-уведомлений
Начнем с классики – email-оповещений. Да, email в 2024 году звучит как-то старомодно, но он всё еще работает (в отличие от некоторых ваших серверов):
define contact{
contact_name admin
alias Главный по тарелочкам
email admin@company.com
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
}
Интеграция с современными мессенджерами
А теперь давайте добавим что-нибудь более современное. Например, Slack или Telegram – потому что кто сейчас читает почту быстрее, чем мессенджеры?
Для Slack:
#!/bin/bash
# Да, я знаю что curl для интеграции со Slack это не очень элегантно,
# но зато работает!
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"$NAGIOS_LONGSERVICEOUTPUT\"}" \
$SLACK_WEBHOOK_URL
Для Telegram:
import requests
TOKEN = "ваш_токен_бота"
CHAT_ID = "ваш_чат_id"
MESSAGE = f"🚨 {service_output}" # Эмодзи делают всё лучше!
requests.get(f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&text={MESSAGE}")
SMS-оповещения (для совсем параноидальных)
Потому что иногда интернет может отказать, а телефонная сеть всё ещё работает:
# Предполагаем, что у вас есть GSM-модем или SMS-шлюз
sendsms.sh "+1234567890" "CRITICAL: Всё сломалось! 🔥"
Несколько советов по настройке оповещений:
- Не спамьте себя – настройте правильные интервалы между уведомлениями, если не хотите получить 1000 SMS о том, что сервер лёг
- Группируйте уведомления – получать 50 отдельных сообщений о связанных проблемах не очень весело
- Используйте разные каналы для разных уровней критичности:
- CRITICAL -> SMS + Telegram + Slack + Email + Звонок
- WARNING -> Telegram + Slack
- OK -> Только в лог (потому что хорошие новости могут подождать)

Диаграмма, сравнивающая каналы оповещений в Nagios по скорости получения и уровню критичности
И помните: система оповещений должна быть как хороший охранник – бдительной, но не паникующей по пустякам. Иначе вы рискуете получить синдром «мальчика, который кричал ‘Волк!'», только вместо волка будет «диск заполнен на 80%».
Лучшие практики и советы по использованию Nagios
Знаете, что общего между Nagios и хорошим виски? Правильно – чтобы получить максимум удовольствия от использования, нужно знать некоторые тонкости. Сейчас расскажу о практиках, которые я собрал за годы общения с этим замечательным инструментом (с Nagios, не с виски).
Оптимизация производительности
- Распределение проверок
# В nagios.cfg
service_inter_check_delay_method=sm
max_service_check_spread=30
check_result_reaper_frequency=1
Это заставит Nagios распределять проверки равномерно, а не устраивать DDoS вашей инфраструктуре каждые 5 минут.
- Кэширование проверок Если у вас 100 сервисов проверяют один и тот же хост – возможно, стоит закэшировать результат:
check_host_freshness=1
host_freshness_check_interval=60
Безопасность (потому что параноиком быть полезно)
- Ограничение доступа
- Используйте SSL для веб-интерфейса (потому что HTTP в 2024 – это моветон)
- Настройте двухфакторную аутентификацию (да, для Nagios тоже можно)
- Ограничьте доступ по IP (потому что не все должны видеть ваши проблемы)
- Изоляция плагинов
# Создаём отдельного пользователя для плагинов
useradd -r -s /sbin/nologin nagios_plugins
Масштабирование
Когда ваша инфраструктура растёт быстрее, чем зарплата:
- Распределённый мониторинг
define host {
name remote-collector
check_command check-collector-alive
max_check_attempts 5
check_interval 5
}
- Иерархическая структура
# Родительские зависимости
parent_host=gateway
child_hosts=server1,server2,server3
То, о чём не пишут в документации
- Не мониторьте всё подряд
- Да, Nagios может следить за температурой кофе в вашей кружке, но нужно ли?
- Фокусируйтесь на критически важных метриках
- Документируйте свои костыли настройки
# Комментарии в конфигах спасут вашу карму
# Этот хак нужен потому что сервер X
# иногда притворяется мёртвым
- Тестируйте на staging
- Потому что тестировать новые проверки на продакшене – путь к увлекательному разговору с руководством
И помните: Nagios как хороший дворецкий – должен быть незаметным, пока всё хорошо, но всегда готовым сообщить о проблемах. И да, иногда он может быть занудным, но это для вашего же блага!
Nagios Core vs Nagios XI: что выбрать?
Давайте честно поговорим о выборе между бесплатной и платной версиями – это как выбор между Linux и Windows, только с меньшим количеством религиозных войн.
Сравнительная таблица функционала
Функционал | Nagios Core | Nagios XI |
Базовый мониторинг | ✅ | ✅ |
Интерфейс | Спартанский (привет из 90-х) | Современный и красивый |
Настройка | Вручную (привет, vim) | Через веб-интерфейс |
Wizards для настройки | ❌ | ✅ |
Автоматическое обнаружение | ❌ | ✅ |
Отчёты | Базовые | Расширенные |
Цена | Бесплатно (как любовь к CLI) | От $1,995 в год |
Когда выбирать Core:
- Вы любите полный контроль над системой
- У вас ограниченный бюджет (читай: нет бюджета)
- Ваша инфраструктура относительно проста
- Вы не боитесь командной строки (и даже находите в этом своеобразное удовольствие)
- Вам нравится писать конфиги руками (да, такие люди существуют)
Когда стоит присмотреться к XI:
- У вас большая и сложная инфраструктура
- Нужны красивые отчёты для руководства
- Команда не хочет/не может копаться в конфигах
- Есть бюджет на мониторинг (и нужно его куда-то потратить)
- Время дороже денег (классический случай для бизнеса)
Секретный третий вариант:
Начните с Core, а когда намучаетесь с конфигами достаточно, чтобы оценить удобство XI – можно будет обосновать начальству покупку платной версии. Как говорится, чтобы оценить комфорт, нужно сначала помучиться!
Альтернативы Nagios
Знаете, что самое интересное в мире мониторинга? То, что Nagios – это как динозавр: вроде бы устарел, но все еще может откусить голову неосторожному админу. Тем не менее, давайте посмотрим на других игроков на этом поле.
Сравнительная таблица альтернатив
Система | Преимущества | Недостатки | Когда использовать |
Zabbix | • Современный UI из коробки
• Встроенная база данных • Автоматическое обнаружение |
• Требует больше ресурсов
• Сложнее в освоении |
Когда нужен полноценный enterprise-мониторинг |
Prometheus | • Отличная интеграция с контейнерами
• Мощный язык запросов • Хорошая масштабируемость |
• Нет встроенного алертинга
• Нужен Grafana для визуализации |
В контейнерных средах и микросервисной архитектуре |
Grafana | • Потрясающая визуализация
• Гибкие дашборды • Поддержка множества источников данных |
• Не является полноценной системой мониторинг
• Нужен отдельный бэкенд |
Как дополнение к другим системам мониторинга |
Prometheus + Grafana: Модный стек
Это как Instagram для метрик – красиво, современно, но требует определенной подготовки:
# prometheus.yml
scrape_configs:
- job_name: 'приложение'
static_configs:
- targets: ['localhost:9090']
# А дальше три часа настройки Grafana...
Zabbix: Серьезный конкурент
Если Nagios – это Unix-борода с 20-летним стажем, то Zabbix – это хипстер со знанием DevOps:
- Умеет всё то же, что и Nagios
- Делает это более элегантно
- Но иногда слишком умничает
Почему же люди всё еще используют Nagios?
- Стабильность – работает как швейцарские часы (если правильно настроить)
- Простота – нет нужды разбираться в контейнерах и микросервисах
- Сообщество – огромная база плагинов и знаний
- Инерция – «работает – не трогай» (девиз многих IT-отделов)
И помните: выбор системы мониторинга – это как выбор религии. Важно не то, во что вы верите, а то, насколько хорошо это работает в вашем конкретном случае!
Заключение
Ну что же, друзья, мы с вами прошли долгий путь – от установки Nagios до выбора альтернатив. Давайте подведем итоги (и нет, это не очередной мониторинг-отчет).
Что мы узнали:
- Nagios – это не просто система мониторинга, а настоящий ветеран IT-индустрии, который до сих пор даст фору многим новичкам
- Установка может показаться сложной (особенно если вы привыкли к установке приложений через App Store), но результат стоит потраченных усилий
- Система плагинов позволяет мониторить буквально всё, что имеет IP-адрес (а иногда и то, что не имеет)
- Правильно настроенные оповещения могут спасти ваш сон (или наоборот – зависит от количества проблем в инфраструктуре)
Если после прочтения этого руководства вы загорелись желанием глубже изучить системное администрирование и мониторинг инфраструктуры, рекомендую обратить внимание на специализированные курсы. На странице подборки курсов для системных администраторов вы найдете образовательные программы разного уровня сложности, которые помогут структурировать знания и получить практические навыки не только в работе с Nagios, но и с другими инструментами мониторинга и администрирования систем.
Рекомендуем посмотреть курсы по системному администрированию
Курс | Школа | Цена | Рассрочка | Длительность | Дата начала | Ссылка на курс |
---|---|---|---|---|---|---|
Старт в DevOps: системное администрирование для начинающих
|
Skillbox
128 отзывов
|
Цена
Ещё -33% по промокоду
76 166 ₽
126 943 ₽
|
От
3 462 ₽/мес
Без переплат на 22 месяца.
|
Длительность
4 месяца
|
Старт
21 апреля
|
Ссылка на курс |
Курс Системный администратор. Интенсив
|
Level UP
28 отзывов
|
Цена
72 990 ₽
|
От
24 330 ₽/мес
|
Длительность
3 месяца
|
Старт
1 мая
|
Ссылка на курс |
Системный администратор
|
Нетология
42 отзыва
|
Цена
с промокодом kursy-online
90 000 ₽
180 000 ₽
|
От
3 750 ₽/мес
Без переплат на 2 года.
5 694 ₽/мес
|
Длительность
13 месяцев
|
Старт
21 апреля
|
Ссылка на курс |
Администрирование MS Windows Server
|
Merion Academy
5 отзывов
|
Цена
9 440 ₽
13 490 ₽
|
От
786 ₽/мес
Рассрочка на 12 месяцев
1 124 ₽/мес
|
Длительность
1 месяц
|
Старт
скоро
|
Ссылка на курс |
Администрирование ОС Linux
|
Skillbox
128 отзывов
|
Цена
Ещё -33% по промокоду
76 489 ₽
127 481 ₽
|
От
6 374 ₽/мес
Без переплат на 1 год.
|
Длительность
2 месяца
|
Старт
21 апреля
|
Ссылка на курс |
Если вы только начинаете свой путь в мире мониторинга – не бойтесь Nagios. Да, он может показаться суровым и неприветливым на первый взгляд, но это как строгий учитель – требовательный, но справедливый.

Какие программы для дизайна интерьера выбрать: топ решений
Какую программу выбрать для дизайна интерьера: простые онлайн-инструменты или мощные профессиональные пакеты? Разбираем плюсы, минусы и особенности.

Почему одни сайты в топе, а другие — нет?
Факторы ранжирования сайта — не магия, а набор конкретных параметров, которые можно оптимизировать. В этой статье — полный разбор.

Каким будет интерьер 2025 года: главные тренды
Современный интерьер – это баланс технологий, комфорта и устойчивого развития. Рассказываем, какие тенденции станут определяющими в дизайне жилых и коммерческих пространств.

Какой фреймворк для фронтенда лучше: React, Angular или Vue.js?
Стоите перед выбором фронтенд-фреймворка? React, Angular и Vue — у каждого есть свои сильные и слабые стороны. Разберем их особенности и поможем выбрать оптимальный вариант.