Monitoriza y automatiza MySQL

En cualquier servidor, da igual si es Windows o Linux siempre hay una buena practica que debería hacerla todo el mundo:

Monitorizar y minimizar las caídas de los servicios de Windows o demonios de Linux

En esta entrada indicare como hacer que el servidor avise si el demonio de MySQL sufre una caída y intente levantar el demonio automáticamente sin tu ayuda.

Creamos el siguiente script con el siguiente comando:

comandoit@comandoit:~# nano mysqlrestart.sh
#!/bin/bash

if (( $(ps -ef | grep -v grep | grep mysqld | wc -l) <= 0 ))
then
    echo "MySQL se ha hecho daño y lo voy a levantar !" | mail -s "MySQL se ha hecho pupa" -r from@ejemplo.es to@ejemplo.es
    /etc/init.d/mysql restart
else
    echo "Running"
fi

Guardamos el fichero con el atajo Ctrl + O y salimos del editor nano con Ctrl + X

Recomiendo que guardéis los scripts que vayáis generando en una carpeta que este un poco mas escondida para evitar borrados involuntarios.

Por ejemplo: yo lo guardaría en /etc/scripts

Ahora para hacer que este script funcione correctamente y como un tiro, se debe configurar en el crontab (parecido a programador de tareas para los de Windows).

Ejecutamos el siguiente comando para editar crontab con nano.

comandoit@comandoit:~# export VISUAL=nano; crontab -e

Debemos añadir la siguiente linea, para que este ejecutando el script automáticamente.

*/5    *    *    *    *    /etc/scripts/mysqlrestart.sh

Con esto ya tenemos nuestro Mysql monitorizado para que en futuras caídas, el servicio este restaurado lo mas pronto posible y tu mientras tanto puedas tomarte unas cañas.

Si esto mismo, lo quieres hacer de manera profesional te recomiendo mis entradas de Zabbix:

Monitorizar Apache con Zabbix

 

Automatizar servicios Windows en Zabbix