Más allá de WordPress 3: Monitorización con Monit

En este artículo instalaremos una sencilla aplicación que se instala como servicio y que nos permite monitorizar los principales procesos y estadísticas del sistema que nos permitirá obtener de un vistazo una idea general del sistema. Para ello primero instalamos el paquete y después editamos su configuración.

$ sudo apt-get install monit

$ systemctl status monit

● monit.service – LSB: service and resource monitoring daemon
Loaded: loaded (/etc/init.d/monit; bad; vendor preset: enabled)
Active: active (running) since mar 2018-04-12 09:55:10 CEST; 1h 0min ago

A continuación renombramos la configuración original y creamos la configuración que se encuentra como siempre en el directorio /etc:

$ cd /etc/monit
$ sudo mv monitrc monitrc.ORIG
$ sudo nano monitrc

En este archivo nos van a interesar las siguientes opciones de monitorización:

# monit rules
set daemon 30
set logfile /var/log/monit.log

# e-mail alerts
set alert

set httpd and
port 2812
use address localhost
allow usuario:password

# monitorizacion de mysql
check host mysqldb with address 127.0.0.1
if failed ping then alert
if failed port 3306 protocol mysql then alert

# monitorización de nginx
check process nginx with pidfile /var/run/nginx.pid
start program = “/etc/init.d/nginx start”
stop program = “/etc/init.d/nginx stop”
group www-data

# monitorización de php-fpm
check process phpfpm with pidfile /var/run/php-fpm.pid
if cpu > 50% for 2 cycles then alert
# if total cpu > 60% for 5 cycles then alert
if memory > 800 MB then alert
# if total memory > 500 Mb then restart

# incluir archivos de configuración para webs individuales
include /etc/monit/conf-enabled/*

Modificamos los permisos del archivo a escritura solo para el propietario (tal como tenía el archivo original:

$ sudo chmod 600 monitrc

opcion
valor
significado
set daemon
30
tiempo en segundos en que se revisan todos los procesos
set alert
info@example.org
Se establece una acción de alerta para todas las comprobaciones en las que se especifique “then alert”. También se puede utilizar en uno de los bloques de comprobación.
set httpd
port 2812
use address localhost
allow usuario:password
Opciones del servicio web que se crea con monit. Se establece un usuario password de entrada a la web.
check host
xxxx with address xxxx
Monitorización sobre un servidor.
check process
xxxx with pidfile xxxx
Monitorización sobre un servicio.
Include

Incluye archivos de monitorización específicos

A continuación crearemos una configuración específica para monitorizar nuestro sitio web.

$ sudo conf-available/site-sitename

# monitorización específica para la web nombreweb

check host nombredominio.com with address nombredominio.com
if failed port 80 protocol http for 2 cycles then alert

check file nginx_error.log with path /var/log/nginx_error.log
if size > 15 MB then exec “/usr/local/sbin/logrotate –f /var/log/nginx_error.log”

Por último creamos un enlace simbólico para que nos reconozca nuestro site y reiniciamos el servicio.

$ sudo ln -s conf-available/site-world4 conf-enabled/
$ sudo systemctl restart monit

Para conectarnos utilizamos un tunel SSH para encriptar la conexión web desde nuestro equipo local a la web de monit como si estuvieramos en el servidor:

$ ssh -L 8585:localhost:2812 usuario-server@ip_remota

Ahora accedemos a nuestro navegador (desde nuesrto equipo local) mediante la direccion localhost:8585 y ponemos el usuario/password que hemos configurado previamente en el archivo monitrc.

Podemos encontrar mas informacion en: https://mmonit.com/monit/

Print Friendly, PDF & Email

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *