Infobidouille

Petit script de surveillance MySQL

Depuis quelques temps, mon serveur MySQL tombait régulièrement, sans que je sache vraiment pourquoi (et je n’ai en ce moment pas trop le temps d’aller me plonger dans les logs pour essayer de comprendre ce qu’il se passe…). En attendant de résoudre le problème, j’ai donc écrit un petit script qui va aller vérifier à intervalles régulier si le serveur est joignable, et le relancer si ce n’est pas le cas.

Au passage, le script m’envoie également le fichier log par mail, ce qui me permettra peut-être de cerner le problème

Voici le script en question, pour ceux qui en auraient l’utilité :

Le principe est tout simple : on essaye d’exécuter une requête basique sur le serveur, si elle ne passe pas, on arrête le serveur (au cas où…), on envoie le fichier log par mail, on l’archive, puis on relance le serveur.

Le fichier /tmp/watchdog-mysql permet de vérifier que le script n’est pas déjà en train d’essayer de redémarrer MySQL.

Sur le même principe, on peut aussi monitorer Apache :

Il n’y a plus qu’à croner le tout pour ne plus avoir à relancer les services manuellement en cas de plantage et recevoir les logs par mail.