MONIT - утилита мониторинга процессов
Установка MONIT выполняется в CentOS из репозитария epel:
# yum install monitОсновной файл конфигурации - monitrc
В CentOS8 и CentOS7 лежит, как правило, тут - /etc/monitrc
В CentOS6 файл конфигурации тут: /etc/monit.conf
Дополнительная папка с конфигами - /etc/monit.d/
Редактируем файл /etc/monitrc (/etc/monit.conf)
Блок отвечающий за WEB-морду, работающую на порту 2812 изменяем для доступа по сети, например:
set httpd port 2812 and
use address <IP адрес>
allow localhost
allow 10.0.0.0/8
allow admin:monit
Проверяем, что слдедующая директива расскоментирована:
include /etc/monit.d/*
Простой запуск службы выполняется так:
# monit
Регистрация в автозапуск при загрузке Linux:
В CentOS7 и 8 - # systemctl enable monit
В CentOS6 - # chkconfig monit on
Для доступа к MONIT по HTTPS открываем порт 2812
FIRREWALLD:
# firewall-cmd --permanent --add-port=2812/tcp
# firewall-cmd --reload
Доступ к интерфейсу MONIT по HTTP выполняется по URL http://<ip-адрес>:2812, логин admin, пароль monit
Вот так можно получить данные в XML http://<ip-адрес>:2812/_status?format=xml
Для наблюдения за сервисами нужно создать файлы мониторинга сервисов и поместить их в /etc/monit.d/
Примеры конфигурации мониторинга систем:
Сама система:
/etc/monit.d/system
check system $HOST
if loadavg (1min) per core > 4 for 5 cycles then alert
if loadavg (5min) per core > 2 for 10 cycles then alert
if cpu usage > 90% for 5 cycles then alert
if memory usage > 85% then alert
if swap usage > 25% then alert
Сервис MySQL
/etc/monit.d/mysql
check process mysql matching "mysqld"
if totalmem > 500 MB for 5 cycles then alert
if cpu > 50% for 5 cycles then alert
Сервис Apache
/etc/monit.d/apache
check process apache with pidfile /var/run/httpd/httpd.pid
if cpu > 60% for 2 cycles then alert
if totalmem > 300.0 MB for 5 cycles then alert
if children > 250 then alert
if disk read > 500 kb/s for 10 cycles then alert
if disk write > 500 kb/s for 10 cycles then alert
Сервис Zabbix
check process zabbix with pidfile /var/run/zabbix/zabbix_server.pid
if cpu > 70% for 2 cycles then alert
if totalmem > 1000.0 MB for 5 cycles then alert
Проверка конфигурации:
# monit -t
Рестарт демона, после изменения настроек:
# monit reload