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

Beispiel einer Methode zur Fehlerbehebung beim Lösen von Nginx-Portkonflikten

Problembeschreibung Ein Spring + Angular-Projekt ...

Lassen Sie uns kurz über die Änderungen im Setup in vue3.0 sfc sprechen

Inhaltsverzeichnis Vorwort Standard-SFC-Schreibme...

Kann Asynchronität in JavaScript „Await“ speichern?

Ich wusste vorher, dass man await verwenden muss,...

WeChat-Applet zur Bestimmung, ob die Mobiltelefonnummer legal ist Beispielcode

Inhaltsverzeichnis Szenario Wirkung Code Zusammen...

Detaillierte Erläuterung des adaptiven Anpassungsproblems des Vue-Mobilterminals

1. Erstellen Sie ein Projekt mit Vue UI 2. Wählen...

Docker installiert Elasticsearch7.6-Cluster und legt Passwort fest

Ab Elasticsearch 6.8 dürfen kostenlose Benutzer d...

Beispielcode zur Implementierung des Verlaufs in Vuex

Ich habe vor Kurzem eine visuelle Operationsplatt...

js Canvas realisiert Slider-Verifizierung

In diesem Artikelbeispiel wird der spezifische Co...

Zwei Möglichkeiten, den 30-Sekunden-Werbecode aus dem Youku-Video zu entfernen

Ich glaube, jeder kennt dieses Gefühl: Ein Video m...

Einführung in Keyword-Design-Methoden im Webdesign

Häufig ignorieren wir beim Erstellen der Homepage ...

Beispielcode zum Festlegen des Beschriftungsstils mithilfe des CSS-Selektors

CSS-Selektoren Durch Festlegen des Stils für das ...