GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Monit en CentOS 7 / RHEL 7

Monit es una herramienta de monitoreo de procesos de código abierto para el sistema operativo Linux que lo ayuda a monitorear el proceso del sistema utilizando el navegador web y también, cuando sea necesario, automáticamente realiza el mantenimiento o la reparación del proceso en particular de tal manera que pueda volver a estar en línea. /P>

Monit también se puede usar para administrar y monitorear programas, archivos, directorios y dispositivos para cambios de marcas de tiempo, cambios de suma de verificación o cambios de tamaño; no se limita a realizar varias comprobaciones de red TCP/IP, comprobaciones de protocolo y puede utilizar SSL para dichas comprobaciones.

Se registra en su archivo de registro y notifica al usuario a través de mensajes personalizables.

Esta guía lo ayudará a instalar Monit en CentOS 7 / RHEL 7.

Instalar Monit

Habilite el repositorio EPEL para descargar la última versión de Monit.

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Instale Monit usando el comando YUM.

yum -y install monit

Inicie monit usando el siguiente comando.

monit

Salida:

Starting Monit 5.25.1 daemon with http interface at [localhost]:2812

Verifique el estado del monitor.

monit status

Salida:

Monit 5.25.1 uptime: 0m

System 'server.itzgeek.local'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.01] [0.05] [0.04]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 170.2 MB [29.0%]
  swap usage                   0 B [0.0%]
  uptime                       4m
  boot time                    Sun, 09 Feb 2020 04:55:42
  data collected               Sun, 09 Feb 2020 05:00:00

Configurar Monit

El archivo de configuración principal de Monit es /etc/monitrc. Realizaremos algunos cambios en el archivo de configuración de Monit para satisfacer nuestros requisitos.

vi /etc/monitrc

De manera predeterminada, monit está configurado para verificar los servicios en un intervalo de 30 segundos. Esta configuración se puede modificar cambiando la línea de abajo.

set daemon  30

Las alertas pueden ser configuradas por.

set mailserver mx.itzgeek.local port 25

Las plantillas de alerta se pueden encontrar en el propio archivo de configuración. Consulte los extras al final de este artículo.
La configuración de registros se puede cambiar utilizando el siguiente archivo.

set log /var/log/monit

Habilitar la interfaz web de Monit

Monit también proporciona una interfaz web para monitorear y administrar los servicios configurados. De manera predeterminada, monit escucha en el puerto 2812, pero debe configurarse.

Edite el archivo de configuración de monit.

vi /etc/monitrc

Busque el puerto httpd 2812, modifique las siguientes entradas.

DE:

set httpd port 2812 and
    use address localhost  # only accept connection from localhost
    allow localhost        # allow localhost to connect to the server and
    allow admin:monit      # require user 'admin' with password 'monit'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

PARA:

set httpd port 2812 and
    use address 0.0.0.0  # only accept connection 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'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

Desde la configuración anterior, monit escuchará en 2812 y el usuario administrador podrá acceder a la interfaz web desde cualquier red.

Recargar monitor.

systemctl restart monit

Monit de inicio automático al inicio.

systemctl enable monit

Configure el firewall para permitir el acceso a la interfaz web de Monit, ejecutándose en el puerto 2812.

firewall-cmd --permanent --add-port=2812/tcp

firewall-cmd --reload

Acceder a la interfaz web de Monit

Abra su navegador web y vaya a la siguiente URL.

http://su.ip.dirección.ess:2812

O

http://su.fq.dn:2812

Utilice el nombre de usuario y la contraseña mencionados en el paso anterior.

La página de inicio de Monit se verá como se muestra a continuación.

Configurar servicios para monitorear con Monit

Una vez que la interfaz web está activa, podemos comenzar a configurar los servicios que queremos monitorear.

Puede colocar los archivos de configuración de supervisión del servicio en el directorio /etc/monit.d/.

Configurar para el servicio SSH.

vi /etc/monit.d/sshdmonitor

Utilice la siguiente información.

check process sshd with pidfile /var/run/sshd.pid
start program  "/usr/bin/systemctl start sshd.service"
stop program  "/usr/bin/systemctl stop sshd.service"
if failed port 22 protocol ssh then restart

Configurar servicio para syslog.

vi /etc/monit.d/syslogmonitor

Utilice la siguiente información.

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

Servicio de configuración para HTTP.

vi /etc/monit.d/httpdmonitor

Utilice la siguiente información.

check process httpd with pidfile /var/run/httpd/httpd.pid
start program "/usr/bin/systemctl start httpd.service"
stop program "/usr/bin/systemctl stop httpd.service"
if failed port 80 protocol http then restart

Una vez configurado, pruebe la sintaxis de monit

monit -t

Salida:

Control file syntax OK

Vuelva a cargarlo para que se apliquen los cambios.

monit reload

Acceda a la interfaz web. Debería ver los nuevos servicios que configuramos hace un momento.

Al hacer clic en los servicios, obtendrá más información sobre el servicio en particular. Aquí, puede realizar acciones como iniciar, detener y reiniciar el servicio, y también deshabilitar el monitoreo.

Monitoreo de prueba

Ahora detenga el servicio HTTP para nuestras pruebas.

systemctl stop httpd

Espere 30 segundos, monit iniciará el syslog automáticamente. Puede encontrarlo en el registro de monitoreo.

cat /var/log/monit.log

Salida:

[UTC Feb  9 05:18:00] error    : 'httpd' process is not running
[UTC Feb  9 05:18:00] info     : 'httpd' trying to restart
[UTC Feb  9 05:18:00] info     : 'httpd' start: '/usr/bin/systemctl start httpd.service'
[UTC Feb  9 05:18:31] info     : 'httpd' process is running with pid 1959

Alerta por correo con Monit

Hay plantillas de alerta predefinidas disponibles en Monit para alertar a los administradores del sistema cuando falla un servicio en particular.

Edite el archivo de configuración.

vi /etc/monitrc

Puede actualizar la siguiente plantilla de alerta según sus requisitos.

set mail-format {
   from:    Monit <monit@$HOST>
   subject: monit alert --  $EVENT $SERVICE
   message: $EVENT Service $SERVICE
                 Date:        $DATE
                 Action:      $ACTION
                 Host:        $HOST
                 Description: $DESCRIPTION

            Your faithful employee,
            Monit @ ITzGeek
}

Establezca aquí la dirección del destinatario. Nota:Recibirás alertas sobre todo tipo de acciones

set alert root@localhost

Si no desea recibir alertas sobre el reinicio del servicio iniciado por el usuario, agregue la siguiente configuración.

set alert root@localhost not on { instance, action }

Finalmente, configure la configuración del servidor de correo para que pueda recibir correos. Aquí, estoy usando el relé local para que podamos leer la alerta de correo a través de la terminal para verificar la prueba.

set mailserver localhost

Vuelva a cargar el servicio.

monit reload

Alerta de ejemplo

Monit ha enviado correos electrónicos al usuario raíz sobre el proceso HTTP.

cat /var/spool/mail/root

Correo:

From [email protected]  Sun Feb  9 05:22:48 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id 670E21082B34
        for <root@localhost>; Sun,  9 Feb 2020 05:22:48 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Does not exist httpd
Date: Sun, 09 Feb 2020 05:22:48 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Does not exist Service httpd
                 Date:        Sun, 09 Feb 2020 05:22:48
                 Action:      restart
                 Host:        server.itzgeek.local
                 Description: process is not running

            Your faithful employee,
            Monit @ ITzGeek

From [email protected]  Sun Feb  9 05:23:18 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id B22AF1082B37
        for <root@localhost>; Sun,  9 Feb 2020 05:23:18 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Exists httpd
Date: Sun, 09 Feb 2020 05:23:18 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Exists Service httpd
                 Date:        Sun, 09 Feb 2020 05:23:18
                 Action:      alert
                 Host:        server.itzgeek.local
                 Description: process is running with pid 2139

            Your faithful employee,
            Monit @ ITzGeek

O

Utilice el cliente de correo electrónico Mutt (yum install -y mutt).

Conclusión

Eso es todo. Hemos configurado correctamente Monit en CentOS 7/RHEL 7.


Cent OS
  1. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  2. Cómo instalar P7Zip en RHEL 8 / CentOS 8

  3. Cómo instalar ntfs-3g en RHEL 8 / CentOS 8

  4. Cómo instalar Icinga 2 en CentOS 8 / RHEL 8

  5. Cómo instalar Monit en CentOS 6

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar ruby ​​en RHEL 8 / CentOS 8

Cómo instalar Docker CE en RHEL 8 / CentOS 8

Cómo instalar VirtualBox 6.0 en CentOS 8 / RHEL 8

Cómo instalar PHP 7.4 en CentOS 8 / RHEL 8

Cómo instalar Monit en CentOS 8 / RHEL 8