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

Detaillierte Erklärung des JQuery-Selektors

Inhaltsverzeichnis Grundlegende Selektoren: Ebene...

Erste Zusammenfassung des Website-Erstellungs-Tutorials für Anfänger

Nachdem ich diese sechs Artikel geschrieben hatte,...

Lassen Sie uns über das v-on-Parameterproblem in Vue sprechen

Verwendung von v-on:clock in Vue Ich lerne derzei...

MySQL 5.6.24 (binär) automatisches Installationsskript unter Linux

In diesem Artikel wird der Skriptcode für die aut...

So verwenden Sie html2canvas, um HTML-Code in Bilder umzuwandeln

Konvertieren Sie Code in ein Bild mit html2canvas...

So verwenden Sie „Explain“, um den SQL-Ausführungsplan in MySql abzufragen

Der Befehl „Explain“ ist die primäre Möglichkeit,...

Detaillierte Erläuterung des Nest.js-Hashing- und Verschlüsselungsbeispiels

0x0 Einführung Zunächst einmal: Was ist ein Hash-...

So überwachen Sie den Ausführungsstatus eines Docker-Container-Shell-Skripts

Szenario Das Unternehmensprojekt wird in Docker b...

Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate

Inhaltsverzeichnis 1. Baidu-Enzyklopädie 1. MySQL...

Verwenden von JS zum Implementieren eines einfachen Rechners

Verwenden Sie JS, um einen einfachen Rechner für ...

MySQL vollständig deinstallieren. Persönlicher Test!

MySQL sauber deinstallieren. Persönlich getestet,...