Поиск по сайту:

Monit — инструмент для управления и мониторинга систем Linux


Monit — это бесплатный и очень полезный инструмент с открытым исходным кодом, который автоматически отслеживает и управляет процессами, файлами, каталогами, < Strong>контрольные суммы, разрешения, файловые системы и такие службы, как Apache, Nginx, MySQL, FTP, SSH, SMTP и т. д. в системах на базе UNIX/Linux. и предоставляет отличные и полезные функции мониторинга для системных администраторов.

Монит имеет удобный веб-интерфейс, где вы можете напрямую просматривать состояние системы и настраивать процессы, используя собственный веб-сервер HTTP (S) или через интерфейс командной строки. Это означает, что в вашей системе должен быть установлен веб-сервер, например Apache или Nginx, для доступа и просмотра веб-интерфейса monit.

Что может сделать Монит

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

С помощью Monit вы можете отслеживать порт TCP/IP удаленных хостов, протоколы сервера и пинг. Monit ведет собственный файл журнала и предупреждает о любых критических ошибках и состоянии восстановления.

Эта статья написана для описания простого руководства по установке и настройке Monit в дистрибутивах Linux на базе RHEL и Debian.

Шаг 1. Установка Monit в Linux

По умолчанию программа мониторинга Monit недоступна из базовых репозиториев системы по умолчанию. Вам необходимо добавить и включить сторонний репозиторий epel для установки пакета monit в RHEL. -дистрибутивы, такие как CentOS, Rocky Linux и AlmaLinux.

--------- On RHEL 9 based Systems --------- 
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm 

--------- On RHEL 8 based Systems --------- 
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

--------- On RHEL 7 based Systems ---------
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Добавив репозиторий epel, установите пакет Monit, выполнив следующую команду yum.

yum install monit
OR
dnf install monit  [On Fedora Linux]

Пользователи Ubuntu/Debian/Linux Mint могут легко установить его с помощью команды apt, как показано.

sudo apt install monit

Шаг 2. Настройка Monit в Linux

Monit очень легко настроить. Файлы конфигурации созданы так, чтобы их было легко читать и было проще понять пользователям. Он предназначен для мониторинга запущенных служб каждые 2 минуты и хранит журналы в «/var/log/monit».

Monit имеет веб-интерфейс, который работает через порт 2812 с использованием веб-сервера. Чтобы включить веб-интерфейс, вам необходимо внести изменения в файл конфигурации монитора.

Основной файл конфигурации monit расположен по адресу /etc/monit.conf в папках (RedHat/CentOS/Fedora) и /etc/monit/monitrc. файл для (Ubuntu/Debian/Linux Mint).

Откройте этот файл, используя выбранный вами редактор.

vi /etc/monitrc
Or
sudo nano /etc/monit/monitrc

Затем раскомментируйте следующий раздел и добавьте IP-адрес или доменное имя вашего сервера, разрешите любому подключаться и измените пользователя и пароль monit или вы можете использовать значения по умолчанию.

set httpd port 2812 and
     use address 0.0.0.0  # only accept connections from localhost
     allow 0.0.0.0/0        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly

После настройки вам необходимо запустить, включить и проверить службу monit, чтобы перезагрузить новые параметры конфигурации.

systemctl start monit
systemctl enable monit
systemctl status monit

Теперь вы сможете получить доступ к веб-интерфейсу monit, перейдя по следующим URL-адресам.

http://localhost:2812
OR
http://ip-address:2812
Or
http://example.com:2812

Затем введите имя пользователя «admin» и пароль «monit». Вы должны получить экран, аналогичный показанному ниже.

Шаг 3. Добавление служб Linux для мониторинга Monit

После правильной настройки веб-интерфейсов monit начните добавлять программы, которые вы хотите отслеживать, в файл /etc/monitrc в разделе (RedHat/CentOS/Fedora<) и файл /etc/monit/monitrc для (Ubuntu/Debian/Linux Mint) внизу.

Ниже приведены некоторые полезные примеры конфигурации для monit, которые могут быть очень полезны для просмотра того, как работает служба, где она хранит свой профиль, как запускать и останавливать службу и т. д.

Мониторинг Apache в Monit

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/usr/bin/systemctl httpd start"
stop program = "/usr/bin/systemctl httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout

Мониторинг Apache2 в Monit

check process apache with pidfile /run/apache2.pid
start program = "/usr/bin/systemctl apache2 start" with timeout 60 seconds
stop program  = "/usr/bin/systemctl apache2 stop"

Мониторинг Nginx в Monit

check process nginx with pidfile /var/run/nginx.pid
start program = "/usr/bin/systemctl nginx start"
stop program = "/usr/bin/systemctl nginx stop"

Мониторинг MySQL в Monit

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/usr/bin/systemctl mysqld start"
stop program = "/usr/bin/systemctl mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

Мониторинг SSH в Monit

check process sshd with pidfile /var/run/sshd.pid
start program "/usr/bin/systemctl sshd start"
stop program "/usr/bin/systemctl sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

После того, как вы настроили все программы для мониторинга, проверьте синтаксис monit на наличие ошибок. Если обнаружены какие-то ошибки, исправьте их, разобраться, что пошло не так, не так уж и сложно. Когда вы получите сообщение типа «Синтаксис управляющего файла в порядке» или если вы не увидите ошибок, вы можете продолжить.

monit -t
Or
sudo monit -t

После исправления всех возможных ошибок вы можете ввести следующую команду, чтобы запустить службу мониторинга.

systemctl monit restart
OR
sudo systemctl monit restart

Вот как выглядит monit после добавления всех служб Linux для мониторинга.