Heim  >  Artikel  >  System-Tutorial  >  Der Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen

Der Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen

WBOY
WBOYOriginal
2024-08-13 11:40:251143Durchsuche

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:

Der Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen

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):

Der Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen

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:

Der Master lehrt Sie, den Status der MySQL-Slave-Datenbank automatisch zu erkennen und zu überwachen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn