Гид по технологиям

Установка и настройка Monit на Ubuntu 22.04

5 min read Серверы Обновлено 07 Nov 2025
Monit на Ubuntu 22.04: установка и настройка
Monit на Ubuntu 22.04: установка и настройка

Скриншот интерфейса Monit и логотип

Краткое описание

Monit — это Open Source-инструмент для мониторинга локальных сервисов и процессов. Он умеет:

  • проверять наличие процесса по pidfile, по порту или исполнителю;
  • перезапускать сервисы при сбоях;
  • предоставлять простой веб-интерфейс для просмотра статуса;
  • выполнять проверки TCP/IP на удалённых хостах и простые проверки протоколов;
  • работать через CLI для автоматизации и интеграции в скрипты.

Термин в одну строку: pidfile — файл, в котором сервис записывает свой PID (идентификатор процесса).

Требования

  • Сервер с Ubuntu 22.04.
  • Доступ с правами root или sudo (пароль root должен быть настроен или у вас должен быть sudo-доступ).

Подготовка

Обновите пакеты до последних версий перед установкой:

apt update -y  
apt upgrade -y

После обновления можно переходить к установке Monit.

Установка Monit на Ubuntu 22.04

Пакет Monit доступен в официальном репозитории Ubuntu. Установите его командой:

apt-get install monit -y

После успешной установки запустите сервис и включите автозапуск при старте системы:

systemctl start monit  
systemctl enable monit

Проверить статус сервиса:

systemctl status monit

Пример вывода статуса (оставлено без изменений):

? monit.service - LSB: service and resource monitoring daemon
     Loaded: loaded (/etc/init.d/monit; generated)
     Active: active (running) since Mon 2022-08-01 04:28:17 UTC; 11s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 6292 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 2242)
     Memory: 2.5M
        CPU: 25ms
     CGroup: /system.slice/monit.service
             ??6298 /usr/bin/monit -c /etc/monit/monitrc

Aug 01 04:28:17 ubuntu2204 systemd[1]: Starting LSB: service and resource monitoring daemon...
Aug 01 04:28:17 ubuntu2204 monit[6292]:  * Starting daemon monitor monit
Aug 01 04:28:17 ubuntu2204 monit[6292]:    ...done.
Aug 01 04:28:17 ubuntu2204 systemd[1]: Started LSB: service and resource monitoring daemon.

Проверить версию 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

Основной конфигурационный файл: /etc/monit/monitrc. Отредактируйте его, чтобы включить веб-интерфейс и задать учётные данные администратора:

nano /etc/monit/monitrc

Найдите строки, связанные с httpd, и измените их на:

set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'

Сохраните файл и перезапустите Monit для применения изменений:

systemctl restart monit

По умолчанию Monit слушает порт 2812. Проверить можно так:

ss -antpl | grep monit

Пример вывода:

LISTEN 0      1024         0.0.0.0:2812       0.0.0.0:*    users:(("monit",pid=6427,fd=6))                        
LISTEN 0      1024            [::]:2812          [::]:*    users:(("monit",pid=6427,fd=7))                        

Также можно получить общий статус:

monit status

Пример вывода статуса системы (сокращённый/необработанный):

Monit 5.31.0 uptime: 0m

System 'ubuntu2204'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.08] [0.13] [0.13]
  cpu                          0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice 
  memory usage                 1.0 GB [54.0%]
  swap usage                   0 B [0.0%]
  uptime                       28m
  boot time                    Mon, 01 Aug 2022 04:02:09
  filedescriptors              1728 [0.0% of 9223372036854775807 limit]
  data collected               Mon, 01 Aug 2022 04:29:55

Важно: после изменения конфигурации всегда проверяйте синтаксис командой monit -t и перезапускайте сервис.

Добавление сервисов в мониторинг

Шаблоны для популярных сервисов хранятся в каталоге /etc/monit/conf-available/. Чтобы активировать шаблон, создайте символическую ссылку в /etc/monit/conf-enabled/.

Мониторинг Nginx

Шаблон Nginx обычно поставляется в conf-available. Включите его:

ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/

Затем перезапустите Monit:

systemctl restart monit

Мониторинг ProFTP (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 -t

Ожидаемый вывод:

Control file syntax OK

Перезапустите Monit для применения:

systemctl restart monit

Доступ к веб-интерфейсу Monit

Откройте в браузере URL:

http://your-server-ip:2812

Вводите логин и пароль, которые вы указали в конфигурации (в примере — admin/monit).

На странице вы увидите список сервисов и их статусы.

Страница входа в веб-интерфейс Monit

Дашборд Monit с перечнем сервисов

Информация по сервису Nginx внутри Monit

Примечание: по соображениям безопасности доступ к порту 2812 следует ограничивать firewall-правилами (ufw/iptables) или пробрасывать через обратный прокси с аутентификацией.

Мониторинг через командную строку

Monit предоставляет удобные команды для скриптов и ручной диагностики.

Краткая сводка:

monit summary

Пример вывода сводки (оставлен без изменений):

Monit 5.31.0 uptime: 0m
???????????????????????????????????????????????????????????????????????????????
? Service Name                    ? Status                     ? Type          ?
???????????????????????????????????????????????????????????????????????????????
? ubuntu2204                      ? OK                         ? System        ?
???????????????????????????????????????????????????????????????????????????????
? proftpd                         ? OK                         ? Process       ?
???????????????????????????????????????????????????????????????????????????????
? nginx                           ? OK                         ? Process       ?
???????????????????????????????????????????????????????????????????????????????
? nginx_bin                       ? OK                         ? File          ?
???????????????????????????????????????????????????????????????????????????????
? nginx_rc                        ? OK                         ? File          ?
???????????????????????????????????????????????????????????????????????????????

Полный статус конкретных элементов показывает подробную телеметрию:

monit status

(Длинный пример вывода опущен здесь — он присутствовал ранее и остаётся актуальным.)

Быстрый справочник (Fact box)

  • Порт по умолчанию: 2812
  • Основной файл: /etc/monit/monitrc
  • Папка шаблонов: /etc/monit/conf-available/ и /etc/monit/conf-enabled/
  • Проверка синтаксиса: monit -t
  • Перезапуск сервиса: systemctl restart monit

Ролевая чек-лист (кто что делает)

  • Сисадмин: установить пакет, настроить firewall, включить автозапуск, подключить шаблоны сервисов.
  • DevOps-инженер: интегрировать вызовы monit в CI/CD, добавить проверки процессов в шаблоны.
  • Менеджер/оператор: установить оповещения и регулярные проверки доступности ключевых сервисов.

Когда Monit не подходит (ограничения и контрпример)

  • Масштабный мониторинг сотен/тысяч хостов: Monit проектировался как агент для локального мониторинга и автовосстановления. Для централизованного мониторинга и агрегирования метрик в больших средах лучше использовать Prometheus, Zabbix, или ELK/Elastic Stack.
  • Глубокая аналитика и ретеншн метрик: Monit не предназначен для хранения временных рядов и построения долгосрочных графиков.

Альтернативные подходы

  • Для лёгкого локального самовосстановления — Monit.
  • Для метрик и алертинга в облаках — Prometheus + Alertmanager.
  • Для централизованного мониторинга со множеством интеграций — Zabbix или Nagios.
  • Для логирования и аналитики — ELK (Elasticsearch, Logstash, Kibana).

Runbook — быстрое восстановление при отказе Monit

  1. Проверить статус сервиса:
systemctl status monit
  1. Проверить синтаксис конфигов:
monit -t
  1. Если есть ошибки синтаксиса — исправить /etc/monit/monitrc или файлы в conf-available, затем повторить monit -t.

  2. Перезапустить сервис и просмотреть логи:

systemctl restart monit
journalctl -u monit --no-pager -n 200
  1. Если веб-интерфейс недоступен — проверить firewall/ufw:
sudo ufw status
sudo iptables -L -n
  1. Откат: вернуть предыдущую копию конфигурации из резервной копии и перезапустить сервис.

Безопасность и советы по эксплуатации

  • Не храните простые пароли в открытом виде в общедоступных репозиториях.
  • Ограничьте доступ к порту 2812 по IP или проксируйте через защищённый обратный прокси.
  • Регулярно проверяйте логи и результаты monit summary в автоматизированных проверках.

Краткий чеклист для быстрой установки (SOP)

  • apt update && apt upgrade
  • apt-get install monit -y
  • Отредактировать /etc/monit/monitrc (включить httpd, задать allow)
  • ln -s нужные шаблоны из conf-available в conf-enabled
  • monit -t (проверка синтаксиса)
  • systemctl restart monit
  • Проверить ss -antpl | grep 2812 и открыть веб-интерфейс

Заключение

Поздравляем — Monit установлен и базово настроен на Ubuntu 22.04. Это удобный инструмент для быстрого обнаружения и автовосстановления сервисов. Для продакшн-среды подумайте о безопасности доступа к веб-интерфейсу и интеграции Monit с системами оповещений.

Ключевые действия: установить пакет, настроить /etc/monit/monitrc, активировать шаблоны, проверить синтаксис и перезапустить сервис.

Если нужна помощь с конкретным шаблоном Monit или интеграцией оповещений — напишите, какие сервисы вы хотите мониторить, и я помогу подготовить конфигурации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Herodotus: механизм и защита Android‑трояна
Кибербезопасность

Herodotus: механизм и защита Android‑трояна

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти