--- categories: databases title: Howto Percona ... Le guide d'installation et d'usage courant, voir [HowtoMySQL](/HowtoMySQL). La documentation sur [Percona](https://www.percona.com/software/documentation). ## Monitoring d'une réplication ### pt-heartbeat Dans le paquet `perconal-toolkit` on trouvera un outil pour mesurer la latence dans la réplication d'une meilleure façon que nativement. L'astuce consiste à insérer une valeur datée de l'heure actuelle (timestamp) sur le master et comparer le timestamp avec la date du slave. ~~~ # mysql -e "CREATE DATABASE percona;" # mysql -e "GRANT ALL PRIVILEGES ON \`percona\`.* TO 'percona'@'%' IDENTIFIED BY 'password';" # mysql -e "GRANT REPLICATION CLIENT ON *.* TO 'percona'@'%';" # adduser --disabled-password percona # vim /home/percona/.my.cnf [client] user = percona password = password # chmod 600 /home/percona/.my.cnf # chown percona: /home/percona/.my.cnf # pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update ~~~ Le lancer en démon : ~~~ # pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update --daemonize ~~~ Le mettre dans une unité systemd `/etc/systemd/system/pt-heartbeat.service` : ~~~ [Unit] Description=Check slave lag. After=network.target mysql.service [Service] User=percona ExecStart=/usr/bin/pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update Type=simple Restart=always [Install] WantedBy=default.target ~~~ Consulter la latence sur le slave : ~~~ # pt-heartbeat -defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --check ~~~ On pourra ensuite surveiller en temps réel la latence ou écrire un cron de surveillance, voir un check Nagios. ~~~ # pt-heartbeat -defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --monitor ~~~