Monit es una herramienta de monitoreo de procesos gratuita y de código abierto que se puede usar para monitorear el proceso del sistema usando el navegador web y la línea de comandos. También se utiliza para monitorear archivos, directorios y dispositivos en busca de cambios de tamaño y cambios de permisos. Monit repara automáticamente un proceso en particular si se cae. Monit también puede monitorear la mayoría de los servicios como Apache, Sendmail, Nginx, FTP, SSH y MySQL en un sistema basado en Linux. Puede monitorear hosts remotos puerto TCP/IP, protocolos y ping usando Monit. Monit tiene la capacidad de detener un proceso específico que utiliza muchos recursos. Monit vigila su servidor y envía alertas sobre cualquier condición de error crítico y estado de recuperación.
Características
- Iniciar, detener y eliminar automáticamente procesos específicos.
- Interfaz web fácil de usar para monitorear el estado.
- Notificar por correo electrónico cualquier condición crítica.
- Verifique la carga del sistema, el uso de la CPU, el uso de la RAM, el disco, los cambios en el tamaño del archivo, los cambios en los permisos, etc.
- Supervise varios protocolos HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP y SMTM.
- Inicio de sesión a través de syslog o archivo de registro propio.
En este tutorial, explicaremos cómo configurar y usar Monit en Debian 9.
Requisitos
- Un servidor Debian 9 nuevo instalado en su sistema.
- la contraseña de root está configurada en su servidor.
1.Actualizar el sistema
Comencemos por actualizar su sistema a la última versión estable. Puede actualizarlo con el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que su sistema esté actualizado, reinícielo para que estos cambios surtan efecto con el siguiente comando:
reboot
Después de reiniciar, inicie sesión con el usuario raíz y continúe con el siguiente paso.
2. Instalando Monitor
De forma predeterminada, Monit está disponible en el repositorio de Ubuntu. Puede instalarlo fácilmente ejecutando el siguiente comando:
apt-get install monit -y
Una vez que Monit esté instalado, inicie el servicio de Monit y habilítelo para que se inicie en el momento del arranque ejecutando el siguiente comando:
systemctl start monit
systemctl enable monit
Puede verificar el estado del servicio Monit en cualquier momento ejecutando el siguiente comando:
systemctl status monit
3 Configuración de Monitor
El archivo de configuración predeterminado de Monit monitrc se encuentra en el directorio /etc/monit/ y otros archivos de configuración específicos del proceso y del servidor se encuentran en el directorio /etc/monit/conf-disponible/. Monit viene con una interfaz web integrada, pero está deshabilitada de forma predeterminada. Puede habilitarlo editando el archivo /etc/monit/monitrc de la siguiente manera:
nano /etc/monit/monitrc
Cambia las líneas 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'
Para
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Guarde y cierre el archivo cuando haya terminado, luego reinicie monit service para aplicar estos cambios con el siguiente comando:
systemctl restart monit
Puede verificar el estado del servicio Monit con el siguiente comando:
netstat -ant | grep :2812
Debería ver el siguiente resultado:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4 Acceso a la interfaz web de Monit
Puede acceder a la interfaz web de Monit usando la URL http://192.168.0.227:2812, luego ingrese el nombre de usuario admin y contraseña monitor . Debería ver el panel de control de Monit de la siguiente manera:
Puede ver el estado de Minit con el siguiente comando:
monit status
Debería ver el siguiente resultado:
System 'localhost' status Running monitoring status Monitored load average [0.68] [0.78] [0.45] cpu 0.0%us 0.0%sy 0.0%wa memory usage 294.1 MB [14.7%] swap usage 0 B [0.0%] data collected Mon, 07 Aug 2017 20:12:36
Una vez que haya terminado, puede continuar con el siguiente paso.
5 Agregar servicios de monitoreo
Una vez que la interfaz web de Monit esté configurada, deberá agregar los servicios que desea monitorear.
Aquí, daremos un ejemplo para monitorear algunos servicios como Apache, Proftpd y Rsyslog.
Configurar Monit para Apache Service
Por defecto, Monit viene con la plantilla predefinida para algunos procesos y servicios. Puede encontrar estas plantillas en el directorio /etc/monit/conf-disponible/. Por defecto, la plantilla para Apache está disponible en Monit. Así que solo necesitarás habilitarlo. Puede habilitarlo ejecutando el siguiente comando:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
A continuación, reinicie monit servcie para aplicar estos cambios con el siguiente comando:
systemctl restart monit
Configurar Monit para el servicio Rsyslog
Primero, habilite la plantilla Rsyslog con el siguiente comando:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
A continuación, reinicie el servicio monit para aplicar estos cambios con el siguiente comando:
systemctl restart monit
Configurar Monit para el servicio Proftpd
La plantilla para Proftpd no está disponible con Monit. Por lo tanto, deberá crear un archivo de configuración para Proftpd. Puede hacer esto creando un archivo proftpd dentro del directorio /etc/monit/conf-disponible/ de la siguiente manera:
nano /etc/monit/conf-available/proftpd
Agregue 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
Guarde y cierre el archivo cuando haya terminado, luego habilite el archivo de configuración con el siguiente comando:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
A continuación, verifique el archivo de configuración para ver si hay algún error de sintaxis con el siguiente comando
monit -t
Finalmente, reinicie el servicio monit para aplicar estos cambios con el siguiente comando:
systemctl restart monit
Una vez que haya configurado todos los servicios requeridos, acceda a la interfaz web para monitorear todos los servicios como se muestra a continuación:
A continuación, haga clic en el servicio apache para ver la información detallada sobre apache:
6 Monitoreo de monitoreo a través de la línea de comandos
También puede monitorear Monit desde la línea de comandos. Puede ver un resumen rápido de monit ejecutando el siguiente comando:
monit summary
Debería ver el siguiente resultado:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' Initializing - start pending File 'rsyslogd_bin' Accessible File 'rsyslogd_rc' Accessible File 'rsyslog_file' Does not exist Process 'proftpd' Running Process 'apache' Execution failed File 'apache_bin' Accessible File 'apache_rc' Accessible System 'localhost' Running
También puede ver el estado de todos los servicios con el siguiente comando:
monit status
Debería ver el siguiente resultado:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' status Initializing - start pending monitoring status Initializing data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 585.3 kB timestamp Tue, 25 Oct 2016 11:38:40 checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 2.7 kB timestamp Tue, 25 Oct 2016 11:48:29 checksum a1ef1bb01ba370040d705c92fc09e92e (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslog_file' status Does not exist monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:18 Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 3m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:41:18 Process 'apache' status Execution failed monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:48 File 'apache_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 647.0 kB timestamp Sat, 29 Jul 2017 22:19:09 checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'apache_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 7.9 kB timestamp Mon, 07 Aug 2017 20:40:33 checksum 744ef9ca584493299c353e2251cbf993 (MD5) data collected Mon, 07 Aug 2017 20:41:18 System 'localhost' status Running monitoring status Monitored load average [0.96] [0.60] [0.46] cpu 0.0%us 0.0%sy 0.0%wa memory usage 266.4 MB [13.3%] swap usage 2.1 MB [0.4%] data collected Mon, 07 Aug 2017 20:41:18
Para ver información detallada sobre el servicio Proftpd, ejecute el siguiente comando:
monit status proftpd
Debería ver el siguiente resultado:
The Monit daemon 5.16 uptime: 2m Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 6m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:43:49
¡Felicidades! Ha instalado y configurado correctamente Monit en su servidor Debian 9.