Maison > Article > Tutoriel système > Master vous apprend à découvrir et surveiller automatiquement l'état de la base de données esclave MySQL
L'état de la base de données esclave MySQL surveille principalement trois valeurs, à savoir Slave SQL Running, Slave IO Running et Seconds Behind Master. Ce n'est que lorsque Slave SQL Running, Slave IO Running est oui et Seconds Behind Master est 0 que la base de données esclave peut fonctionner dans un état normal (parfois si ces trois valeurs répondent aux exigences, il y aura des problèmes avec les données de la base de données esclave. ). Jetons d'abord un coup d'œil à l'effet de surveillance :
Puisqu'il s'agit de découvrir et de surveiller automatiquement l'état de la bibliothèque esclave mysql, collez d'abord la configuration des règles de découverte automatique, utilisez mysql.slave.discover pour obtenir le port de la bibliothèque esclave mysql, installez zabbix agentd dans la bibliothèque esclave , et ajoutez la configuration (UserParameter= mysql.slave.discover,python /usr/local/zabbix/discover_mysql_slave.py) :
Parmi eux, le script python pour découvrir automatiquement le port mysql peut être trouvé sur : https://my.oschina.net/zhuangweihong/blog/785919 Cet article a un script similaire. Après avoir découvert automatiquement le port mysql, le prototype du projet de détection utilisé est le suivant. Trois prototypes sont utilisés pour obtenir les trois valeursà surveiller depuis la bibliothèque esclave mysql :
Les valeurs clés obtenues doivent être ajoutées à la configuration depuis l'agent de bibliothèque, puis redémarrer agentd :
UserParameter=mysql.slave.status[*],sh /usr/local/zabbix/check_mysql_slave.sh -u xxx-p xxx -P $1 -k $2 2>/dev/null
Enfin, jetez un œil au script /usr/local/zabbix/check_mysql_slave.sh, comme suit :
#!/bin/sh while getopts "u:p:P:k:" opt do case $opt in u ) user=$OPTARG;; p ) password=$OPTARG;; P ) port=$OPTARG;; k ) key=$OPTARG;; ? ) echo 'parameter is wrong!' exit 1;; esac done if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ] || [ ! "${key}" ];then echo "parameter is null" exit 1 fi mysql -u ${user} -p${password} -h 127.0.0.1 -P${port} -e "show slave status\G"|grep "${key}\:"|awk '{pr
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!