GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar Monit.

Introducción

Monit es un programa útil que monitorea y administra automáticamente los programas del servidor para garantizar que no solo permanezcan en línea de manera constante, sino que el tamaño del archivo, la suma de verificación o los permisos sean siempre correctos.

# yum install monit ( To install monit On RedHat/CentOS/Fedora/ )

# sudo apt-get install monit ( To install monit On Ubuntu/Debian )

Configurar el demonio Monit

# vi /etc/monit.conf ( Configuration file in RedHat/CentOS/Fedora/ )

# vi /etc/monit/monitrc ( Configuration file in Ubuntu/Debian )

AHORA AGREGAR LOS SERVICIOS AL ARCHIVO DE CONFIGURACIÓN DE MONIT

Abra el archivo de configuración, es decir,

For RedHat/CentOS/Fedora (# vi /etc/monit.conf)
For Ubuntu/Debian (# vi /etc/monit/monitrc)

Elimine todas las líneas en el archivo de configuración y agregue las líneas dadas a continuación. (todas y cada una de las líneas se definen brevemente a continuación)

Establecer intervalo de demonio

Este es el intervalo (en segundos) en el que Monit ejecuta sus pruebas. El valor que elija dependerá de la cantidad de pruebas que defina. Si cambiamos este valor, deberá reiniciar Monit.

# check services at 30 seconds of intervals
set daemon 30

Establecer archivo de registro

# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log

Verificar la configuración de uso de memoria y reiniciar

##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

Compruebe el servicio HTTPD y reinicie

Aquí el servicio Httpd es monitoreado por monit, es decir, cuando el servicio no se está ejecutando o cuando el loadavg es mayor que monit ejecutará el servicio httpd para reiniciar

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

Verifique el servicio mysqld y reinicie

Aquí el servicio Mysqld es monitoreado por monit, es decir, cuando el servicio no se está ejecutando o cuando el loadavg es mayor que monit ejecutará el servicio Mysql para reiniciar

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

De la misma manera, podemos agregar cualquier servicio que deba ser monitoreado por monit y reiniciar

Una vez que todos los servicios se agregan en el archivo de configuración. el archivo de configuración se ve a continuación..

# check services at 2-minute intervals
set daemon 30
# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log
##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

NOTA:Ya que hemos definido la siguiente línea en el archivo de configuración

iniciar programa =“/usr/local/bin/httpd-start”
detener programa =“/usr/local/bin/httpd-kill”

Necesitamos agregar los scripts httpd-start, httpd-kill, es decir,

cree un archivo con el siguiente comando y agregue las siguientes líneas

vi /usr/local/bin/httpd-start
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/killall -9 php-cgi; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
/usr/sbin/apachectl start
#/sbin/swapoff -a
#/sbin/swapon -a
exit 0;

ahora guarde y salga usando el comando

 :wq!

Ahora lo mismo para el script httpd-kill

cree un archivo con el siguiente comando y agregue las siguientes líneas

 vi /usr/local/bin/httpd-kill
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
exit 0;

de la misma manera que necesitamos definir para los scripts de Mysqld..

Una vez que haya configurado todos los programas para el monitoreo, verifique la sintaxis de monit para ver si hay errores. Si encuentra algún error, corríjalo, no es tan difícil averiguar qué salió mal. Usando el siguiente comando

# monit -t

Si el archivo de configuración de monit es correcto, recibirá un mensaje como "Controlar la sintaxis del archivo OK", o si no ve ningún error,

Después de corregir todos los errores posibles, puede escribir el siguiente comando para iniciar el servicio de monitoreo.

# /etc/init.d/monit start

Verificando el servicio de Monit

Puede verificar que el servicio de monitoreo se haya iniciado revisando el archivo de registro.

# tail -f /var/log/monit

La salida del registro de muestra es la siguiente

[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'e2enetworks.com' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx

Ubuntu
  1. Cómo instalar y configurar Ansible en Windows

  2. Cómo instalar y configurar Redis en Ubuntu 18.04

  3. Cómo instalar y configurar Redmine en Ubuntu 18.04

  4. Cómo instalar y configurar Samba en Ubuntu 18.04

  5. Cómo instalar y configurar Monit.

Cómo instalar y configurar Git en Ubuntu 20.04

Cómo instalar y configurar OpenVAS 9 en Ubuntu

Cómo instalar y configurar Redis en Ubuntu 20.04

Cómo instalar y configurar Monit Monitoring Server en Ubuntu 20.04 LTS

Cómo instalar y configurar Redis en CentOS 8

Cómo instalar y configurar Grafana