Nach dem Einrichten des MySQL-Master-Slaves wissen Sie oft nicht, ob der Slave-Status in Ordnung ist, und manchmal wissen Sie nicht rechtzeitig, wann eine Ausnahme auftritt. Hier können Sie Shell-Skripte in Kombination mit Zabbix verwenden, um Überwachung und Alarm zu erreichen Im Allgemeinen wird der Ausführungsstatus des Slaves in MySQL überprüft, indem geprüft wird, ob der Slave_IO_Running-Thread und der Slave_SQL_Running-Thread in Ordnung sind. Sie können dies mit dem Befehl „show slave status\G;“ überprüfen. Daher treffen wir hier eine Beurteilung auf der Grundlage dieser beiden Werte. Agentseitiges Schreiben und Konfigurieren von Skripten Hinweis: Ich habe alle Skripte, die mit Zabbix zu tun haben, in das Verzeichnis /etc/zabbix/script/ gestellt. Die folgenden werden alle auf dem überwachten Ende von Zabbix ausgeführt, und die obige Datenbank gehört zum Slave von MySQL Master-Slave 1) Skripting [root@srt-xt ~]# cd /etc/zabbix/script/ [root@srt-xt /etc/zabbix/script]# cat mysql_slvae_status.sh #!/bin/bash #Desc: Wird verwendet, um Master-Slave-Synchronisierungsinformationen abzurufen, festzustellen, ob der Master-Slave abnormal ist, und diese dann an Zabbix zu senden #Datum: 06.06.2019 #von:Lee-YJ USER="Wurzel" PASSWD="nae3eabo9naeli1Oov1a" NAME=$1 Funktion IO { Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "Slave-Status anzeigen\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'` wenn [ $Slave_IO_Running == "Ja" ]; dann Echo 0 anders Echo 1 fi } Funktion SQL { Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "Slave-Status anzeigen\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'` wenn [ $Slave_SQL_Running == "Ja" ]; dann Echo 0 anders Echo 1 fi } Fall $NAME in io) IO ;; (SQL) SQL ;; *) echo -e "Verwendung: $0 [io | sql]" esac 2) Ändern Sie die Konfigurationsdatei und schreiben Sie eine Selbstkonfigurationsdatei, die den Pfad des oben geschriebenen Skripts angibt [root@srt-xt ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@srt-xt /etc/zabbix/zabbix_agentd.d]# cat userparameter_mysql_slave.conf # MySQL-Slave-Status abrufen UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slvae_status.sh $1 3) Starten Sie den Zabbix-Agenten neu [root@srt-xt /etc/zabbix/zabbix_agentd.d]# /etc/init.d/zabbix-agent neu starten 4) Testen Sie auf dem Zabbix-Server, ob der Wert erfolgreich abgerufen werden kann. Gemäß dem obigen Skript bedeutet 0 hier normal und 1 abnormal. [root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[sql] 0 [root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[io] 0 Serverseitige Webkonfiguration 1) Konfigurieren Sie das Thread-Überwachungselement Slave_IO_Running 2) Konfigurieren Sie das Threadüberwachungselement Slave_SQL_Running 3) Konfigurieren Sie den Trigger des Slave_IO_Running-Threads 4) Konfigurieren Sie den Trigger des Slave_SQL_Running-Threads 5) Trigger-Aktionen konfigurieren Konfigurieren Sie die auszuführenden Aktionen (senden Sie eine Nachricht an den Administrator). Wiederherstellungsvorgang für den Konfigurationsstatus (sendet auch eine Nachricht an den Administrator) Sehen Sie sich abschließend die Überwachungselemente an An diesem Punkt ist die Statusüberwachung des MySQL-Master-Slave-Slaves abgeschlossen. Zusammenfassen Oben finden Sie eine ausführliche Erläuterung der vom Herausgeber eingeführten Methode zur Überwachung des Master-Slave-Status von MySQL durch Zabbix. Ich hoffe, dass sie für alle hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Ausführliche Erklärung zu Slots und Filtern in Vue
>>: Entdecken Sie die Wahrheit hinter dem Neuladevorgang in Nginx
Zusammenfassung: Dieser Artikel erläutert hauptsä...
Der spezifische Code der JavaScript-Datumseffekte...
Zum Sortieren ist „order by“ ein Schlüsselwort, d...
Da ich heute nichts zu tun habe, habe ich ein paa...
Inhaltsverzeichnis Fallstricke bei Zeitstempelver...
Im Allgemeinen : [1 wichtige Flagge] > [4 beson...
Hinweis: Sie müssen dem übergeordneten Container ...
So verwenden Sie die Concat-Funktion in MySQL: CO...
Wenn wir eine neue CSS-Funktion verwenden möchten...
Wenn die Seite nicht reagiert, ist die Anzeige de...
Inhaltsverzeichnis 1. Teilzeichenfolge () 2. subs...
Inhaltsverzeichnis Methoden des String-Objekts Me...
Ohne auf JavaScript angewiesen zu sein, wird rein...
Dieser Artikel stellt hauptsächlich ein Beispiel ...
Es ist sehr einfach, Daten und Tabellen in MySQL ...