Установка и настройка Monit на Ubuntu 22.04
Monit — лёгкий агент для мониторинга процессов и сервисов на сервере. В этой инструкции показано, как установить Monit на Ubuntu 22.04, включить веб‑интерфейс, добавить шаблоны для Nginx и ProFTPD, а также как проверять состояние через CLI. Включены рекомендации по отладке, безопасности и чек‑листы ролей.
Что такое Monit (в одну строку)
Monit — это демонический процесс для автоматического мониторинга и перезапуска сервисов, проверки портов и простая веб‑панель для управления.
Предварительные требования
- Сервер с Ubuntu 22.04.
- Настроен root‑доступ или пользователь с sudo.
Обновление системы
Обновите пакеты перед установкой:
apt update -y
apt upgrade -yЗавершите обновление и переходите к установке Monit.
Установка Monit
Пакет Monit доступен в стандартном репозитории Ubuntu 22.04. Установите его:
apt-get install monit -yПосле установки запустите сервис и включите его автозапуск при загрузке:
systemctl start monit
systemctl enable monitПроверить состояние:
systemctl status monitПример вывода показывает, что сервис запущен и активен.
Проверить версию Monit:
monit --versionОбычно вывод выглядит как:
This is Monit version 5.31.0
Built with ssl, with ipv6, with compression, with pam and with large files
Copyright (C) 2001-2022 Tildeslash Ltd. All Rights Reserved.Настройка веб‑интерфейса Monit
Откройте конфигурационный файл Monit:
nano /etc/monit/monitrcНайдите и измените строки управления HTTP‑интерфейсом, например:
set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'Задайте надёжный пароль и при необходимости разрешите доступ только с доверенных IP.
Примените изменения перезапуском сервиса:
systemctl restart monitПроверка прослушиваемых портов (по умолчанию 2812):
ss -antpl | grep monitПример вывода показывает прослушивание 0.0.0.0:2812 и [::]:2812.
Проверка статуса через CLI:
monit statusВы увидите сводную информацию о системе и отслеживаемых сервисах.
Добавление сервисов для мониторинга
Шаблоны сервисов хранятся в каталоге /etc/monit/conf-available/. Для включения используйте символическую ссылку в /etc/monit/conf-enabled/.
Мониторинг Nginx
Шаблон Nginx обычно уже присутствует. Включите его так:
ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/Примените изменения:
systemctl restart monitМониторинг ProFTPD (пример создания шаблона)
Если шаблона нет — создайте файл:
nano /etc/monit/conf-available/proftpdДобавьте в файл конфигурацию:
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restartСохраните файл и включите шаблон:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabledПроверка синтаксиса конфигурации Monit:
monit -tОжидаемый вывод:
Control file syntax OKПерезапустите Monit для применения изменений:
systemctl restart monitДоступ к веб‑интерфейсу
Откройте в браузере URL:
Веб‑интерфейс покажет список всех отслеживаемых сервисов.

Введите имя пользователя и пароль, затем нажмите Sign in.

После входа вы увидите панель мониторинга.

Нажмите на сервис, например Nginx, чтобы увидеть детальную статистику и доступные операции (start/stop/restart).
Мониторинг через командную строку
Краткая сводка:
monit summaryПример таблицы со статусами сервисов показывает имена, статусы и типы объектов.
Подробный статус всех сервисов:
monit statusВ выводе вы увидите блоки для каждого процесса, файлов и системных показателей: PID, использование памяти, время работы, порты и т. п.
Траблшутинг и план действий при инциденте
Если сервис перестал работать или Monit не перезапускает его:
- Проверить логи Monit:
journalctl -u monit -b --no-pager
tail -n 200 /var/log/monit.log- Проверить синтаксис конфигурации:
monit -t- Проверить права на pidfile и файлы, указанные в шаблонах.
- Убедиться, что скрипты start/stop возвращают корректные коды выхода при ручном запуске.
- Если проблема повторяется, временно отключите рестарт и включите только оповещения.
Быстрый инцидентный план (runbook):
- Стадия 1 — диагностировать: проверить статус сервиса (systemctl status), журналы, pidfile.
- Стадия 2 — попытка ручного рестарта: systemctl restart
и проверка ошибок. - Стадия 3 — временное откатывание конфигурации (если недавние изменения привели к сбою).
- Стадия 4 — восстановление сервиса/обратный откат и уведомление команды.
Критерии приёмки: сервисы должны отмечаться как OK в monit status, веб‑интерфейс доступен и Monit успешно выполняет рестарт при сбое.
Безопасность и ограничения доступа
- Меняйте пароль admin по умолчанию и используйте сложные пароли.
- Ограничьте доступ к порту 2812 через брандмауэр (ufw/iptables) или настройте доступ по IP:
# пример для ufw
ufw allow from 203.0.113.0/24 to any port 2812
ufw deny 2812- По возможности используйте HTTPS‑прокси (nginx) перед Monit для шифрования трафика.
- Не храните в публичных репозиториях файл monitrc с паролями.
Когда Monit не подходит (ограничения)
- Monit — хорош для простого мониторинга и автоматического рестарта, но не заменяет полнофункциональные системы мониторинга (Prometheus, Zabbix) для метрик, алертинга и долгосрочного хранения данных.
- Если нужен масштабируемый сбор метрик и графики, стоит рассмотреть альтернативы.
Альтернативы и интеграции
- Для метрик и алертинга: Prometheus + Alertmanager.
- Для корпоративного мониторинга: Zabbix, Nagios/Icinga.
- Для визуализации и хранения временных рядов: Grafana + InfluxDB/Prometheus.
Monit хорошо интегрируется: его можно использовать как локальный watchdog вместе с внешней системой мониторинга.
Чек‑лист по ролям
Админ системы:
- Установил Monit, включил автозапуск.
- Настроил веб‑интерфейс и изменил пароль.
- Ограничил доступ по IP/брандмауэру.
DevOps/инженер приложений:
- Создал конфигурации для ключевых процессов.
- Проверил поведение рестарта и корректность скриптов start/stop.
- Настроил оповещения в случае повторяющихся рестартов.
SRE/операции:
- Интегрировал Monit с внешним алертингом (если нужно).
- Добавил проверки состояния в runbook и провёл тесты восстановления.
Мини‑методология внедрения Monit
- Проверьте критичные сервисы и опишите способы их корректного рестарта.
- Подготовьте шаблоны в /etc/monit/conf-available/.
- Включите по одному шаблону и протестируйте поведение.
- Настройте уведомления и доступ к веб‑интерфейсу.
- Включите мониторинг в производственной среде и наблюдайте в течение 24–72 часов.
Тестовые случаи и критерии приёмки
- При остановке сервиса Monit должен попытаться перезапустить его и зафиксировать попытку в логах.
- mon it summary должен отображать сервис в статусе OK после восстановления.
- Веб‑интерфейс должен быть доступен и показывать актуальное состояние.
Заключение
Поздравляем — вы установили и настроили Monit на Ubuntu 22.04. Monit поможет автоматически поддерживать работоспособность критичных процессов и даст простой интерфейс для наблюдения. Используйте чек‑листы, runbook и рекомендации по безопасности для стабильной эксплуатации.
Важно
- Всегда проверяйте конфигурацию через monit -t перед перезапуском.
- Не оставляйте дефолтные пароли и ограничивайте доступ к веб‑интерфейсу.
Краткое резюме
- Monit прост в установке и настройке.
- Подходит для автоматического рестарта сервисов и локального мониторинга.
- Не заменяет полнофункциональные системы метрик, но хорошо работает в связке с ними.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента