Cómo instalar la herramienta de monitorización Monit en Ubuntu 22.04
Monit es una herramienta de monitorización de código abierto que se puede utilizar para monitorizar servidores. Con Monit, puedes supervisar los procesos del servidor y diferentes servicios como Apache, Nginx, MySQL, FTP, SSH, Sendmail y muchos más. Ofrece una interfaz web sencilla y fácil de usar para supervisar todos los procesos y servicios. Monit puede iniciar cualquier servicio automáticamente en caso de fallo. También te permite supervisar los puertos TCP/IP de hosts remotos, los protocolos de servidor y hacer ping mediante una interfaz de línea de comandos.
Este tutorial te mostrará cómo instalar y configurar la herramienta de monitorización Monit en Ubuntu 22.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 22.04.
- Una contraseña de root configurada en el servidor.
Cómo empezar
En primer lugar, tendrás que actualizar y actualizar todos los paquetes a la última versión. Puedes hacerlo con el siguiente comando:
apt update -y apt upgrade -y
Una vez instalados todos los paquetes, puedes pasar al siguiente paso.
Instalar Monit en Ubuntu 22.04
Por defecto, el paquete Monit está disponible en el repositorio por defecto de Ubuntu 22.04. Puedes instalarlo utilizando el siguiente comando:
apt-get install monit -y
después de instalarlo correctamente, inicia el servicio Monit y habilítalo para que se inicie al reiniciar el sistema:
systemctl start monit systemctl enable monit
También puedes comprobar el estado de Monit utilizando el siguiente comando:
systemctl status monit
Obtendrás la siguiente salida:
? monit.service - LSB: service and resource monitoring daemon Loaded: loaded (/etc/init.d/monit; generated) Active: active (running) since Mon 2022-08-01 04:28:17 UTC; 11s ago Docs: man:systemd-sysv-generator(8) Process: 6292 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 2242) Memory: 2.5M CPU: 25ms CGroup: /system.slice/monit.service ??6298 /usr/bin/monit -c /etc/monit/monitrc Aug 01 04:28:17 ubuntu2204 systemd[1]: Starting LSB: service and resource monitoring daemon... Aug 01 04:28:17 ubuntu2204 monit[6292]: * Starting daemon monitor monit Aug 01 04:28:17 ubuntu2204 monit[6292]: ...done. Aug 01 04:28:17 ubuntu2204 systemd[1]: Started LSB: service and resource monitoring daemon.
También puedes comprobar la versión de Monit utilizando el siguiente comando:
monit --version
Deberías ver la siguiente salida:
This is Monit version 5.31.0 Built with ssl, with ipv6, with compression, with pam and with large files Copyright (C) 2001-2022 Tildeslash Ltd. All Rights Reserved.
Configurar la monitorización de Monit
A continuación, editarás el archivo de configuración por defecto de Monit y establecerás la contraseña de administrador y el puerto. Puedes hacerlo con el siguiente comando:
nano /etc/monit/monitrc
Cambia las siguientes líneas:
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Guarda y cierra el archivo y reinicia el servicio Monit para aplicar los cambios:
systemctl restart monit
Por defecto, Monit escucha en el puerto 2812. Puedes comprobarlo con el siguiente comando:
ss -antpl | grep monit
Deberías ver la siguiente salida:
LISTEN 0 1024 0.0.0.0:2812 0.0.0.0:* users:(("monit",pid=6427,fd=6)) LISTEN 0 1024 [::]:2812 [::]:* users:(("monit",pid=6427,fd=7))
También puedes comprobar el estado del sistema utilizando el siguiente comando:
monit status
Obtendrás la siguiente salida:
Monit 5.31.0 uptime: 0m System 'ubuntu2204' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.08] [0.13] [0.13] cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice memory usage 1.0 GB [54.0%] swap usage 0 B [0.0%] uptime 28m boot time Mon, 01 Aug 2022 04:02:09 filedescriptors 1728 [0.0% of 9223372036854775807 limit] data collected Mon, 01 Aug 2022 04:29:55
Añadir servicios de monitorización
A continuación, tendrás que añadir los servicios que quieras monitorizar mediante Monit. En esta sección, añadiremos los servicios Nginx y ProFTP a Monit.
Añadir el servicio de monitorización de Nginx
Por defecto, Monit proporciona una plantilla predefinida para algunos de los procesos y servicios. Todas estas plantillas se encuentran en el directorio /etc/monit/conf-available/. Por defecto, la plantilla Nginx está disponible, por lo que sólo tienes que activarla mediante el siguiente comando:
ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/
A continuación, reinicia el servicio Monit para aplicar los cambios:
systemctl restart monit
Añadir el servicio de monitorización ProFTP
Por defecto, la plantilla del servicio ProFTP no está disponible. Así que tendrás que crearla utilizando tu editor favorito.
nano /etc/monit/conf-available/proftpd
Añade las siguientes líneas:
check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart
Guarda y cierra el archivo y, a continuación, activa el servicio ProFTP con el siguiente comando:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Puedes verificar si la plantilla tiene algún error de sintaxis utilizando el siguiente comando:
monit -t
Obtendrás la siguiente salida:
Control file syntax OK
A continuación, reinicia el servicio Monit para aplicar los cambios:
systemctl restart monit
Accede a la interfaz web de Monit
Ahora, abre tu navegador web y accede a la interfaz web de Monit utilizando la URL http://your-server-ip-2812. Deberías ver todos tus servicios en la siguiente pantalla:
Proporciona tu nombre de usuario, contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Monit en la siguiente pantalla:
Haz clic en el servicio Nginx. Deberías ver la información detallada sobre Nginx en la siguiente pantalla:
Monitorización de Monit a través de la línea de comandos
Monit también te permite monitorizar todos los servicios configurados a través de la interfaz de línea de comandos.
Para ver un resumen rápido de monit, ejecuta el siguiente comando:
monit summary
Deberías ver la siguiente salida:
Monit 5.31.0 uptime: 0m ???????????????????????????????????????????????????????????????????????????????? ? Service Name ? Status ? Type ? ???????????????????????????????????????????????????????????????????????????????? ? ubuntu2204 ? OK ? System ? ???????????????????????????????????????????????????????????????????????????????? ? proftpd ? OK ? Process ? ???????????????????????????????????????????????????????????????????????????????? ? nginx ? OK ? Process ? ???????????????????????????????????????????????????????????????????????????????? ? nginx_bin ? OK ? File ? ???????????????????????????????????????????????????????????????????????????????? ? nginx_rc ? OK ? File ? ????????????????????????????????????????????????????????????????????????????????
También puedes ver el estado de todos los servicios con el siguiente comando:
monit status
Obtendrás información detallada de todos los servicios en la siguiente salida:
Monit 5.31.0 uptime: 0m Process 'proftpd' status OK monitoring status Monitored monitoring mode active on reboot start pid 6806 parent pid 1 uid 0 effective uid 115 gid 65534 uptime 2m threads 1 children 0 cpu - cpu total - memory 0.2% [3.4 MB] memory total 0.2% [3.4 MB] security attribute unconfined filedescriptors 5 [0.5% of 1024 limit] total filedescriptors 5 read bytes 0 B/s [2.3 kB total] disk read bytes 0 B/s [0 B total] disk read operations 0.0 reads/s [17 reads total] write bytes 0 B/s [2.1 kB total] disk write bytes 0 B/s [4 kB total] disk write operations 0.0 writes/s [8 writes total] port response time 3.791 ms to localhost:21 type TCP/IP protocol FTP data collected Mon, 01 Aug 2022 04:34:49 Process 'nginx' status OK monitoring status Monitored monitoring mode active on reboot start pid 6994 parent pid 1 uid 0 effective uid 0 gid 0 uptime 1m threads 1 children 1 cpu - cpu total - memory 0.1% [1.7 MB] memory total 0.4% [7.1 MB] security attribute unconfined filedescriptors 10 [1.0% of 1024 limit] total filedescriptors 21 read bytes 0 B/s [0 B total] disk read bytes 0 B/s [0 B total] disk read operations 0.0 reads/s [0 reads total] write bytes 0 B/s [0 B total] disk write bytes 0 B/s [0 B total] disk write operations 0.0 writes/s [0 writes total] data collected Mon, 01 Aug 2022 04:34:49 File 'nginx_bin' status OK monitoring status Monitored monitoring mode active on reboot start permission 755 uid 0 gid 0 size 1.2 MB access timestamp Mon, 01 Aug 2022 04:17:26 change timestamp Mon, 01 Aug 2022 04:17:24 modify timestamp Wed, 27 Apr 2022 10:56:57 checksum 8ae236b8cfaa5ba5f471ab7fba65700d (MD5) data collected Mon, 01 Aug 2022 04:34:49 File 'nginx_rc' status OK monitoring status Monitored monitoring mode active on reboot start permission 755 uid 0 gid 0 size 4.5 kB access timestamp Mon, 01 Aug 2022 04:17:24 change timestamp Mon, 01 Aug 2022 04:17:24 modify timestamp Tue, 06 Nov 2018 19:04:12 checksum 290f6f12a12bc8e882bc5af46c1bfe7c (MD5) data collected Mon, 01 Aug 2022 04:34:49 System 'ubuntu2204' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.02] [0.11] [0.12] cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice memory usage 1.0 GB [54.2%] swap usage 0 B [0.0%] uptime 33m boot time Mon, 01 Aug 2022 04:02:09 filedescriptors 1760 [0.0% of 9223372036854775807 limit] data collected Mon, 01 Aug 2022 04:34:49
Conclusión
¡Enhorabuena! Has instalado y configurado correctamente la herramienta de monitorización Monit en Ubuntu 22.04. Ahora puedes explorar las funciones de Monit, añadir más servicios y supervisarlos mediante un navegador web. No dudes en preguntarme si tienes alguna duda.