6 Wtyczka MongoDB

Przegląd

Plik konfiguracyjny agent 2 Zabbix służy do konfigurowania wtyczek. Następujące parametry konfiguracyjne agent 2 Zabbix są obsługiwane podczas pracy wtyczki MongoDB.

Zaleca się określenie ich we własnym pliku konfiguracyjnym (np. mongo.conf) i następnie użycie dyrektywy Include do dodania tego pliku do konfiguracji agent 2 Zabbix.

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

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 rozpoczynające się od "#" są obsługiwane tylko na początku wiersza.

Opcje

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

Parametry

Podczas łączenia z MongoDB wtyczka sprawdza swoją konfigurację w określonej kolejności, co 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.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Ścieżka do pliku wykonywalnego wtyczki MongoDB.
Przykład użycia: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Limit czasu wykonania żądania (czas w sekundach, przez jaki należy czekać na zakończenie żądania przed jego przerwaniem).
Plugins.MongoDB.KeepAlive no 60-900 300 Maksymalny czas oczekiwania (w sekundach) przed zamknięciem nieużywanych połączeń wtyczki.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 Ciąg połączenia dla nazwanej sesji.
<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: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User no Nazwa użytkownika nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.Password no Hasło nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Metoda połączenia używana do określenia, czy automatyczne wykrywanie węzłów zestawu replik MongoDB ma być włączone, czy wyłączone.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Obsługiwane wartości:
true - wtyczka połączy się tylko z określonym serwerem, ignorując pozostałych członków zestawu replik;
false - wtyczka automatycznie wykryje wszystkie węzły w zestawie replik.
Jeśli używany jest schemat tcp:// (przestarzały), parametr ma domyślnie wartość true.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Mechanizm uwierzytelniania do łączenia z serwerem MongoDB.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Obsługiwane wartości: SCRAM-SHA-1, SCRAM-SHA-256 i MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin Baza danych do uwierzytelniania połączenia z serwerem MongoDB.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Jeśli używany jest mechanizm uwierzytelniania MONGODB-X509, ten parametr jest automatycznie ustawiany na $external; zmiana go na dowolną inną wartość spowoduje błąd podczas uruchamiania.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no Nazwa zestawu replik, używana do automatycznego wykrywania węzłów zestawu replik MongoDB.
<SessionName> - zdefiniuj 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ępny, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct ma wartość true, agent nie uruchomi się.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no Kolejność łączenia z węzłami zestawu replik MongoDB lub tryb awaryjny.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Obsługiwane wartości: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode i NearestMode.
Niedostępny, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct ma wartość true, agent nie uruchomi się.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Typ szyfrowania komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Obsługiwane wartości:
required - wymagane połączenie TLS;
verify\_ca - weryfikacja certyfikatów;
verify\_full - weryfikacja certyfikatów i adresu IP.

Obsługiwane od wersji wtyczki 1.2.1.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Pełna ścieżka do pliku zawierającego certyfikaty głównego urzędu CA używane do weryfikacji certyfikatu peer, stosowane w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Pełna ścieżka do pliku zawierającego certyfikat agent lub łańcuch certyfikatów, używane w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Pełna ścieżka do pliku zawierającego prywatny klucz bazy danych używany w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 Domyślny URI do łączenia z MongoDB.

Musi odpowiadać formatowi URI.
Obsługiwane schematy: mongodb:// i mongodb+srv://.
Przestarzały schemat: tcp:// (używany domyślnie ze względu na zgodność wsteczną z istniejącymi konfiguracjami).
Port można pominąć (domyślnie=27017).
Przykłady: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User no Domyślna nazwa użytkownika do łączenia z MongoDB.
Plugins.MongoDB.Default.Password no Domyślne hasło do łączenia z MongoDB.
Plugins.MongoDB.Default.Direct no false Domyślna metoda połączenia używana do określenia, czy automatyczne wykrywanie węzłów zestawu replik MongoDB ma być włączone, czy wyłączone.

Obsługiwane wartości:
true - wtyczka połączy się tylko z określonym serwerem, ignorując pozostałych członków zestawu replik;
false - wtyczka automatycznie wykryje wszystkie węzły w zestawie replik.
Jeśli używany jest schemat tcp:// (przestarzały), parametr ma domyślnie wartość true.
Plugins.MongoDB.Default.AuthMechanism no Domyślny mechanizm uwierzytelniania do łączenia z serwerem MongoDB.

Obsługiwane wartości: SCRAM-SHA-1, SCRAM-SHA-256 i MONGODB-X509.
Jeśli nie zostanie określona żadna wartość tutaj, w kluczu pozycji, w nazwanej sesji ani w URI, zostanie użyty mechanizm oparty na SCRAM (jeśli podano nazwę użytkownika; w przeciwnym razie uwierzytelnianie nie będzie używane).
Plugins.MongoDB.Default.AuthSource no admin Domyślna baza danych do uwierzytelniania połączenia z serwerem MongoDB.

Jeśli używany jest mechanizm uwierzytelniania MONGODB-X509, ten parametr jest automatycznie ustawiany na $external; zmiana go na dowolną inną wartość spowoduje błąd podczas uruchamiania.
Plugins.MongoDB.Default.ReplicaSet no Domyślna nazwa zestawu replik; używana do automatycznego wykrywania węzłów zestawu replik MongoDB.

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ępny, jeśli parametr Plugins.MongoDB.Default.Direct ma wartość true, agent nie uruchomi się.
Plugins.MongoDB.Default.ReadPreference no Domyślna kolejność łączenia z węzłami zestawu replik MongoDB lub tryb awaryjny.

Obsługiwane wartości: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode i NearestMode.
Niedostępny, jeśli parametr Plugins.MongoDB.Default.Direct ma wartość true, agent nie uruchomi się.
Plugins.MongoDB.Default.TLSConnect no Domyślny typ szyfrowania komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.

Obsługiwane wartości:
required - wymaga połączenia TLS;
verify\_ca - weryfikuje certyfikaty;
verify\_full - weryfikuje certyfikaty i adres IP.
Jeśli nie zostanie określona żadna wartość tutaj, w kluczu pozycji, w nazwanej sesji ani w URI, połączenie TLS nie zostanie ustanowione.
Plugins.MongoDB.Default.TLSCAFile no Domyślna pełna ścieżka do pliku zawierającego certyfikaty głównego urzędu CA używane do weryfikacji certyfikatu peer. Używane w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.MongoDB.Default.TLSCertFile no Domyślna pełna ścieżka do pliku zawierającego certyfikat klienta MongoDB lub łańcuch certyfikatów. Używane w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.MongoDB.Default.TLSKeyFile no Domyślna pełna ścieżka do pliku zawierającego prywatny klucz klienta MongoDB używany w szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.

Zobacz także: