Monitor es una herramienta de monitoreo proactivo 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 lo requiere, automáticamente realiza el mantenimiento o la reparación de un proceso en particular (es decir, reiniciar el servicio) de tal manera que se puede volver a poner en línea.
Monit también se puede usar para administrar y monitorear proactivamente programas, archivos, directorios y dispositivos para cambios de permisos, cambios de marcas de tiempo, cambios de tamaño y cambios de suma de verificación; no se limita a realizar varias comprobaciones de protocolo, comprobaciones de red TCP/IP y puede utilizar SSL para dichas comprobaciones.
Inicia sesión en su archivo de registro y notifica al usuario a través de mensajes personalizables. Esta guía lo ayudará a configurar Monit en Debian 9. /
Esta guía también debería funcionar en versiones anteriores de Debian y Ubuntu como Debian 8 ,
Instalar Monit:
Monit está disponible en Debian y Ubuntu repositorios, por lo que simplemente puede usar "apt-get ” para instalarlo.
$ sudo apt-get -y install monit
Salida:
Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: sysvinit-core The following NEW packages will be installed: monit 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 309 kB of archives. After this operation, 915 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian stretch/main amd64 monit amd64 1:5.20.0-6 [30 9 kB] Fetched 309 kB in 2s (150 kB/s) Selecting previously unselected package monit. (Reading database ... 124586 files and directories currently installed.) Preparing to unpack .../monit_1%3a5.20.0-6_amd64.deb ... Unpacking monit (1:5.20.0-6) ... Setting up monit (1:5.20.0-6) ... Processing triggers for systemd (232-25) ... Processing triggers for man-db (2.7.6.1-2) ...
Servicio de monitorización de control:
Para iniciar el servicio Monit, ejecute:
$ sudo systemctl start monit
Para detener Monit, ejecute:
$ sudo systemctl stop monit
Para reiniciar Monit, ejecute:
$ sudo systemctl restart monit
Para comprobar el estado de Monit, ejecute:
$ sudo systemctl status monit
Salida:
● monit.service - LSB: service and resource monitoring daemon Loaded: loaded (/etc/init.d/monit; generated; vendor preset: enabled) Active: active (running) since Tue 2017-06-27 22:36:53 EDT; 9min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/monit.service └─1094 /usr/bin/monit -c /etc/monit/monitrc Jun 27 22:36:53 server systemd[1]: Starting LSB: service and resource monitoring daemon... Jun 27 22:36:53 server monit[1087]: Starting daemon monitor: monit. Jun 27 22:36:53 server systemd[1]: Started LSB: service and resource monitoring daemon.
Para habilitar el servicio Monit en el momento del arranque, ejecute:
$ sudo systemctl enable monit
Configurar Monitoreo:
“/etc/monit/monitrc ” es el archivo de configuración principal de Monit y los archivos de configuración adicionales para procesos/servicios generalmente se colocan en “/etc/monit/conf-disponible ” y “/etc/monit/conf-enabled ”
Edite el archivo de configuración principal para configurar parámetros importantes de Monit para cumplir con nuestros requisitos.
$ sudo nano /etc/monit/monitrc
Si desea cambiar los intervalos de tiempo entre las revisiones de servicio, edite el valor a continuación.
set daemon 120
Configure la información del servidor de correo para transmitir las alertas generadas por Monit.
set mailserver mx.itzgeek.local port 25
Especifique una dirección de correo electrónico en la que desea recibir alertas en caso de fallas/eventos.
set alert [email protected]
Si solo desea correos electrónicos de alerta para ciertos eventos, entonces:
Ej:Alerta solo en "Tiempo de espera ” y “Falló el ping ” eventos.
set alert [email protected] only on { timeout, icmp }
Consulte Cómo filtrar un evento .
Monit por defecto envía solo una notificación si un servicio falla y otra cuando se recupera. Si desea recibir alertas sobre cada “N ” ciclo si un servicio permanece en estado fallido. Ej. Cuarto ciclo.
alert [email protected] with reminder on 4 cycles
Habilitar la interfaz web de Monit:
Monit también viene con una interfaz web integrada para ver los servicios de estado y administrarlos a través de un navegador web. De manera predeterminada, la interfaz web de Monit está deshabilitada. Para habilitar, edite el archivo de configuración de Monit “/etc/monit/monitrc “.
$ sudo nano /etc/monit/monitrc
Busque "establecer puerto httpd 2812 ” y cambie 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'
A
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Reinicie el servicio Monit.
$ sudo systemctl restart monit
Compruebe si el servicio Monit escucha correctamente en todas las interfaces o no.
$ sudo netstat -antup | grep -i monit
Salida:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
Lo anterior configurará Monit para escuchar en "puerto 2812 ” en todas las interfaces.
Acceda a la interfaz web de Monit:
Acceda a la interfaz web usando la siguiente URL y debe usar el nombre de usuario como "admin ” y contraseña como “monit ” para acceder a la interfaz web de Monit. La página de inicio de Monit se verá así.
http://tu-direccion-ip:2812Haga clic en "servidor ” para ver la información detallada de Monit.
También puede usar la línea de comando de Monit para ver el estado de Monit.
$ sudo monit status
Salida:
Monit 5.20.0 uptime: 6m System 'server' status Running monitoring status Monitored monitoring mode active on reboot start load average [0.16] [0.12] [0.17] cpu 1.4%us 0.1%sy 0.1%wa memory usage 509.4 MB [25.4%] swap usage 0 B [0.0%] uptime 15m boot time Wed, 28 Jun 2017 07:46:33 data collected Wed, 28 Jun 2017 08:00:45
Configurar servicios para monitoreo:
Ahora, está listo para ir y configurar Monit para monitorear otros servicios que desea monitorear. Puede colocar los archivos de configuración en “/etc/monit/conf-enabled/ ” directorio.
Configurar Monit para el servicio FTP:
Configure Monit para que se inicie cuando el FTP muere por cualquier motivo. Cree el archivo de configuración llamado “proftpd “.
$ sudo nano /etc/monit/conf-available/proftpd
Agregue la siguiente configuración al archivo anterior.
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
Habilite el enlace simbólico del archivo de configuración a “/etc/monit/conf-enabled/ ” directorio.
$ sudo ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled/
Verifique la sintaxis de Monit.
$ sudo monit -t
Salida:
Control file syntax OK
Vuelva a cargar el servicio Monit para que se apliquen los cambios.
$ sudo systemctl reload monit
Compruebe si puede ver el nuevo servicio en la interfaz web.
Haga clic en el nombre del servicio “proftpd ” para ver información detallada sobre el servicio.
Plantillas predefinidas:
Monit también viene con una plantilla de configuración predefinida para algunos procesos y servicios. Las plantillas se encuentran en “/etc/monit/conf-disponible/ “, y puede habilitarlos simplemente haciendo un enlace simbólico a “/etc/monit/conf-enabled/ ” directorio.
$ sudo ls -al /etc/monit/conf-available/
Resultado:(Lista de plantillas predefinidas)
drwxr-xr-x 2 root root 4096 Jun 27 22:36 . drwxr-xr-x 6 root root 4096 Jun 28 07:54 .. -rw-r--r-- 1 root root 481 Jan 11 08:48 acpid -rw-r--r-- 1 root root 640 Jan 11 08:48 apache2 -rw-r--r-- 1 root root 455 Jan 11 08:48 at -rw-r--r-- 1 root root 691 Jan 11 08:48 cron -rw-r--r-- 1 root root 602 Jan 11 08:48 mdadm -rw-r--r-- 1 root root 669 Jan 11 08:48 memcached -rw-r--r-- 1 root root 703 Jan 11 08:48 mysql -rw-r--r-- 1 root root 521 Jan 11 08:48 nginx -rw-r--r-- 1 root root 471 Jan 11 08:48 openntpd -rw-r--r-- 1 root root 950 Jan 11 08:48 openssh-server -rw-r--r-- 1 root root 683 Jan 11 08:48 pdns-recursor -rw-r--r-- 1 root root 1421 Jan 11 08:48 postfix -rw-r--r-- 1 root root 869 Jan 11 08:48 rsyslog -rw-r--r-- 1 root root 501 Jan 11 08:48 smartmontools -rw-r--r-- 1 root root 306 Jan 11 08:48 snmpd
Configurar Monit para rsyslog usando la plantilla:
Por ejemplo, monitoreemos el servicio apache2 usando la plantilla predefinida provista por Monit. Enlaza las plantillas a “/etc/monit/conf-enabled/ ” directorio.
$ sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Vuelva a cargar el servicio Monit para que se apliquen los cambios.
$ sudo systemctl reload monit
Acceda a la interfaz web; encontraría los nuevos servicios que configuramos usando la plantilla.
Prueba el Monitoreo:
Probemos la acción de Monit cuando el servicio o proceso muere sin motivo. Por ejemplo, detener el "proftpd ” demonio.
$ sudo systemctl stop proftpd
Espere 60 segundos, Monit iniciará el “proftpd ” servicio automáticamente. Puede encontrar lo mismo en el registro de Monit.
$ sudo tailf /var/log/monit.log
Salida:
[EDT Jun 29 01:35:43] error : 'proftpd' process is not running [EDT Jun 29 01:35:43] info : 'proftpd' trying to restart [EDT Jun 29 01:35:43] info : 'proftpd' start: '/etc/init.d/proftpd start'
Eso es todo. Hemos configurado correctamente Monit en Debian 9 /