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

Ein grafisches Tutorial zur Installation von MySQL unter Windows

Zusammenfassung: Dieser Artikel erläutert hauptsä...

JavaScript implementiert einfache Datumseffekte

Der spezifische Code der JavaScript-Datumseffekte...

MySQL versteht kurz, wie "order by" funktioniert

Zum Sortieren ist „order by“ ein Schlüsselwort, d...

Fallstricke und Lösungen bei der MySQL-Zeitstempelvergleichsabfrage

Inhaltsverzeichnis Fallstricke bei Zeitstempelver...

Diskussion über CSS-Stilpriorität und kaskadierende Reihenfolge

Im Allgemeinen : [1 wichtige Flagge] > [4 beson...

Implementierung einer zirkulären Scroll-Listenfunktion basierend auf Vue

Hinweis: Sie müssen dem übergeordneten Container ...

Vue-Handschrift-Ladeanimationsprojekt

Wenn die Seite nicht reagiert, ist die Anzeige de...

Methoden für JavaScript-String-Objekte

Inhaltsverzeichnis Methoden des String-Objekts Me...

Erste Schritte mit dem Animieren von SVG-Pfadstrichen mit CSS3

Ohne auf JavaScript angewiesen zu sein, wird rein...

Beispiel für die Mosaikierung eines Bildes mit js

Dieser Artikel stellt hauptsächlich ein Beispiel ...

Beispiel für die MySQL-Methode zum Löschen von Daten und Datentabellen

Es ist sehr einfach, Daten und Tabellen in MySQL ...