Monit — это легкий кроссплатформенный инструмент мониторинга, который обеспечивает простой и эффективный способ управления и мониторинга процессов, файлов, каталогов и файловых систем в Unix-подобных операционных системах. Он может автоматически перезапускать сервисы, в которых произошел сбой, отправлять предупреждения по электронной почте или SMS, а также генерировать подробные отчеты о состоянии и производительности системы.
Необходимые условия
- Сервер под управлением одной из следующих операционных систем: Ubuntu и любой другой дистрибутив на базе Debian, например Linux Mint.
- Рекомендуется использовать свежую установку ОС, чтобы предотвратить возможные проблемы.
- SSH-доступ к серверу (или просто откройте Terminal, если вы работаете на рабочем столе).
- Активное подключение к Интернету. Интернет-соединение понадобится для загрузки необходимых пакетов и зависимостей.
- Система Ubuntu 24.04 с правами root или пользователь с привилегиями sudo.
Установка Monit на Ubuntu 24.04 LTS
Шаг 1. Обновление репозитория пакетов.
Обновление системы гарантирует, что все существующие пакеты актуальны, что может предотвратить возможные конфликты в процессе установки.
sudo apt update
sudo apt upgrade
Команда apt update получает последнюю информацию о пакетах из настроенных источников, а apt upgrade устанавливает доступные обновления для всех пакетов, установленных в системе.
Шаг 2. Установка Monit на Ubuntu 24.04.
Установите Monit из официального репозитория Ubuntu:
sudo apt install monit
После завершения установки убедитесь, что Monit был установлен правильно, проверив его версию:
monit -V
Эта команда покажет версию Monit, установленную в вашей системе.
Шаг 3. Настройка Monit.
После установки Monit пришло время настроить его в соответствии с вашими потребностями в мониторинге. Основной конфигурационный файл Monit находится по адресу /etc/monit/monitrc. Давайте сделаем несколько базовых настроек для начала работы.
Откройте файл конфигурации с помощью выбранного вами текстового редактора:
sudo nano /etc/monit/monitrc
Сначала включим веб-интерфейс для удобства управления. Найдите следующие строки и откомментируйте их (удалите # в начале каждой строки):
set httpd port 2812 and
use address localhost
allow localhost
Чтобы защитить веб-интерфейс, добавьте аутентификацию, включив эти строки:
allow admin:your_password
Настройте оповещения по электронной почте, добавив или изменив следующие строки:
set mailserver smtp.gmail.com port 587
username "[email protected]" password "your_email_password"
using tlsv12
set alert [email protected]
Сохраните файл и выйдите из текстового редактора, а затем проверьте конфигурацию на наличие синтаксических ошибок:
sudo monit -t
Теперь, когда мы настроили Monit, давайте запустим службу и включим ее запуск при загрузке системы.
sudo systemctl start monit
Включите автоматический запуск Monit при загрузке системы:
sudo systemctl enable monit
Шаг 4. Настройте брандмауэр.
Если вы используете брандмауэр, убедитесь, что порт 2812 открыт:
sudo ufw allow 2812/tcp
Шаг 5. Доступ к веб-интерфейсу Monit.
Теперь откройте веб-браузер для доступа к веб-интерфейсу Monit по URL http://your-server-ip-2812. Вам будет предложено ввести имя пользователя и пароль администратора Monit (см. ниже):
Шаг 6. Мониторинг служб с помощью Monit.
Monit отлично справляется с мониторингом и управлением сервисами. Давайте настроим мониторинг для некоторых распространенных служб.
Мониторинг веб-сервера Apache
Создайте конфигурационный файл для Apache:
sudo nano /etc/monit/conf.d/apache2
Добавьте следующее содержание:
check process apache2 with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if cpu usage > 95% for 3 cycles then restart
if memory usage > 200 MB for 5 cycles then restart
if failed host localhost port 80 protocol http then restart
Мониторинг базы данных MySQL
Создайте файл конфигурации для MySQL:
sudo nano /etc/monit/conf.d/mysql
Добавьте следующее содержание:
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if cpu usage > 90% for 5 cycles then restart
if memory usage > 500 MB for 5 cycles then restart
if failed host localhost port 3306 then restart
Сохраните файлы и перезагрузите Monit:
sudo monit reload
Шаг 7. Устранение общих проблем.
Даже при тщательной настройке вы можете столкнуться с некоторыми проблемами. Ниже приведены решения распространенных проблем:
Monit не запускается:
- Проверьте файл журнала Monit: sudo tail -f /var/log/monit.log
- Проверьте синтаксис ваших конфигурационных файлов: sudo monit -t
Проблемы с доступом к веб-интерфейсу:
- Убедитесь, что веб-интерфейс включен в конфигурации.
- Проверьте настройки брандмауэра, чтобы разрешить доступ к порту 2812.
Проблемы с настройкой оповещений по электронной почте:
- Проверьте настройки SMTP-сервера.
- Проверьте учетные данные электронной почты и убедитесь, что они правильно введены в конфигурацию.
Неточности мониторинга ресурсов:
- Настройте пороги мониторинга в соответствии с типичной производительностью вашей системы.
- Увеличьте количество циклов до срабатывания оповещения, чтобы избежать ложных срабатываний.
Поздравляем! Вы успешно установили Monit. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить веб-сайт Monit.