Der Status der MySQL-Slave-Datenbank überwacht hauptsächlich drei Werte, nämlich Slave SQL Running, Slave IO Running und Seconds Behind Master. Nur wenn „Slave SQL Running“, „Slave IO Running“ „Ja“ und „Seconds Behind Master“ 0 ist, kann die Slave-Datenbank in einem normalen Zustand ausgeführt werden (manchmal treten Probleme mit den Slave-Datenbankdaten auf, wenn diese drei Werte die Anforderungen erfüllen). . ). Schauen wir uns zunächst den Überwachungseffekt an:
Da der Status der MySQL-Slave-Bibliothek automatisch erkannt und überwacht werden soll, fügen Sie zunächst die Konfiguration der automatischen Erkennungsregeln ein, verwenden Sie mysql.slave.discover, um den Port der MySQL-Slave-Bibliothek abzurufen, und installieren Sie zabbix agentd in der Slave-Bibliothek , und fügen Sie die Konfiguration hinzu (UserParameter= mysql.slave.discover,python /usr/local/zabbix/discover_mysql_slave.py):
Unter anderem finden Sie das Python-Skript zur automatischen Erkennung des MySQL-Ports unter: https://my.oschina.net/zhuangweihong/blog/785919 Dieser Artikel enthält ein ähnliches Skript. Nach der automatischen Erkennung des MySQL-Ports lautet der verwendete Erkennungsprojektprototyp wie folgt: Drei Prototypen werden verwendet, um die drei Werte zu erhalten, die von der MySQL-Slave-Bibliothek überwacht werden müssen:
Die erhaltenen Schlüsselwerte müssen vom Bibliotheksagenten zur Konfiguration hinzugefügt und dann agentd neu gestartet werden:
UserParameter=mysql.slave.status[*],sh /usr/local/zabbix/check_mysql_slave.sh -u xxx-p xxx -P $1 -k $2 2>/dev/null
Schauen Sie sich abschließend das Skript /usr/local/zabbix/check_mysql_slave.sh wie folgt an:
#!/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
Das obige ist der detaillierte Inhalt vonDer Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!