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

So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

Die MySQL Master-Slave-Replikation ermöglicht die...

SQL-Implementierung von LeetCode (182. Doppelte Postfächer)

[LeetCode] 182.Doppelte E-Mails Schreiben Sie ein...

JavaScript-Puzzlespiel

In diesem Artikelbeispiel wird der spezifische Ja...

Methoden und Techniken zum schnellen Anzeigen von Webseitenbildern

1. Verwenden Sie .gifs statt .jpgs. GIFs sind im ...

Detaillierte Erklärung zur Verwendung des Basis-Tags in HTML

In requireJS gibt es eine Eigenschaft namens base...

Detaillierte Erklärung zur Formatierung von Zahlen in MySQL

Aus beruflichen Gründen musste ich kürzlich Zahle...

CSS+HTML zur Realisierung der Funktion der oberen Navigationsleiste

Implementierungseffektdiagramm für die Navigation...

Vue implementiert die Countdown-Komponente für zweite Kills

In diesem Artikel wird der spezifische Code von V...

Eine kurze Diskussion über die Definition und Vorsichtsmaßnahmen von H-Tags

Den Ergebnissen zufolge gibt es für die Definitio...

Java-Beispielcode zum Generieren von zufälligen Zeichen

Beispielcode: importiere java.util.Random; import...