Shell-Skript zur Überwachung des MySQL-Master-Slave-Status

Shell-Skript zur Überwachung des MySQL-Master-Slave-Status

Geben Sie ein Shell-Skript unter Linux frei, um den Master-Slave-Status von MySQL zu überwachen, und kooperieren Sie mit dem WeChat-Roboter des Unternehmens, um Alarm zu schlagen

  • SLAVE_IP: Die IP-Adresse des überwachten Hosts
  • BENUTZER: msyql-Benutzer
  • PASSWORT: MySQL-Passwort
  • WHEREIS_MYSQL: MySQL-Befehlspfad
  • WEBHOOK: Webhook-Adresse des WeChat Enterprise-Roboters
  • wx(): WeChat für Enterprise-Roboterfunktion
  • Check_Mysql_Slave(): Hauptfunktion des Überwachungsskripts
#!/bin/bash
#
Quelle /etc/Profil
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

SLAVE_IP=`ip add | grep inet | grep brd | awk -F / '{print $1}' | awk -F " " '{print $2}' | awk 'NR==1'`
USER=Monitor
PASSWORT=xxxxxx
ZEIT=`Datum`
WHEREIS_MYSQL=/opt/mysql/bin/mysql
WEBHOOK='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=bb09197b-5ff6-4928-9872-xxxxxx'

wx() {
Katze > $0.msg << EOF
locken '$WEBHOOK' \
 -H 'Inhaltstyp: application/json' \
 -D '
 {
  "msgtype": "Text",
  "Text": {
   "Inhalt": "$1",
  }
 }'
Ende der Laufzeit
sh $0.msg und rm -rf $0.msg
}


Check_Mysql_Slave()
{
 $WHEREIS_MYSQL -u$USER -p$PASSWORD -h$SLAVE_IP -e "Version auswählen();" >/dev/null 2>&1
 wenn [ $? -ne 0 ];dann
  echo "Mysql wurde am $DATE gestoppt" >> /data/mysql/check.log
    ERROR="FEHLER:Mysql-$SLAVE_IP kann keine Verbindung herstellen\n$TIME"
  wx "$FEHLER"
 anders
  #echo "1" >> /data/mysql/check.log
    IO_SQL_STATUS=`$WHEREIS_MYSQL -u$USER -p$PASSWORD -h$SLAVE_IP -e "Slave-Status anzeigen \G" 2>/dev/null | awk '/Slave_.*_Running:/{print $1$2}'`
    für i in $IO_SQL_STATUS;mache
      THREAD_STATUS_NAME=${i%:*}
      THREAD_STATUS=${i#*:}
      wenn [ "$THREAD_STATUS" != "Ja" ]; dann
        STATUS="FEHLER:Mysql-$SLAVE_IP $THREAD_STATUS_NAME-Status ist $THREAD_STATUS!\n$TIME"
    echo "$STATUS" >> /data/mysql/check.log
        wx "$STATUS"
      fi
    Erledigt
  fi
}

Check_Mysql_Slave

Die endgültige Alarmwirkung ist wie folgt:

Oben sind die Details des Shell-Skripts zur Überwachung des Master-Slave-Status von MySQL aufgeführt. Weitere Informationen zur Überwachung des Master-Slave-Status von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So installieren Sie MySQL 5.7.29 mit einem Klick mithilfe eines Shell-Skripts
  • Gemeinsame MySQL-Sicherungsbefehle und Shell-Sicherungsskripte
  • Shell-Skript zum regelmäßigen Sichern und Aufbewahren von MySQL-Datenbankdaten für einen bestimmten Zeitraum
  • Shell-Skript automatisiert die Erstellung der Grundkonfiguration virtueller Maschinen: tomcat--mysql--jdk--maven
  • Shell-Skript zum Implementieren geplanter MySQL-Sicherungs-, Lösch- und Wiederherstellungsfunktionen
  • Ein kleines Shell-Skript zum genauen Zählen der Zeilenanzahl in jeder MySQL-Tabelle
  • Erstellen Sie MySQL-Datenbankkonten auf dem Server stapelweise über Shell-Skripte
  • So fügen Sie mithilfe eines Shell-Skripts einen Index zu MySQL hinzu
  • Beenden Sie eine Reihe von MySQL-Datenbanken mit nur einem Shell-Skript wie diesem (empfohlen)
  • So verwenden Sie Shell-Skripte, um täglich automatisch mehrere MySQL-Datenbanken zu sichern
  • Einführung und Installation von MySQL Shell

<<:  Anfänger lernen einige HTML-Tags (1)

>>:  Docker mountet lokale Verzeichnisse und Datenvolumen-Container-Operationen

Artikel empfehlen

MySQL-Variablendeklaration und Analyse gespeicherter Prozeduren

Deklarieren von Variablen Festlegen globaler Vari...

Vue realisiert kaskadierende Auswahl von Provinzen, Städten und Bezirken

Vor Kurzem musste ich einen kaskadierenden Auswah...

Einfache Kapselung von Axios und Beispielcode zur Verwendung

Vorwort Als ich kürzlich ein Projekt erstellte, d...

Tipps, wie Sie aus Pixeln umfassende Markenerlebnisse machen

Herausgeber: In diesem Artikel wird die Rolle erö...

Vue-Projekt @change mehrere Parameter, um mehrere Ereignisse zu übergeben

Erstens gibt es nur ein Änderungsereignis. change...

So stellen Sie ein SpringCloud-Projekt mit Docker bereit

Inhaltsverzeichnis Docker-Image herunterladen Sta...

So verbergen Sie Elemente im Web und ihre Vor- und Nachteile

Beispiel-Quellcode: https://codepen.io/shadeed/pe...

WeChat-Applet-Beispiel für die direkte Verwendung von Funktionen in {{ }}

Vorwort Bei der WeChat-Applet-Entwicklung (native...

Detaillierte Erklärung wichtiger Kaskadierungskonzepte in CSS

Kürzlich stieß ich im Verlauf des Projekts auf ei...

Verwenden von jQuery zum Implementieren des Karusselleffekts

In diesem Artikel finden Sie den spezifischen Cod...