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
Inhaltsverzeichnis 1. Einfach zu lesender Code 1....
Verwenden Sie ifnull statt isnull isnull wird ver...
1. Ich habe vor kurzem eine neue Version von Ubun...
Vorwort Mithilfe der Hyperthreading-Technologie v...
1. Ändern Sie die Firewall-Konfigurationsdatei # ...
In diesem Artikel wird der spezifische JavaScript...
Wenn Sie jemand fragen würde, ob die Ausführung v...
Inhaltsverzeichnis 1. Vue-Lebenszyklus 2. Hook-Fu...
Als ich heute jemandem beim Anpassen des Codes ha...
MySQL-Downloads für alle Plattformen sind unter M...
Das Hinzufügen/Entfernen von Klassen zu Elementen...
Dieser Artikel verwendet die Bereitstellung eines...
Wenn Sie ein Webprojekt entwickeln, müssen Sie II...
Inhaltsverzeichnis 1. Arrays deklarieren und init...
Auch „Tik Tok“ erfreut sich großer Beliebtheit un...