Если вы пытались контролировать службы вручную на серверах Linux, то вот решение для вас. Прежде всего, вам нужно будет установить Monit на Linux. Мы можем настроить Monit для проверки процессов Tomcat и MySQL. Мы должны выполнить настройку для MySQL и Tomcat, используя Monit. мы также можем проверить Monit и Java-процесс. Посмотрим, как контролировать MySQL.
Очень легко настроить Monit в Linux, и вы можете найти файл журнала monit, расположенный в /var/log/monit. Мы обсудили с вами несколько примеров мониторинга с использованием служб ssh и MySQL.
Конфигурация SSH:
Мы создадим файл для мониторинга службы ssh с помощью инструмента Monit.
[root@andreyex ~]# vim /etc/monit.d/ssh.conf check process sshd with pidfile /var/run/sshd.pid start program "/usr/sbin/sshd start" stop program "/usr/sbin/sshd stop" if failed host 127.0.0.1 port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout
Приведенный выше код будет следить за службами ssh и перезапускать службы при сбое. Он будет пытаться 5 раз.
Вы можете проверить статус, работает ли он или настроен правильно, используя команду monit status.
Process 'sshd' status OK monitoring status Monitored monitoring mode active on reboot start pid 7101 parent pid 1 uid 0 effective uid 0 gid 0 uptime 1h 54m threads 1 children 3 cpu 0.0% cpu total 0.0% memory 0.0% [468 kB] memory total 0.3% [2.8 MB] security attribute system_u:system_r:sshd_t:s0-s0:c0.c1023 disk read 0 B/s [116.6 MB total] port response time 34.733 ms to 127.0.0.1:22 type TCP/IP protocol SSH data collected Tue, 05 May 2020 14:22:32
Конфигурация MySQL:
Мы также можем контролировать сервер MySQL, а также с помощью этого инструмента. Создайте файл для мониторинга MySQL.
[root@andreyex ~]# vim /etc/monit.d/mysql.conf check process mysqld with pidfile /var/run/mysqld/mysqld.pid group database start program = "/etc/init.d/mysqld start" stop program = "/etc/init.d/mysqld stop" if failed host 127.0.0.1 port 3306 then restart if 5 restarts within 5 cycles then timeout
Мы также можем проверить конфигурацию перед перезагрузкой службы мониторинга.
[root@andreyex ~]# monit -t # проверьте конфигурацию перед перезагрузкой службы [root@andreyex ~]# monit reload # перезагрузите конфигурацию, чтобы внести изменения
Вы можете проверить расположение PID и запустить программу, она может отличаться на вашем компьютере.
Проверьте статус, используя статус мониторинга
Process 'mysqld' status OK monitoring status Monitored monitoring mode active on reboot start pid 60708 parent pid 60504 uid 27 effective uid 27 gid 27 uptime 0m threads 22 children 0 cpu 0.1% cpu total 0.1% memory 45.3% [440.2 MB] memory total 45.3% [440.2 MB] security attribute system_u:system_r:mysqld_t:s0 disk read 0 B/s [13.7 MB total] disk write 0 B/s [64 kB total] port response time 0.924 ms to 127.0.0.1:3306 type TCP/IP protocol DEFAULT data collected Tue, 05 May 2020 14:22:32
Теперь мы настроили службы SSH и MySQL для мониторинга и автоматического перезапуска при сбое.
Тестирование конфигурации:
Мы остановим службу MySQL вручную, чтобы проверить, работает она или нет.
Как только это будет сделано. Вы проверяете статус, используя статус мониторинга
Process 'mysqld' status Initializing monitoring status Initializing monitoring mode active on reboot start data collected Tue, 05 May 2020 14:39:08
Вы увидите, что он будет в процессе инициализации в течение нескольких секунд, после чего вы проверите состояние службы MySQL.
The service will be restarted automatically.
Process 'mysqld' status OK monitoring status Monitored monitoring mode active on reboot start pid 61687 parent pid 61482 uid 27 effective uid 27 gid 27 uptime 0m threads 22 children 0 cpu 0.1% cpu total 0.1% memory 45.3% [440.2 MB] memory total 45.3% [440.2 MB] security attribute system_u:system_r:mysqld_t:s0 disk write 0 B/s [60 kB total] port response time 0.566 ms to 127.0.0.1:3306 type TCP/IP protocol DEFAULT data collected Tue, 05 May 2020 14:40:11
Если вы настроили доступ с графическим интерфейсом для панели мониторинга Monit. Вы также можете проверить статус там.