Monit может использоваться для мониторинга ваших услуг на вашем VPS или выделенном сервере. Вы можете использовать Monit, чтобы убедиться, что MySQL (MariaDB, Percona и т.д.) всегда работают в случае сбоя из-за брут-форс атак ботов или у когда заканчиваются ресурсы.
Monit проверит процесс MySQL, посмотрев на сокет unix, который он прослушивает. Если сокет не может быть обнаружен, Monit перезапустит службу MySQL. Таким образом, вы гарантируете, что ваш веб-сайт, возможно, который работает на WordPress, всегда запускает необходимые процессы.
Если вам нужно установить Monit на Ubuntu или Debian, то следуйте этому руководству.
Monit нужна информация, чтобы проверить, работает ли MySQL.
Мы будем использовать сокет MariaDB или MySQL и его pid-файл.
MySQL может слушать как сокеты unix, так и сокеты TCP. Чтобы узнать это, используйте этой команды
grep "socket" /etc/mysql/my.cnf
Если вы видите этот вывод, то MySQL использует unix-сокеты
listen = /var/run/mysqld/mysqld.sock
Monit также нуждается в файле pid
sudo find /run -iname mysql*.pid
Вы должны увидеть такой вывод
/run/mysqld/mysqld.pid
Теперь у нас есть информация, необходимая для настройки Monit для мониторинга MySQL.
Создайте конфигурационный файл Monit MySQL, вы можете использовать папку conf-enabled
вместо conf.d
для проверки /etc/monit/monitrc.
sudo nano /etc/monit/conf.d/mysql
Эта конфигурация Monit MySQL предназначена для сокетов unix.
Он проверит файл mysqld.pid и если он не существует Monit попытается перезапустить его.
Monit также проверит сокет MySQL: /var/run/mysqld/mysqld.sock
check process mysql with pidfile /run/mysqld/mysqld.pid start program = "/usr/sbin/service mysql start" with timeout 60 seconds stop program = "/usr/sbin/service mysql stop" if failed unixsocket /var/run/mysqld/mysqld.sock then restart
Проверьте, что конфигурация Monit имеет допустимый синтаксис
sudo monit -t
Вы должны увидеть это сообщение, указывающее, что синтаксис Monit в порядке.
Control file syntax OK
Затем перезагрузите Monit, чтобы активировать конфигурацию
sudo service monit reload
Вы можете проверить свой статус MySQL Monit на порте 2812 или какой-либо другом порте, на который вы указали Monit, должен работать.
Теперь ваш MySQL-сервис будет автоматически перезагружен, если он когда-либо провалится.