•
Check de Nagios para comprobar los bloqueos en una base de datos MySQL
Anteriormente vimos que los bloqueos es un problema típico en entornos LAMP, a continuación veremos un pequeño script para alertar de la presencia de bloqueos en la base de datos.
Para que funcione necesitaremos que la contraseña se encuentre en el fichero /var/mysql/.mysql.root.pass y pasarle al script el número máximo de locks que permitimos (por defecto 2)
#!/bin/bash
MAXLOCKS=$1
PASSWORD=$(cat /var/mysql/.mysql.root.pass)
if [ -z "$MAXLOCKS" ];
then
MAXLOCKS=2
fi
LOCKS=$(echo "show processlist;" | mysql -p${PASSWORD} | grep Lock | wc -l)
if [ -z "$LOCKS" ];
then
echo "UNKNOWN - Error de contrasena o MySQL DOWN"
exit 3
fi
if [ $LOCKS -gt $MAXLOCKS ];
then
echo "CRITICAL: John Locke esta triste porque tiene mas de $MAXLOCKS locks... ya no puede andar|locks=$LOCKS;"
exit 2
fi
echo "OK - John Locke esta feliz y puede andar!!!| locks=$LOCKS;"
exit 0
Si lo ejecutamos directamente veremos el OK:
# ./check_johnlocke OK - John Locke esta feliz y puede andar!!!| locks=0;
John Locke esta feliz:
En caso de bloqueos recibiremos el siguiente CRITICAL:
# ./check_johnlocke CRITICAL: John Locke esta triste porque tiene mas de 2 locks... ya no puede andar|locks=8;
Y John Locke ya no sera feliz y dejara de andar:
Relacionados
Imprimir


Deja un comentario: