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
123WORDPRESS.COM hat Ihnen den Installationsproze...
/******************** * Virtuelles Dateisystem VF...
Bei der Verwendung einer MySQL-Datenbank treten h...
Inhaltsverzeichnis In JavaScript gibt es mehrere ...
Hyperlinks ermöglichen es Benutzern, sofort von ei...
1. Prozentuale Basis für Elementbreite/-höhe/-pol...
Im vorherigen Artikel „UID und GID in Docker-Cont...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Im vorherigen Artikel habe ich Ihnen anha...
inline-flex ist dasselbe wie inline-block. Es ist...
Dieses Mal werde ich über die Fähigkeiten zur Ent...
Kürzlich habe ich festgestellt, dass die Serverze...
Vorwort Um den Unterschied zwischen dem Hinzufüge...
Methode 1: Installieren Sie das Plugin über npm 1...
1. Ziehen Sie das Mysql-Image docker pull mysql:5...