Detaillierte Erklärung zur Verwendung von pt-heartbeat zur Überwachung der MySQL-Replikationsverzögerung

Detaillierte Erklärung zur Verwendung von pt-heartbeat zur Überwachung der MySQL-Replikationsverzögerung

pt-Herzschlag

Wenn die Datenbank zwischen Master und Slave repliziert wird, sind der Replikationsstatus und die Datenverzögerung sehr wichtige Indikatoren. Wie kann man sie also überwachen?

pt-heartbeat ist ein von PERCONA entwickeltes Tool, das speziell für die Überwachung von Replikationsverzögerungen in MySQL und PostgreSQL konzipiert ist.

Es ist relativ ausgereift und wird von großen Unternehmen wie Uber verwendet.

Schauen wir uns die ausführliche Einführung unten an:

Überwachungsprinzip

Erstellen Sie im Master eine Heartbeat-Tabelle mit einem Zeitstempelfeld. pt-heartbeat ändert den Zeitstempelwert regelmäßig.

Der Slave kopiert die Heartbeat-Tabelle, die den Zeitstempel der Änderungsaktion des Masters enthält, und vergleicht sie mit der Ortszeit des Slaves, um eine Differenz zu erhalten. Dabei handelt es sich um den Wert der Replikationsverzögerung. Auf diese Weise kann ermittelt werden, ob der Replikationsstatus normal ist und ob die Verzögerungszeit den Erwartungen entspricht.

pt-heartbeat wird basierend auf den tatsächlichen Replikationsaufzeichnungen berechnet. Es spielt also keine Rolle, welche Methode Sie für die Replikation verwenden.

pt-heartbeat kann jede Tiefe der Replikationshierarchie überwachen. Da es in der Heartbeat-Tabelle ein Server-ID-Feld gibt, können Sie angeben, auf welche Server-ID bei der Überwachung der Latenz eines Slaves Bezug genommen werden soll. Wenn Sie beispielsweise die Latenz zwischen diesem Slave und dem Master seines Masters wissen möchten, geben Sie einfach die Server-ID des Zielmasters an.

Da pt-heartbeat streng zeitabhängig ist, müssen Sie sicherstellen, dass die Zeit von Master und Slave synchronisiert ist.

Anwendungsbeispiele

Erstellen Sie eine Heartbeat-Tabelle für den Master und führen Sie einen zyklischen Update-Vorgang durch. Führen Sie den Befehl aus:

Gibt die Verbindungsinformationen des Masters an. --create-table -D master1 bedeutet, dass eine Heartbeat-Tabelle in der Master1-Datenbank erstellt wird. Die folgenden Parameter geben das Zeitintervall für die Ausführung von Updates an.

Anschließend können Sie den Slave überwachen und den Befehl ausführen:

Der Parameter --monitor gibt an, dass eine Überwachung durchgeführt werden soll. Die vorherigen Parameter sind die Informationen zum Überwachungsziel, einschließlich der Slave-Verbindungsinformationen, der Datenbank und des Tabellennamens.

Beispiel für Ausgabeinformationen:


0,00 s gibt die aktuellen Verzögerungsinformationen an und [0,00 s, 0,00 s, 0,00 s] gibt den Durchschnittswert von 1 m, 5 m und 15 m an.

Installationsprozess

Nachfolgend ist der Installationsvorgang unter CentOS7 aufgeführt:


Die offizielle Dokumentationsadresse von pt-heartbeat: https://www.percona.com/doc/percona-toolkit/2.1/pt-heartbeat.html

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Der MySQL-Server läuft mit der Option --read-only und kann diese Anweisung daher nicht ausführen.
  • mysql-Datenbankmysql: [FEHLER] unbekannte Option ''--skip-grant-tables''
  • Detaillierte Erklärung zur Sicherstellung der Konsistenz von MySQL-Ansichten (mit Prüfoption)
  • Lösung für die Fehlermeldung "java.sql.SQLException: Incorrect string value:'\xF0\x9F\x92\xA9\x0D\x0A...'" beim Speichern von Emoticons in MySQL
  • NULL und leere Zeichenfolge in MySQL
  • Ein Beispiel für die Verbindung von MySQL mit PHP über ODBC zu einer beliebigen Datenbank
  • Detaillierte Erklärung zur Installation und vollständigen Deinstallation von MySQL mit apt-get unter Ubuntu
  • Beispiele für die korrekte Verwendung von AES_ENCRYPT() und AES_DECRYPT() zum Verschlüsseln und Entschlüsseln von MySQL
  • Der MySQL-Server wird mit der Option --skip-grant-tables ausgeführt.
  • Einführung in die Verwendung des MySQL pt-slave-restart-Tools

<<:  Detaillierte Erklärung der Destrukturierungszuweisungssyntax in Javascript

>>:  Verwenden Sie .Htaccess, um böswillige IP-Angriffe auf Websites zu verhindern, den Zugriff auf bestimmte Domänennamen zu untersagen, Maschinencrawler zu untersagen und Hotlinking zu untersagen

Artikel empfehlen

Häufige Fehler bei der Verwendung von React Hooks

React Hooks ist eine neue Funktion, die in React ...

So handhaben Sie den Token-Ablauf in WeChat-Miniprogrammen

Inhaltsverzeichnis Fazit zuerst Frage Lösung Verw...

ReactRouter-Implementierung

ReactRouter-Implementierung ReactRouter ist die K...

Detaillierte Schritte zur Installation von Nginx unter Linux

1. Nginx-Installationsschritte 1.1 Offizielle Web...

Tutorial zur Installation und Konfiguration von MySQL 5.7.16 ZIP-Paketen

In diesem Artikel finden Sie das Installations- u...

Eine kurze Diskussion über 3 bemerkenswerte neue Features in TypeScript 3.7

Inhaltsverzeichnis Vorwort Optionale Verkettung N...

Detaillierte Analyse des Unterschieds zwischen Ref und Reactive in Vue3.0

Inhaltsverzeichnis Ref und Reaktiv Referenz Reakt...

So zeigen Sie die Netzwerkroutingtabelle in Ubuntu an

Was sind Routing und Routing-Tabellen in Linux? U...

Ubuntu-Installations-Grafiktreiber und CUDA-Tutorial

Inhaltsverzeichnis 1. Deinstallieren Sie den Orig...