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

Das WeChat-Applet realisiert eine Links-Rechts-Verknüpfung

In diesem Artikel wird der spezifische Code für d...

Prototyp und Prototypenkette Prototyp und Protodetails

Inhaltsverzeichnis 1. Prototyp 2. Prototypenkette...

Natives JS zum Erzielen von Book-Flipping-Effekten

In diesem Artikel wird ein mit nativem JS impleme...

Drei Möglichkeiten zum Aktualisieren von Iframes

Code kopieren Der Code lautet wie folgt: <ifra...

Online- und Offlineinstallation von Docker und allgemeine Befehlsvorgänge

1. Testumgebung Name Version centos 7.6 Docker 18...

Implementierung der Vorschaufunktion mehrerer Bild-Uploads auf HTML-Basis

Ich habe vor kurzem ein Skript zum Hochladen mehr...

So installieren Sie RabbitMQ schnell in Docker

1. Holen Sie sich das Bild #Geben Sie die Version...

Detaillierte Erklärung des wunderbaren CSS-Attributs MASK

Dieser Artikel stellt eine sehr interessante Attr...

Vue3.0 implementiert die Fallstudie zum Lupeneffekt

Der zu erzielende Effekt ist: Festes Vergrößern a...

Mehrere Möglichkeiten zum Generieren eindeutiger IDs in JavaScript

Mögliche Lösungen 1. Math.random generiert Zufall...

Detaillierte Erläuterung des Docker-Visualisierungsgrafiktools Portainer

Inhaltsverzeichnis 1. Einführung in Portainer 2. ...

Detaillierte Erklärung von react setState

Inhaltsverzeichnis Ist setState synchron oder asy...

Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile

Inhaltsverzeichnis 1. Ternäres Operatorurteil 2. ...

MySQL 5.7.20 Win64 Installations- und Konfigurationsmethode

mysql-5.7.20-winx64.zipInstallationspaket ohne In...