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 zur korrekten Öffnung in CSS

Warum sagen wir „normalerweise 1em=16px“? Die vom...

Detaillierte Analyse der Prinzipien und der Verwendung von MySQL-Ansichten

Vorwort: In MySQL sind Ansichten wahrscheinlich e...

Docker-Einstellung für den Windows-Speicherpfadvorgang

Wenn Sie Docker unter Windows 10 installieren und...

So verwenden Sie Docker, um Containerressourcen zu begrenzen

Problem beim Gucken Angenommen, der IIS-Dienst st...

Was sind HTML-Inline-Elemente und Block-Level-Elemente und ihre Unterschiede

Ich erinnere mich an eine Frage, die der Intervie...

Verwenden von Schleifen in awk

Lernen wir verschiedene Arten von Schleifen kenne...

Zusammenfassung der Verwendung von Datetime und Timestamp in MySQL

Inhaltsverzeichnis 1. Wie wird die aktuelle Uhrze...

Detaillierte Erläuterung des Beispiels einer MySQL-Einzeltabellenabfrage

1. Daten vorbereiten Die folgenden Operationen we...

6 Lösungen für Netzwerkfehler im Docker-Container

6 Lösungen für Netzwerkfehler im Docker-Container...

Prometheus überwacht MySQL mithilfe der Grafana-Anzeige

Inhaltsverzeichnis Prometheus überwacht MySQL übe...