Voraussetzungen
Voraussetzungen
Exportieren von Metriken aus etcd
Exportieren von Metriken aus etcd
Wenn Sie die obige Antwort sehen, dann ist Ihr etcd-Cluster bereit, von Prometheus abgefragt zu werden. Lassen Sie uns also zum nächsten Schritt übergehen.
Exportieren von Metriken aus PostgreSQL
9187
ausgeben. Hier ist die systemd butane-Konfiguration für den postgres_exporter:web-config.yml
im Abschnitt storage.files
der gleichen Butane-Konfiguration sieht hingegen wie folgt aus:Die obige Konfiguration führt den Container postgres_exporter aus und stellt die Metriken auf Port 9187
bereit. Es werden auch die selbstsignierten Zertifikate verwendet, die wir mit einem Skript generiert haben, das in den vorherigen Blogbeiträgen erwähnt wurde. Daher werden die Metriken mit TLS gesichert.
Darüber hinaus geben wir die Umgebungsvariablen DATA_SOURCE_URI
, DATA_SOURCE_USER
und DATA_SOURCE_PASS
an. Dies sind die Anmeldeinformationen, die der postgres_exporter für die Verbindung mit dem PostgreSQL-Cluster verwenden wird. Die DATA_SOURCE_URI
ist die URI des PostgreSQL-Clusters. In unserem Fall verwenden wir die URI localhost:5432
, da wir den postgres_exporter-Container in der gleichen VM wie den PostgreSQL-Cluster ausführen werden. DATA_SOURCE_USER
und DATA_SOURCE_PASS
sind die Anmeldedaten des PostgreSQL-Clusters. In unserem Fall werden wir die Anmeldedaten postgres
mit zalando
verwenden.
Nun, da wir die systemd-Butane-Konfiguration für den postgres_exporter haben, können wir ihn durch Ausführen des Ansible-Playbook-Skripts bereitstellen. Sobald das Playbook-Skript ausgeführt wurde, läuft der postgres_exporter-Container in derselben VM wie der PostgreSQL-Cluster und stellt die Metriken auf Port 9187
bereit.
Überprüfen des postgres_exporter-Dienstes
Um zu überprüfen, ob die Metriken exportiert werden, können Sie sich per SSH in einen der PostgreSQL-Knoten einwählen und den folgenden Befehl ausführen:
Sie sollten eine ähnliche Antwort wie die folgende erhalten:
Wenn Sie die obige Antwort sehen, dann ist Ihr PostgreSQL-Cluster bereit, von Prometheus abgefragt zu werden. Lassen Sie uns also zum nächsten Schritt übergehen.
Exportieren von Metriken aus PgBouncer
Da PgBouncer keinen eingebauten Metrik-Exporter hat, müssen wir einen Service namens pgbouncer_exporter verwenden. Ähnlich wie der postgres_exporter wird auch er in einem Container-Image geliefert, was die Bereitstellung sehr einfach macht. Wir werden den Container in der gleichen VM wie den PgBouncer ausführen und die Metriken auf Port 9127
bereitstellen. Hier ist die systemd butane Konfiguration für den pgbouncer_exporter:
Die Datei web-config.yml
ist die gleiche wie die für den postgres_exporter verwendete. Mit der obigen Konfiguration wird der pgbouncer_exporter-Container ausgeführt und die Metriken werden auf Port 9127
bereitgestellt. Die Metriken werden ebenso wie der postgres_exporter mit TLS gesichert.
Wir geben auch die Umgebungsvariable pgBouncer.connectionString
an. Dies ist die Verbindungszeichenfolge, die der pgbouncer_exporter für die Verbindung mit dem PgBouncer-Cluster verwenden wird. In unserem Fall verwenden wir den Connection String postgresql://stats_collector:collector_stats@localhost:6432/pgbouncer
.
Nachdem wir die systemd-Unit-Datei zur Butane-Konfigurationsdatei hinzugefügt haben, die wir im vorigen Blog erstellt haben, können wir sie durch Ausführen des Ansible-Playbook-Skripts bereitstellen. Der pgbouncer_exporter-Container wird in der gleichen VM wie der PgBouncer ausgeführt und stellt die Metriken auf Port 9127
bereit.
Überprüfen des pgbouncer_exporter-Dienstes
Um zu überprüfen, ob die Metriken exportiert werden, können Sie sich per SSH in einen der PgBouncer-Nodes einwählen und den folgenden Befehl ausführen:
Sie sollten eine ähnliche Antwort wie die folgende erhalten:
Wenn Sie die obige Antwort sehen, dann ist Ihr PgBouncer-Cluster bereit, von Prometheus abgefragt zu werden. Kommen wir nun zum letzten Schritt, den Metriken aus Patroni.
Exportieren von Metriken aus Patroni
Patroni verfügt über einen eingebauten Metrik-Exporter. Daher müssen wir keine Tools von Drittanbietern verwenden, um Metriken aus Patroni zu exportieren. Die Metriken werden standardmäßig auf Port 8008
veröffentlicht. Um zu überprüfen, ob die Metriken exportiert werden, können Sie sich per SSH in einen der Patroni-Nodes einwählen und den folgenden Befehl ausführen:
Sie sollten eine ähnliche Antwort wie die folgende erhalten:
Wenn Sie die obige Antwort sehen, dann ist Ihr Patroni-Cluster bereit, von Prometheus abgefragt zu werden.
Zusammenfassung
In diesem Blogbeitrag haben wir uns angesehen, wie man Metriken von etcd, PostgreSQL, PgBouncer und Patroni exportiert. Nun, da die Endpunkte bereit sind, von Prometheus gescraped zu werden, können wir zum nächsten Blogbeitrag übergehen, in dem wir uns ansehen werden, wie wir Prometheus und Grafana einrichten, um die Metriken zu visualisieren. Also, bleiben Sie dran!
Farouq Abdurrahman ist Praktikant bei der Proventa AG und studiert Informatik. Sein Schwerpunkt liegt auf Cloud Computing. Er hat großes Interesse an der Digitalen Transformation und Cloud Computing. Aktuell beschäftigt er sich mit PostgreSQL Datenbanken in der Cloud.