Wtyczka PostgreSQL

Przegląd

Parametry konfiguracyjne umożliwiają dostosowanie działania wtyczki PostgreSQL.

Zaleca się określanie ich w osobnym pliku konfiguracyjnym (np. postgresql.conf), a nie w pliku konfiguracyjnym agenta 2. Następnie należy użyć dyrektywy Include, aby dołączyć ten plik do konfiguracji Zabbix agent 2.

Wtyczka PostgreSQL jest wtyczką ładowaną i jest dostępna oraz w pełni opisana w repozytorium wtyczki PostgreSQL.

Wszystkie parametry są opcjonalne, chyba że wyraźnie zaznaczono, że dany parametr jest obowiązkowy.

Ta strona jest podzielona na:

  • Przegląd parametrów (aby zobaczyć pełne szczegóły parametru, kliknij jego nazwę)
  • Szczegóły parametrów
Parameter Description
Plugins.PostgreSQL.CallTimeout Ustaw maksymalny czas oczekiwania w sekundach na zakończenie żądania.
Plugins.PostgreSQL.CustomQueriesPath Określ pełną ścieżkę katalogu zawierającego pliki .sql z niestandardowymi zapytaniami.
Plugins.PostgreSQL.CustomQueriesEnabled Włącz wykonywanie klucza pozycji postgresql.custom.query.
Plugins.PostgreSQL.Default.CacheMode Określ domyślny tryb pamięci podręcznej dla połączenia PostgreSQL.
Plugins.PostgreSQL.Default.Database Określ domyślną nazwę bazy danych.
Plugins.PostgreSQL.Default.Password Określ domyślne hasło.
Plugins.PostgreSQL.Default.TLSCAFile Określ pełną ścieżkę do pliku zawierającego certyfikat(y) głównego urzędu CA do weryfikacji certyfikatu peer.
Plugins.PostgreSQL.Default.TLSCertFile Określ pełną ścieżkę do pliku zawierającego certyfikat PostgreSQL lub łańcuch certyfikatów.
Plugins.PostgreSQL.Default.TLSConnect Określ domyślny poziom szyfrowania komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.PostgreSQL.Default.TLSKeyFile Określ pełną ścieżkę do pliku zawierającego prywatny klucz PostgreSQL.
Plugins.PostgreSQL.Default.Uri Określ domyślny URI.
Plugins.PostgreSQL.Default.User Określ domyślną nazwę użytkownika.
Plugins.PostgreSQL.KeepAlive Ustaw maksymalny czas oczekiwania (w sekundach) przed zamknięciem nieużywanych połączeń wtyczki.
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode Określ tryb pamięci podręcznej dla połączenia PostgreSQL w nazwanej sesji.
Plugins.PostgreSQL.Sessions.<SessionName>.Database Określ nazwę bazy danych dla nazwanej sesji.
Plugins.PostgreSQL.Sessions.<SessionName>.Password Określ hasło dla nazwanej sesji.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile Określ pełną ścieżkę do pliku zawierającego certyfikat(y) głównego urzędu CA do weryfikacji certyfikatu peer.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile Określ pełną ścieżkę do pliku zawierającego certyfikat PostgreSQL lub łańcuch certyfikatów.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect Określ poziom szyfrowania dla nazwanej sesji w komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile Określ pełną ścieżkę do pliku zawierającego prywatny klucz PostgreSQL.
Plugins.PostgreSQL.Sessions.<SessionName>.Uri Określ URI dla nazwanej sesji.
Plugins.PostgreSQL.Sessions.<SessionName>.User Określ nazwę użytkownika dla nazwanej sesji.

|Plugins.PostgreSQL.System.Path|Określ ścieżkę do pliku wykonywalnego wtyczki PostgreSQL.| |Plugins.PostgreSQL.Timeout|Ustaw limit czasu wykonania żądania.|

Należy pamiętać, że:

  • Wartości domyślne odzwierciedlają domyślne ustawienia procesu, a nie wartości w dostarczonych plikach konfiguracyjnych.
  • Wartości obsługują zmienne środowiskowe;
  • Zabbix obsługuje pliki konfiguracyjne wyłącznie w kodowaniu UTF-8 bez BOM.
  • Komentarze zaczynające się od "#" są obsługiwane tylko na początku wiersza.

Szczegóły parametru

Plugins.PostgreSQL.CallTimeout

Ustaw maksymalny czas oczekiwania w sekundach na zakończenie żądania.

Domyślnie: global timeout
Zakres: 1-30

Plugins.PostgreSQL.CustomQueriesPath

Określ pełną ścieżkę do katalogu zawierającego pliki .sql z niestandardowymi zapytaniami.

Domyślnie:
/usr/local/share/zabbix/custom-queries/postgreSQL - dla systemów Unix,
*:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL - dla systemów Windows (gdzie * to nazwa dysku z zmiennej środowiskowej ProgramFiles)

Przykład:

/etc/zabbix/oracle/sql
Plugins.PostgreSQL.CustomQueriesEnabled

Włącz wykonywanie klucza pozycja postgresql.custom.query.
Jeśli opcja jest wyłączona, żadne zapytania nie będą ładowane z katalogu niestandardowych zapytań.

Domyślnie: false
Zakres: true/false

Plugins.PostgreSQL.Default.CacheMode

Określa domyślny tryb pamięci podręcznej dla połączenia PostgreSQL.

Domyślnie: prepare
Zakres:
prepare - tworzy przygotowane instrukcje na serwerze PostgreSQL;
describe - używa anonimowej przygotowanej instrukcji do opisania instrukcji bez tworzenia instrukcji na serwerze.

Należy pamiętać, że describe jest przydatne przede wszystkim wtedy, gdy środowisko nie pozwala na używanie przygotowanych instrukcji, na przykład podczas korzystania z puli połączeń, takiej jak PgBouncer.

Plugins.PostgreSQL.Default.Database

Określ domyślną bazę danych do połączenia z PostgreSQL.
Używana, jeśli nie określono wartości w kluczu pozycji lub nazwanej sesji.

Plugins.PostgreSQL.Default.Password

Określ domyślne hasło do łączenia się z PostgreSQL.
Używane, jeśli nie podano wartości w kluczu pozycji lub nazwanej sesji.

Plugins.PostgreSQL.Default.TLSCAFile

Określ pełną ścieżkę do pliku zawierającego certyfikat(y) głównego urzędu CA do weryfikacji certyfikatu peer w szyfrowanej komunikacji między agentem 2 Zabbix a monitorowanymi bazami danych.
Używane, jeśli w nazwanej sesji nie określono żadnej wartości.

Wymagane: yes, jeśli Plugins.PostgreSQL.Default.TLSConnect ma ustawioną wartość verify_ca lub verify_full

Plugins.PostgreSQL.Default.TLSCertFile

Określ pełną ścieżkę do pliku zawierającego certyfikat PostgreSQL lub łańcuch certyfikatów do szyfrowanej komunikacji między agent 2 Zabbix a monitorowanymi bazami danych.
Używane, jeśli nie określono wartości w nazwanej sesji.

Obowiązkowe: yes, jeśli określono Plugins.PostgreSQL.Default.TLSKeyFile

Plugins.PostgreSQL.Default.TLSConnect

Określ domyślny poziom szyfrowania komunikacji między agentem Zabbix agent 2 a monitorowanymi bazami danych.
Używane, jeśli w nazwanej sesji nie określono żadnej wartości.

Zakres:
required - połącz przy użyciu TLS jako trybu transportu bez sprawdzania tożsamości;
verify_ca - połącz przy użyciu TLS i zweryfikuj certyfikat;
verify_full - połącz przy użyciu TLS, zweryfikuj certyfikat i sprawdź, czy tożsamość bazy danych (CN) określona przez DBHost zgadza się z jej certyfikatem.

Nieokreślony typ szyfrowania oznacza połączenie nieszyfrowane.

Plugins.PostgreSQL.Default.TLSKeyFile

Określ pełną ścieżkę do pliku zawierającego prywatny klucz PostgreSQL do szyfrowanej komunikacji między agent 2 Zabbix a monitorowanymi bazami danych.
Używane, jeśli nie określono wartości w nazwanej sesji.

Obowiązkowe: yes, jeśli określono Plugins.PostgreSQL.Default.TLSCertFile

Plugins.PostgreSQL.Default.Uri

Określ domyślny URI do łączenia z PostgreSQL.
Używany, jeśli w kluczu pozycja lub nazwanej sesji nie określono żadnej wartości.
Osadzone poświadczenia zostaną zignorowane.
Musi odpowiadać formatowi URI.
Obsługiwane schematy: tcp, unix

Przykłady:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User

Określ domyślną nazwę użytkownika do łączenia z PostgreSQL.
Używana, jeśli nie określono wartości w kluczu pozycji lub nazwanej sesji.

Plugins.PostgreSQL.KeepAlive

Ustaw maksymalny czas oczekiwania (w sekundach) przed zamknięciem nieużywanych połączeń wtyczki.

Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode

Określa nazwany tryb pamięci podręcznej sesji dla połączenia PostgreSQL.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Domyślnie: prepare
Zakres:
prepare - tworzy przygotowane instrukcje na serwerze PostgreSQL;
describe - używa anonimowej przygotowanej instrukcji do opisania instrukcji bez tworzenia instrukcji na serwerze.

Należy pamiętać, że describe jest przydatne przede wszystkim wtedy, gdy środowisko nie zezwala na przygotowane instrukcje, na przykład podczas korzystania z poolera połączeń, takiego jak PgBouncer.

Plugins.PostgreSQL.Sessions.<SessionName>.Database

Określ nazwę bazy danych sesji dla połączenia z PostgreSQL.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Plugins.PostgreSQL.Sessions.<SessionName>.Password

Określ hasło dla nazwanej sesji używane do łączenia z PostgreSQL.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Musi odpowiadać formatowi hasła.

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile

Określ pełną ścieżkę do pliku zawierającego certyfikat(y) głównego urzędu CA do weryfikacji certyfikatu peer w szyfrowanej komunikacji między agentem Zabbix 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Wymagane: yes, jeśli Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect jest ustawione na verify_ca lub verify_full

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile

Określ pełną ścieżkę do pliku zawierającego certyfikat PostgreSQL lub łańcuch certyfikatów dla szyfrowanej komunikacji między agentem Zabbix 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Wymagane: yes, jeśli określono Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect

Określa nazwany poziom szyfrowania sesji dla komunikacji między agentem Zabbix 2 a monitorowanymi bazami danych.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Zakres:
required - łączy się przy użyciu TLS jako trybu transportu bez sprawdzania tożsamości;
verify_ca - łączy się przy użyciu TLS i weryfikuje certyfikat;
verify_full - łączy się przy użyciu TLS, weryfikuje certyfikat oraz sprawdza, czy tożsamość bazy danych (CN) określona przez DBHost jest zgodna z jej certyfikatem.

Nieokreślony typ szyfrowania oznacza połączenie nieszyfrowane.

Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

Określ pełną ścieżkę do pliku zawierającego prywatny klucz PostgreSQL do szyfrowanej komunikacji między agentem Zabbix agent 2 a monitorowanymi bazami danych.
<SessionName> - określa nazwę sesji używaną w kluczach pozycji.

Obowiązkowe: yes, jeśli określono Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile.

Plugins.PostgreSQL.Sessions.<SessionName>.Uri

Określ URI nazwanej sesji do łączenia z PostgreSQL.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Osadzone poświadczenia zostaną zignorowane.
Musi odpowiadać formatowi URI.
Obsługiwane schematy: tcp, unix

Przykłady:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User

Określ nazwę użytkownika dla wskazanej sesji, używaną do połączenia z PostgreSQL.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Plugins.PostgreSQL.System.Path

Określ ścieżkę do pliku wykonywalnego wtyczki PostgreSQL.

Obowiązkowe: yes

Przykład:

Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout

Ustawia limit czasu wykonania żądania (czas w sekundach, przez jaki należy czekać na zakończenie żądania przed jego przerwaniem).

Domyślnie: global timeout
Zakres: 1-30

Opcje

Parameter Description
-V --version Wyświetl wersję wtyczki oraz informacje o licencji.
-h --help Wyświetl informacje pomocy (skrót).
-t, --test <item key> Uruchom wtyczkę do testowania (konfiguracja wtyczki jest ignorowana).

Zobacz także