La administración de cada proceso en Linux puede llegar a ser una tarea tediosa, pero con las herramientas adecuadas se convierte en algo realmente simple y hoy en día encontramos miles de aplicaciones en la red desarrolladas para una correcta y optima gestión de cada distribución de Linux.
Una de las aplicaciones mas especiales para una correcta gestión es Monit mediante la cual la supervisión de los procesos será algo mucho más simple de comprender con diversos detalles sobre los mismos y así saber en que punto podemos tener algún fallo y tomar las medidas necesarias para ello.
Monit puede ser implementado en FreeBSD, macOS, Linux y OpenBSD.
- Proactivo: Monit puede actuar si se produce alguna situación de error en el sistema y, adicional a esto, puede controlar las características de un proceso como la cantidad de memoria o ciclos de CPU que usa un proceso y más.
- Gestión de procesos: Monit es ideal para monitorear procesos de daemon o programas similares que se ejecutan en el localhost.
- Manejo de archivos, directorios y sistemas de archivos: Con la implementación de Monit será posible supervisar archivos, directorios y sistemas de archivos en el equipo, Monit puede controlar estos objetos para determinar si existe algún cambio, ya sea en la fecha y hora, cambios en la suma de verificación o cambios en el tamaño del mismo.
- Nube y host: Monit nos da la capacidad de supervisar las conexiones de red a varios servidores, ya sea en localhost o en hosts remotos. Los sockets de dominio TCP, UDP y Unix son compatibles con la utilidad.
- Programas y scripts: Monit puede ser usado como una plataforma de pruebas de scripts antes de que estos sean lanzados al ámbito productivo.
1. Cómo instalar Monit en Ubuntu o servidor Linux
Para instalar Monit en Ubuntu vamos a ejecutar el siguiente comando:
sudo apt install monit
Podemos ejecutar la siguiente línea para habilitar Monit con el arranque del sistema operativo:
sudo systemctl enable monit
Algunas otras opciones para controlar Monit son:
sudo systemctl status monit
sudo systemctl stop monit
sudo systemctl restart monit
sudo systemctl start monit
2. Cómo configurar Monit en Ubuntu o servidor Linux
Monit puede ser administrado desde dos directorios principales que son:
- Archivo de configuración principal: /etc/monit/monitrc
- Directorios para archivos específicos de proceso o servidor: /etc/monit/conf-available/ y /etc/monit/conf-enabled/
sudo nano /etc/monit/monitrc
Allí veremos lo siguiente:
En este archivo será posible añadir más opciones de procesos a gestionar, crear alertas de correo o habilitar HTTPD. Para habilitar la interfaz HTTP integrada mediante la cual se puede ver el estado de los servicios monitoreados y administrar servicios desde una interfaz web, debemos ubicar la siguiente línea:
set httpd port 2812 and
Allí descomentamos, quitamos el signo # a las siguientes líneas:
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'Guardamos los cambios usando las teclas Ctrl + O y salimos del mismo usando las teclas Ctrl + X. Ahora, vamos a configurar Monit para que supervise algunas aplicaciones de Linux.
Por ejemplo, para que gestione Apache, vamos a ejecutar la siguiente línea:
cat /etc/monit/conf-available/apache2
Podemos ver detalles de los parámetros que serán analizados. Si deseamos supervisar OpenVPN vamos a ejecutar la siguiente línea:
sudo nano /etc/monit/conf-available/openvpnEsto creará un nuevo archivo donde pegaremos lo siguiente:
check process openvpn with pidfile /var/run/openvpn/server.pid group nogroup start program = "/etc/init.d/openvpn start" stop program = "/etc/init.d/openvpn stop" if failed host localhost port 1194 then restart if 5 restarts with 5 cycles then timeout depend on openvpn_bin check file openvpn_bin with path /usr/sbin/openvpn group nogroup include /etc/monit/templates/rootbin
Guardamos los cambios en el archivo con las teclas Ctrl + O y salimos con Ctrl +X. Ahora, vamos a habilitarlo ejecutando:
sudo ln -s /etc/monit/conf-available/openvpn /etc/monit/conf-enabled/Siempre que realicemos alguna nueva tarea, debemos ejecutar el siguiente comando para comprobar que todo funciona correctamente:
monit -t
Procedemos a reiniciar el servicio ejecutando alguna de las siguientes líneas:
sudo /etc/init.d/monit reload sudo systemctl reload monitOtras alternativas de aplicaciones a supervisar son:
cat /etc/monit/conf-available/mysql
cat /etc/monit/conf-available/nginx
cat /etc/monit/conf-available/openssh-server
Para conocer el estado actual de un proceso, en este caso OpenVPN, ejecutaremos lo siguiente:
sudo monit status openvpn
En el momento en que deseemos acceder a los logs de Monit, basta con ejecutar la siguiente línea:
sudo tail -f /var/log/monit.log
Monit es una alternativa practica para la correcta gestión de cada aplicación que instalamos en Linux y así tener la capacidad de una administración centralizada.