Wtyczka MongoDB

Omówienie

Parametry konfiguracyjne umożliwiają dostosowanie zachowania wtyczki MongoDB.

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

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

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

Podczas łączenia z MongoDB wtyczka sprawdza swoją konfigurację w określonej kolejności, która decyduje o tym, której wartości użyć. Kolejność, od najwyższego do najniższego priorytetu, jest następująca:

  1. Parametry określone w URI połączenia (np. parametry zapytania zdefiniowane po ? w Plugins.MongoDB.Sessions.<session_name>.Uri mają najwyższy priorytet).
  2. Parametry w kluczu pozycji Zabbix agent 2 (np. mongodb.collection.stats).
  3. Parametry zdefiniowane w nazwanej sesji (np. Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Wartości domyślne (np. Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Na przykład:

  • Jeśli określisz bazę danych do uwierzytelniania połączenia z serwerem MongoDB w parametrze *.<SessionName>.Uri (np. Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), wtyczka uzna, że parametr *.<SessionName>.AuthSource ma wartość admin, nawet jeśli parametr *.<SessionName>.AuthSource jest ustawiony na inną wartość.
  • Jeśli określisz URI w parametrze *.<SessionName>.Uri (np. Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), ale podasz nazwę użytkownika i hasło w kluczu pozycji Zabbix agent 2, wtyczka użyje nazwy użytkownika i hasła z klucza pozycji, nawet jeśli skonfigurowano Plugins.MongoDB.Sessions.<SessionName>.User i Plugins.MongoDB.Sessions.<SessionName>.Password.

Jeśli używany jest schemat mongodb+srv://, URI może pobierać parametry z rekordu DNS TXT. Parametry uzyskane z tego rekordu TXT zastępują wszystkie inne konfiguracje, w tym parametry URI, parametry klucza pozycji Zabbix Agent 2 oraz parametry sesji.
Dla nazwy hosta używanej w ciągu połączenia może istnieć tylko jeden rekord TXT.

Ta strona jest podzielona na:

  • Omówienie parametrów (aby zobaczyć pełne szczegóły parametru, kliknij jego nazwę)
  • Szczegóły parametrów
Parameter Description
Plugins.MongoDB.Default.AuthMechanism Określa domyślny mechanizm uwierzytelniania dla połączenia z serwerem MongoDB.
Plugins.MongoDB.Default.AuthSource Określa domyślną bazę danych do uwierzytelniania połączenia z serwerem MongoDB.
Plugins.MongoDB.Default.Direct Wyłącza automatyczne wykrywanie węzłów repliki MongoDB.
Plugins.MongoDB.Default.Password Określa domyślne hasło.
Plugins.MongoDB.Default.ReplicaSet Określa domyślną nazwę zestawu replik, używaną do automatycznego wykrywania węzłów repliki MongoDB.
Plugins.MongoDB.Default.ReadPreference Określa domyślną kolejność łączenia z węzłami repliki MongoDB lub tryb awaryjny.
Plugins.MongoDB.Default.TLSConnect Określa poziom szyfrowania wymagany dla komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.MongoDB.Default.TLSCAFile Określa pełną ścieżkę do pliku zawierającego certyfikaty głównych urzędów CA do weryfikacji certyfikatu peer.
Plugins.MongoDB.Default.TLSCertFile Określa pełną ścieżkę do pliku zawierającego certyfikat agent lub łańcuch certyfikatów.
Plugins.MongoDB.Default.TLSKeyFile Określa pełną ścieżkę do pliku zawierającego prywatny klucz bazy danych.
Plugins.MongoDB.Default.Uri Określa domyślne URI.
Plugins.MongoDB.Default.User Określa domyślną nazwę użytkownika.
Plugins.MongoDB.KeepAlive Ustawia maksymalny czas oczekiwania przed zamknięciem nieużywanych połączeń wtyczki.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism Określa mechanizm uwierzytelniania nazwanej sesji dla połączenia z serwerem MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource Określa bazę danych nazwanej sesji do uwierzytelniania połączenia z serwerem MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.Direct Wyłącza automatyczne wykrywanie węzłów repliki MongoDB dla nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.Password Określa hasło nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet Określa nazwę zestawu replik nazwanej sesji, używaną do automatycznego wykrywania węzłów repliki MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference Określa kolejność nazwanej sesji dla łączenia z węzłami repliki MongoDB lub tryb awaryjny.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect Określa poziom szyfrowania wymagany dla komunikacji między Zabbix agent 2 a monitorowanymi bazami danych dla nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile Określa pełną ścieżkę do pliku zawierającego certyfikaty głównych urzędów CA do weryfikacji certyfikatu peer dla nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile Określa pełną ścieżkę do pliku zawierającego certyfikat agent lub łańcuch certyfikatów dla nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile Określa pełną ścieżkę do pliku zawierającego prywatny klucz bazy danych dla nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.Uri Określa URI nazwanej sesji.
Plugins.MongoDB.Sessions.<SessionName>.User Określa nazwę użytkownika nazwanej sesji.
Plugins.MongoDB.System.Path Określa ścieżkę do pliku wykonywalnego wtyczki.
Plugins.MongoDB.Timeout Ustawia 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.MongoDB.Default.AuthMechanism

Określ domyślny mechanizm uwierzytelniania do łączenia się z serwerem MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Zakres: SCRAM-SHA-1, SCRAM-SHA-256 lub MONGODB-X509

Plugins.MongoDB.Default.AuthSource

Określ domyślną bazę danych do uwierzytelniania połączenia z serwerem MongoDB.
<SessionName> - określa nazwę sesji używaną w kluczach pozycji.

Domyślnie: admin

Jeśli używany jest mechanizm uwierzytelniania MONGODB-X509, ten parametr jest automatycznie ustawiany na $external; zmiana go na jakąkolwiek inną wartość spowoduje błąd podczas uruchamiania.

Plugins.MongoDB.Default.Direct

Wyłącz automatyczne wykrywanie węzłów zestawu replik MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Domyślnie: false
Zakres: true - łączy się tylko z określonym serwerem, ignorując innych członków zestawu replik, false - automatycznie wykrywa wszystkie węzły w zestawie replik.

Jeśli używany jest schemat tcp:// (przestarzały), parametr jest domyślnie ustawiany na true.

Plugins.MongoDB.Default.Password

Określ domyślne hasło.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Plugins.MongoDB.Default.ReplicaSet

Określ domyślną nazwę zestawu replik, używaną do automatycznego wykrywania węzłów zestawu replik MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Jeśli ten parametr jest używany ze schematem mongodb+srv://, będzie działał tak, jakby podano wiele adresów URL; serwer DNS może mieć rekord TXT, który może zastąpić ten (lub dowolny inny) parametr.
Niedostępne, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct jest ustawiony na true; agent nie uruchomi się.

Plugins.MongoDB.Default.ReadPreference

Określ domyślną kolejność łączenia się z węzłami zestawu replik MongoDB lub tryb awaryjny.
<SessionName> - określa nazwę sesji używaną w kluczach pozycji.
Niedostępne, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct ma ustawioną wartość true; agent nie uruchomi się.

Zakres: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode lub NearestMode

Plugins.MongoDB.Default.TLSConnect

Określa poziom szyfrowania wymagany dla komunikacji między agent 2 Zabbix a monitorowanymi bazami danych.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Obsługiwane od wersji wtyczki 1.2.1.

Zakres: required - wymagaj połączenia TLS, verify_ca - weryfikuj certyfikaty, verify_full - weryfikuj certyfikaty i adres IP

Plugins.MongoDB.Default.TLSCAFile

Określ pełną ścieżkę do pliku zawierającego certyfikaty głównego urzędu CA używane do weryfikacji certyfikatu peer, wykorzystywane 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.MongoDB.Sessions.<SessionName>.TLSConnect jest ustawione na verify_ca lub verify_full

Plugins.MongoDB.Default.TLSCertFile

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

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

Plugins.MongoDB.Default.TLSKeyFile

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

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

Plugins.MongoDB.Default.Uri

Określ domyślny URI.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Musi odpowiadać formatowi URI.
Obsługiwane schematy: mongodb:// i mongodb+srv://; schemat tcp:// jest przestarzały i zachowany ze względu na zgodność wsteczną z istniejącymi konfiguracjami.
Port można pominąć (domyślnie=27017).
Przykłady: ``

Domyślnie: tcp://127.0.0.1:27017

Przykłady:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Default.User

Określ domyślną nazwę użytkownika.
<SessionName> - określ nazwę sesji do użycia w kluczach pozycji.

Plugins.MongoDB.KeepAlive

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

Domyślnie: 300
Zakres: 60-900

Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism

Określ nazwany mechanizm uwierzytelniania sesji do łączenia z serwerem MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Zakres: SCRAM-SHA-1, SCRAM-SHA-256 lub MONGODB-X509

Plugins.MongoDB.Sessions.<SessionName>.AuthSource

Określa nazwaną bazę danych sesji do uwierzytelniania połączenia z serwerem MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Domyślnie: admin

Jeśli używany jest mechanizm uwierzytelniania MONGODB-X509, ten parametr jest automatycznie ustawiany na $external; zmiana go na jakąkolwiek inną wartość spowoduje błąd podczas uruchamiania.

Plugins.MongoDB.Sessions.<SessionName>.Direct

Wyłącz automatyczne wykrywanie węzłów repliki MongoDB dla nazwanego sesji.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Domyślnie: false
Zakres: true - łączy się tylko z określonym serwerem, ignorując innych członków zestawu replik, false - automatycznie wykrywa wszystkie węzły w zestawie replik.

Jeśli używany jest schemat tcp:// (przestarzały), parametr jest domyślnie ustawiony na true.

Plugins.MongoDB.Sessions.<SessionName>.Password

Określa hasło dla nazwanej sesji.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet

Określa nazwę zestawu replik dla nazwanej sesji, używaną do automatycznego wykrywania węzłów zestawu replik MongoDB.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Jeśli ten parametr jest używany ze schematem mongodb+srv://, będzie działał tak, jakby podano wiele adresów URL; serwer DNS może mieć rekord TXT, który może zastąpić ten (lub dowolny inny) parametr.
Niedostępne, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct jest ustawiony na true; agent nie uruchomi się.

Plugins.MongoDB.Sessions.<SessionName>.ReadPreference

Określ kolejność nazwanej sesji do łączenia się z węzłami repliki MongoDB lub jako tryb awaryjny.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Niedostępne, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct ma ustawioną wartość true; agent nie uruchomi się.

Zakres: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode lub NearestMode

Plugins.MongoDB.Sessions.<SessionName>.TLSConnect

Określ poziom szyfrowania wymagany dla komunikacji między agentem Zabbix agent 2 a monitorowanymi bazami danych dla wskazanej sesji.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.
Obsługiwane od wersji wtyczki 1.2.1.

Zakres: required - wymagaj połączenia TLS, verify_ca - weryfikuj certyfikaty, verify_full - weryfikuj certyfikaty i adres IP

Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile

Określ pełną ścieżkę do pliku zawierającego certyfikaty głównych urzędów CA do weryfikacji certyfikatu peer, używane w szyfrowanej komunikacji między agentem Zabbix agent 2 a monitorowanymi bazami danych dla nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

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

Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

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

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

Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

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

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

Plugins.MongoDB.Sessions.<SessionName>.Uri

Określa URI nazwanej sesji.
<SessionName> - definiuje nazwę sesji do użycia w kluczach pozycji.
Musi odpowiadać formatowi URI.
Obsługiwane schematy: mongodb:// i mongodb+srv://; schemat tcp:// jest przestarzały i zachowany ze względu na zgodność wsteczną z istniejącymi konfiguracjami.
Port można pominąć (domyślnie=27017).
Przykłady: ``

Domyślnie: tcp://127.0.0.1:27017

Przykłady:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Sessions.<SessionName>.User

Określa nazwę użytkownika dla wskazanej sesji.
<SessionName> - określa nazwę sesji do użycia w kluczach pozycji.

Plugins.MongoDB.System.Path

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

Przykład użycia: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb

Plugins.MongoDB.Timeout

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

Domyślnie: global timeout
Zakres: 1-30

Opcje

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

Zobacz także