7 votes

Surveiller la réplication MySQL

Quelle est la meilleure pratique pour surveiller un esclave afin de s'assurer qu'il est

a) Toujours en cours b) Pas trop loin du maître

J'aimerais être alerté par email s'il est en retard, heureux d'écrire un script ou deux à accrocher dans les applications en ligne de commande.

1voto

bazzargh Points 149

Vous devez exécuter la requête SHOW SLAVE STATUS et assurez-vous que les deux Slave_IO_Running y Slave_SQL_Running ont une valeur de Yes . Si ce n'est pas le cas, l'esclave ne pourra PAS se rétablir automatiquement. Si les deux sont Yes alors la réplication fonctionne toujours, même s'il peut y avoir un délai ( Seconds_Behind_Master ).

1voto

JamesHannah Points 1712

Un assez bon outil est rep_mon qui fait partie de la MyCat il s'agit essentiellement d'un script perl dans le style de la troisième option de pQd, mais il est facilement configurable et bien testé. Une fois configuré, vous pouvez l'exécuter vous-même comme un test rapide, ou le programmer dans cron pour envoyer des emails s'il y a un problème.

Lorsqu'il est exécuté, il affiche soit "OK", soit la nature de l'erreur. Vous pouvez également l'alerter si le nombre de secondes restantes atteint un certain seuil (défini par vous).

Cependant, si vous souhaitez uniquement un suivi des seuils, je vous suggère d'opter pour maatkit, qui fonctionne en insérant et en interrogeant ultérieurement en utilisant du vrai SQL plutôt que la sortie éventuellement inexacte de SHOW SLAVE STATUS .

0voto

Jaime Hablutzel Points 406

Vous pourriez utiliser le check_mysql du projet Nagios Plugins ( https://github.com/nagios-plugins/nagios-plugins ) comme ceci :

/usr/lib/nagios/plugins/check_mysql -H <HOST> -u <MONITORING_USER> -p <PASSWORD> -S -w 60 -c 120

Où je pense que, selon votre cas d'utilisation, vous devrez mettre à jour les valeurs de l'avertissement ( -w ) et critique ( -c ) secondes derrière les seuils maîtres.

Enfin, notez que le MONITORING_USER ne nécessite que le REPLICATION CLIENT SUBVENTION.

PS : Vous n'avez pas besoin d'un système Nagios pour utiliser l'approche précédente. Vous pouvez utiliser check_mysql seul.

0voto

Dean Points 3017

Voici comment le faire avec Zenoss : texte du lien

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X