Detaillierte Erklärung, wie Zabbix den Master-Slave-Status von MySQL überwacht

Detaillierte Erklärung, wie Zabbix den Master-Slave-Status von MySQL überwacht

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!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • So überwachen Sie MySQL mit Zabbix
  • Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse
  • Detailliertes Tutorial zur Überwachung von Nginx/Tomcat/MySQL mit Zabbix
  • So überwachen Sie MySQL mit dem Percona-Plugin in Zabbix
  • Zabbix 2.4.5 enthält ein Tutorial zur MySQL-Überwachungskonfiguration
  • Grundlegendes Tutorial zur Installation und Konfiguration von Zabbix zur Überwachung von MySQL
  • Zabbix überwacht die MySQL-Instanzmethode

<<:  Ausführliche Erklärung zu Slots und Filtern in Vue

>>:  Entdecken Sie die Wahrheit hinter dem Neuladevorgang in Nginx

Artikel empfehlen

Hinweise zum virtuellen Dateisystem des Linux-Kernel-Gerätetreibers

/******************** * Virtuelles Dateisystem VF...

Problem mit Berechtigungen zum Ändern gespeicherter Prozeduren in MySQL

Bei der Verwendung einer MySQL-Datenbank treten h...

Eine detaillierte Einführung in for/of, for/in in JavaScript

Inhaltsverzeichnis In JavaScript gibt es mehrere ...

Verbesserung der Wirkung von Hyperlinks im Webdesign und in der Produktion

Hyperlinks ermöglichen es Benutzern, sofort von ei...

So isolieren Sie Benutzer in Docker-Containern

Im vorherigen Artikel „UID und GID in Docker-Cont...

Das WeChat-Applet implementiert das Scrollen von Text

In diesem Artikelbeispiel wird der spezifische Co...

MySQL kann tatsächlich verteilte Sperren implementieren

Vorwort Im vorherigen Artikel habe ich Ihnen anha...

Detaillierte Erklärung des Unterschieds zwischen Flex und Inline-Flex in CSS

inline-flex ist dasselbe wie inline-block. Es ist...

Detaillierte Erläuterung der Windows-Zeitserver-Konfigurationsmethode

Kürzlich habe ich festgestellt, dass die Serverze...

Zusammenfassung zweier Methoden zum Implementieren der Vue-Druckfunktion

Methode 1: Installieren Sie das Plugin über npm 1...

Führen Sie die Initialisierungs-SQL aus, wenn Docker MySQL startet

1. Ziehen Sie das Mysql-Image docker pull mysql:5...