Hallo zusammen.
In Zabbix gibt es ein offizielles Template DB PostgreSQL. In diesem Artikel richten wir es in Zabbix 4.4 ein.

HINWEIS
Wenn Ihr Englisch gut ist, empfehle ich, das Template gemäß der offiziellen Anleitung zu installieren.
Dennoch berücksichtige ich in meinem Artikel Nuancen, die unter diesem Link nicht zu finden sind.
Vorbereitung des Templates
1. Wechseln Sie in das Home-Verzeichnis.
cd ~2. Installieren Sie das Tool git und klonen Sie das offizielle Zabbix-Repository, das sich auf GitHub befindet.
yum -y install git
git clone https://github.com/zabbix/zabbix.git3. Wechseln Sie in das Verzeichnis mit dem PostgreSQL-Template.
cd zabbix/templates/db/postgresql/Konfiguration des Templates für den Zabbix-Agenten
1. Verbinden wir uns mit PostgreSQL.
psql -U postgres2. Erstellen Sie den Benutzer zbx_monitor, der nur Lesezugriff auf den PostgreSQL-Server hat.
Für PostgreSQL Version 10 und höher:
CREATE USER zbx_monitor WITH PASSWORD '' INHERIT; GRANT pg_monitor TO zbx_monitor;Für PostgreSQL Version 9.6 und niedriger:
CREATE USER zbx_monitor WITH PASSWORD '';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
--Um Metriken von WAL zu sammeln, muss der Benutzer Superuser sein.
ALTER USER zbx_monitor WITH SUPERUSER;3. Kopieren Sie das Verzeichnis postgresql/ in das Verzeichnis /var/lib/zabbix/. Wenn das Verzeichnis zabbix/ in /var/lib/ fehlt, erstellen Sie es. Das Verzeichnis postgresql/ enthält die Dateien, die benötigt werden, um Metriken aus PostgreSQL zu erhalten.
cp -r postgresql/ /var/lib/zabbix/4. Dann kopieren wir die Datei template_db_postgresql.conf in das Konfigurationsverzeichnis des Zabbix-Agenten /etc/zabbix/zabbix_agentd.d/ und starten den Zabbix-Agenten neu.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/5. Jetzt bearbeiten wir die Datei pg_hba.conf, um die Verbindung zu Zabbix zuzulassen. Weitere Informationen zur Datei pg_hba.conf: .
Öffnen Sie die Datei:
vi /var/lib/pgsql/12/data/pg_hba.confFügen Sie eine der Zeilen hinzu (wenn Sie nicht verstehen, wozu das nötig ist, fügen Sie nur die erste Zeile hinzu):
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5HINWEIS
Wenn PostgreSQL aus dem PGDG-Repository installiert wurde, fügen Sie den Pfad zu pg_isready zur Umgebungsvariable PATH für den Benutzer zabbix hinzu.
Alternativ:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready* — da ich pgsql Version 12 habe, wird der Pfad bei Ihnen stattdessen anders sein.
Wenn dies nicht gemacht wird, wird der Status: Ping immer im Zustand 'Down' sein.
Hinzufügen des Templates im Zabbix-Frontend
Ich gehe davon aus, dass diejenigen, die Metriken von PostgreSQL abrufen müssen, bereits wissen, wie man Templates hinzufügt. Daher beschreibe ich den Prozess kurz.
- Gehen Sie zur Zabbix-Seite;
- Navigieren Sie zur Seite „Konfiguration“ => „Host«;
- Klicken Sie auf die Schaltfläche „Create host“ oder wählen Sie einen vorhandenen Host aus;
- Auf der Seite zum Erstellen/Bearbeiten eines Hosts wählen Sie den Tab „Templates» und klicken Sie auf den Link «Add«;
- Im «Group»-Menü wählen wir «Templates/Databases» und wählen die Vorlage «Template DB PostgreSQL«, klicken Sie auf die Schaltfläche «Auswählen» und drücken Sie die Schaltfläche «Update«;
Warten Sie eine Weile und gehen Sie schließlich zu «Überwachung“ => „Aktuelle Daten“ => „Hosts» und wählen den Server mit PostgreSQL => drücken Sie «Anwenden«.

Viel Spaß!
Quelle: habr.com
