Gestión y vigilancia de Servidores

Es importante que un sistema de vigilancia funcione, todo el tiempo, con la confianza de que así lo hace. Una herramienta de supervisión del sistema no debe ser intrusiva, es más, uno mismo debería olvidarse que se encuentra instalada. Eso ocurre hasta que, por ejemplo, el «proceso demonio» sshd se cae en un servidor co-ubicado a 200 kilómetros de distancia y no se puede acceder de manera remota ya que sshd no se encuentra «vivo». Cuando esto sucede, es bueno saber que se cuenta con esta capa extra de vigilancia automática que además de alertar que algo sucedió, también toma una acción para solucionar el error.

monit

Monit es particularmente útil para controlar «procesos demonio», como los iniciados al momento de arranque del sistema.

ls -la /etc/init.d/

Demasiado útil para vigilar y mantener de manera automática un Servidor altamente disponible. Con Monit también se pueden vigilar  servicios como: Apache, MySQL, SSH, Postfix y muchos otros más.

Alerta y acción inmediata

A diferencia de muchos otros sistemas de vigilancia, con Monit se puede actuar de inmediato si se produce una situación de error, por ejemplo, si no se está ejecutando Postfix, se puede automatizar el inicio de Postfix en caso de no estar activo. De la misma manera, por ejemplo, si Apache por alguna razón empieza a utilizar demasiados recursos (es probable, producto de un ataque DoS en curso) con Monit se puede detener o reiniciar Apache, también alertar o avisar por medio de correo electrónico. Con Monit es posible controlar características de procesos, tales como, la cantidad de memoria o la cantidad de cliclos CPU que un proceso se encuentra consumiendo.

Detectar cambios que no deberían pasar

Monit también se puede utilizar para supervisar archivos, directorios y sistemas de archivos. Permite detectar si ocurren cambios, tales como: «timestamps», «checksums» o cambios de tamaño de archivos. Lo cual es útil de supervisar por razones de seguridad. Por ejemplo, se puede controlar la suma de control MD5 o SHA1 de los archivos que no deberían cambiar. De la misma manera se puede alertar o se puede realizar una acción si algo cambia.

Instalación

apt-get install monit

dpkg-query -L monit

Archivo de configuración

vi /etc/monit/monitrc

Archivo de configuración de vigilancia a la medida

ls -la /etc/monit/conf.d/

Por ejemplo: vi /etc/monit/conf.d/custom.conf

Iniciar, parar y re-iniciar

/etc/init.d/monit start
/etc/init.d/monit stop
/etc/init.d/monit restart

Archivo log

tail -f /var/log/monit.log

du -sh /var/log/monit*

Estado de la red y conexiones

Monit puede controlar las conexiones de red a varios servidores, tanto en el servidor local como en servidores remotos. Es capaz de manejar «Sockets» del tipo TCP, UDP y Unix Domain. La prueba de red se puede realizar en un nivel de protocolo; Monit tiene funciones propias para probar los principales protocolos de Internet, como HTTP, SMTP, etc. Incluso si un protocolo no se encuentra soportado, se puede ir configurando en la marcha para enviar datos de prueba y probar la respuesta del servidor.

Monit puede ser utilizado para probar programas o «scripts» en ciertos momentos, al igual que cron, pero, además, se puede probar el valor de salida de un programa y realizar una acción o enviar una alerta si el valor de salida indica un error. Esto significa que usted puede utilizar Monit para vigilar cualquier tipo de «script» que se pueda crear.

Cabe destacar que Monit se puede utilizar para vigilar los recursos generales del sistema, como el uso de CPU, la memoria y la carga media.