1
vous pouvez utiliser l'outil de maatkit mk-heartbeat
2
vous pouvez regarder le résultat de
show slave status;
fonctionne sur sql slave mais Seconds_Behind_Master est parfois d'une imprécision troublante.
3
vous pouvez bricoler votre propre solution, similaire à la mienne - je l'utilise à la fois pour nagios la surveillance et l'alimentation munin Les graphiques montrent les "secondes derrière le maître".
Sur le serveur principal, j'ai une simple tâche cron :
* * * * * root /usr/local/bin/repltest
où repltest est :
#!/bin/bash
start=`date +%s`
d=0
while [ $d -lt 60 ] ; do
echo "update repl_test set t= NOW(); " |mysql --defaults-file=/etc/mysql/debian.cnf repl_test
sleep 3
d=$(( `date +%s` - $start ))
done
sur l'esclave i valeur du moniteur retournée par :
echo "select UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(t) from repl_test" | mysql --defaults-file=/etc/mysql/debian.cnf -N repl_test
L'heure locale de tous les serveurs est synchronisée via ntp.
repl_test db contient :
CREATE TABLE IF NOT EXISTS `repl_test` (`t` datetime NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `repl_test` (`t`) VALUES(NOW());
si vous exécutez la réplication - je suggère que vous configuriez également mk-table-checksum pour comparer le contenu de vos serveurs sql de temps en temps.