„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So richten Sie MariaDB/MySQL Exporter auf Galera-Clusterknoten für die Prometheus-Überwachung ein

So richten Sie MariaDB/MySQL Exporter auf Galera-Clusterknoten für die Prometheus-Überwachung ein

Veröffentlicht am 08.11.2024
Durchsuche:446

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

Hallo, dev.to-Community! ?

In diesem Beitrag werde ich Sie durch die Schritte führen, die ich unternommen habe, um den MariaDB/MySQL-Exporter auf Galera-Cluster-Knoten für die Überwachung mit Prometheus einzurichten. In meinem Fall betreibe ich einen MariaDB Galera Cluster auf meinem Cloud-Server-Anbieter mit drei Knoten und verwende Prometheus Grafana, um mein Setup zu überwachen. Die Einrichtungs- und Überwachungstools des Galera-Clusters waren unglaublich nützlich, aber es war nicht einfach, die richtigen Metriken von MariaDB zu erhalten, also habe ich beschlossen, meine Lösung zu dokumentieren.

Um MariaDB- und Galera-Cluster-Metriken wie die Anzahl der Abfragen pro Sekunde, Verbindungen, Replikationsstatus usw. zu überwachen, müssen Sie einen MySQL-Exporter in Kombination mit Prometheus verwenden. Dieser Exporter stellt datenbankspezifische Metriken bereit, einschließlich Galera- und MariaDB-Statistiken.

Schritte zum Einrichten von MariaDB/MySQL Exporter auf Galera-Clusterknoten:

Voraussetzungen

  • Ein MariaDB Galera-Cluster mit mehreren Knoten.
  • Ein Prometheus-Server ist in Betrieb.
  • Grafana zur Visualisierung von Metriken (optional, aber empfohlen).
  • Zugriff auf die Knoten, um den Exporter zu installieren.

Hinweis: Sie können die Maschinen von Prometheus Grafana bereits auf dem Marktplatz Ihres Cloud-Server-Anbieters nutzen. Hetzner, Digitalocean

Schritt 1: Installieren Sie MySQL/MariaDB Exporter

Auf jedem Galera-Knoten müssen wir den MySQL Exporter installieren, der Metriken sammelt und sie für Prometheus verfügbar macht. So können Sie das tun:

Laden Sie den Exporter von der offiziellen Quelle herunter und installieren Sie ihn

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

Extrahieren Sie die Dateien

tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz

Verschieben Sie die Binärdatei in einen Systempfad

sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/

Fügen Sie einen Systembenutzer für den Exporteur hinzu

sudo useradd -rs /bin/false mysqld_exporter

Schritt 2: Exporter mit MySQL/MariaDB-Anmeldeinformationen konfigurieren

Der Exporteur benötigt Zugriff auf die MariaDB-Metriken. Erstellen Sie eine .my.cnf-Datei im Home-Verzeichnis des Exporters, um die Anmeldeinformationen für die Verbindung zu speichern:

sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf

Fügen Sie Folgendes zur Datei hinzu:


[client]
user=exporter
password=yourpassword


Stellen Sie sicher, dass der Benutzer über die entsprechenden Berechtigungen für den Zugriff auf die erforderlichen Metriken verfügt:

Um darauf zuzugreifen, verwenden Sie mysql -u root oder mariadb -u root

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
FLUSH-PRIVILEGIEN;

Schritt 3: Richten Sie den Exporter als Dienst ein

Um sicherzustellen, dass der MySQL-Exporter beim Booten startet, konfigurieren wir ihn als systemd-Dienst:

sudo nano /etc/systemd/system/mysqld_exporter.service

Fügen Sie der Datei den folgenden Inhalt hinzu:


[Unit]
Description=Prometheus MySQL Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=mysqld_exporter
Group=mysqld_exporter
ExecStart=/usr/local/bin/mysqld_exporter \
  --config.my-cnf=/etc/.mysqld_exporter/.my.cnf

[Install]
WantedBy=multi-user.target


Speichern Sie die Datei und laden Sie systemd neu:

sudo systemctl daemon-reload
sudo systemctl start mysqld_exporter
sudo systemctl enable mysqld_exporter

Schritt 4: Exporter-Ziele zu Prometheus hinzufügen

Aktualisieren Sie als Nächstes Ihre Prometheus-Konfiguration, um die Metriken von den Knoten zu entfernen. Fügen Sie Ihrer prometheus.yml-Datei Folgendes hinzu:

Zuvor können Sie überprüfen, ob MySQL Exporter ausgeführt wird, indem Sie Folgendes besuchen:

curl http://:9104/metrics

Um auf diese Datei zuzugreifen, zum Beispiel prometheus.yml, verwenden Sie:
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml

In scrape_configs::

hinzufügen

- job_name: 'mariadb-galera'
  static_configs:
    - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']


Bitte geben Sie die IP Ihrer Datenbankknoten an

Dann laden Sie Prometheus neu:

sudo systemctl prometheus neu laden

Schritt 5: Visualisieren Sie in Grafana

Wenn Sie Grafana verwenden, können Sie vorgefertigte Dashboards für die MySQL/MariaDB-Überwachung importieren. Eine beliebte Dashboard-ID für MySQL/MariaDB-Metriken ist 7362.

Zum Importieren:

  1. Grafana öffnen.
  2. Navigieren Sie zu Dashboards > Importieren.
  3. Geben Sie 7362 in das Feld „Grafana.com Dashboard“ ein und klicken Sie dann auf Laden.

Sie sollten jetzt detaillierte Metriken von Ihren MariaDB Galera Cluster-Knoten in Ihren Grafana-Dashboards sehen!

Abschluss

Da der MariaDB Exporter auf jedem Galera-Cluster-Knoten eingerichtet ist, kann Prometheus jetzt wichtige Datenbankmetriken durchsuchen und überwachen. Dieses Setup bietet einen besseren Einblick in den Zustand und die Leistung Ihres Clusters und erleichtert so die Fehlerbehebung und Optimierung bei Bedarf.

Sie können unten gerne Fragen oder Kommentare hinterlassen, wenn Sie etwas Ähnliches einrichten oder Vorschläge haben. Danke fürs Lesen!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/alighemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 Falls ein Verstoß vorliegt Bitte kontaktieren Sie Study_golang @163.comdelete
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3