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:
Hinweis: Sie können die Maschinen von Prometheus Grafana bereits auf dem Marktplatz Ihres Cloud-Server-Anbieters nutzen. Hetzner, Digitalocean
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:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld_exporter
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;
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
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://
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
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:
Sie sollten jetzt detaillierte Metriken von Ihren MariaDB Galera Cluster-Knoten in Ihren Grafana-Dashboards sehen!
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!
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