Witajcie wszyscy.
W Zabbix pojawił się oficjalny Szablon DB PostgreSQL. W tym artykule skonfigurujemy go w Zabbix 4.4.

UWAGA
Jeśli masz dobre umiejętności w języku angielskim, polecam zainstalować szablon według oficjalnej dokumentacji
Niemniej jednak w moim artykule uwzględnione zostały niuanse, których nie ma w tym linku.
Przygotowanie szablonu
1. Przechodzimy do katalogu domowego.
cd ~2. Pobieramy narzędzie git i klonujemy oficjalne repozytorium Zabbix, które znajduje się na GitHub.
yum -y install git
git clone https://github.com/zabbix/zabbix.git3. Przechodzimy do katalogu z szablonem PostgreSQL.
cd zabbix/templates/db/postgresql/Konfiguracja szablonu dla agenta Zabbix
1. Połączymy się z PostgreSQL.
psql -U postgres2. Utworzymy użytkownika zbx_monitor tylko do odczytu z dostępem do serwera PostgreSQL.
Dla wersji PostgreSQL 10 i wyższej:
CREATE USER zbx_monitor WITH PASSWORD '' INHERIT; GRANT pg_monitor TO zbx_monitor;Dla wersji PostgreSQL 9.6 i niższej:
CREATE USER zbx_monitor WITH PASSWORD '';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
--Aby zbierać metryki WAL, użytkownik musi być superużytkownikiem.
ALTER USER zbx_monitor WITH SUPERUSER;3. Skopiujemy katalog postgresql/ do katalogu /var/lib/zabbix/. Jeśli w /var/lib/ nie ma katalogu zabbix/, utwórz go. Katalog postgresql/ zawiera pliki potrzebne do pozyskiwania metryk z PostgreSQL.
cp -r postgresql/ /var/lib/zabbix/4. Następnie skopiujemy plik template_db_postgresql.conf do katalogu konfiguracji agenta Zabbix /etc/zabbix/zabbix_agentd.d/ i uruchomimy ponownie agenta Zabbix.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/5. Teraz edytujemy plik pg_hba.conf, aby zezwolić na połączenie z Zabbix. Więcej o pliku pg_hba.conf: .
Otwórz plik:
vi /var/lib/pgsql/12/data/pg_hba.confDodaj jedną z linii (jeśli nie rozumiesz, czemu to potrzebne, dodaj tylko pierwszą linię):
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 md5UWAGA
Jeśli PostgreSQL został zainstalowany z repozytorium PGDG, dodaj ścieżkę do pg_isready do zmiennej środowiskowej PATH dla użytkownika zabbix.
Na przykład:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready* — ponieważ mam wersję pgsql 12, u Ciebie zamiast pgsql-12 będzie inna ścieżka.
Jeśli tego nie zrobisz, Status: Ping zawsze będzie w stanie Down.
Dodanie szablonu na frontendzie Zabbix
Uważam, że ci, którzy potrzebują zbierać metryki z PostgreSQL, wiedzą już, jak dodawać szablony. Dlatego opiszę proces krótko.
- Przechodzimy na stronę Zabbix;
- Przechodzimy na stronę „Konfiguracja” => „Host«;
- Klikamy przycisk „Utwórz host” lub wybieramy istniejący host;
- Na stronie tworzenia/edycji hosta wybieramy zakładkę „Szablony” i klikamy na link „Dodaj«;
- W sekcji „Group” z listy wybieramy „Templates/Databases”, a następnie wybieramy szablon „Szablon DB PostgreSQL„, klikamy przycisk „Select” i naciskamy przycisk „Update«;
Czekamy chwilę, a następnie przechodzimy do „Monitoring” => „Najświeższe dane” => „Hosts” wybieramy serwer z PostgreSQL => klikamy „Apply«.

Miłej lektury!
Źródło: habr.com
