6 Wtyczka MongoDB

Przegląd

Plik konfiguracyjny Zabbix agent 2 służy do konfigurowania wtyczek. Te parametry konfiguracyjne Zabbix agent 2 są obsługiwane do działania wtyczki MongoDB.

Zaleca się określenie ich w osobnym pliku konfiguracyjnym (np. mongo.conf), a następnie użycie dyrektywy Include w celu dodania tego pliku do konfiguracji Zabbix agent 2.

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

Należy pamiętać, że:

  • Wartości domyślne odzwierciedlają wartości domyślne 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, 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 parametr *.<SessionName>.AuthSource za ustawiony na 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 Plugins.MongoDB.Sessions.<SessionName>.User i Plugins.MongoDB.Sessions.<SessionName>.Password są skonfigurowane.

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żytej w ciągu połączenia może istnieć tylko jeden rekord TXT.

Parametr Wymagany Zakres Domyślnie Opis
Plugins.MongoDB.System.Path nie Ś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 nie 1-30 global timeout Limit czasu wykonania żądania (czas w sekundach oczekiwania na zakończenie żądania przed jego przerwaniem).
Plugins.MongoDB.KeepAlive nie 60-900 300 Maksymalny czas oczekiwania (w sekundach), po którym nieużywane połączenia wtyczki są zamykane.
Plugins.MongoDB.Sessions.<SessionName>.Uri nie tcp://127.0.0.1:27017 Ciąg połączenia nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Musi być zgodny z formatem URI.
Obsługiwane schematy: mongodb:// i mongodb+srv://; schemat tcp:// jest przestarzały i zachowany dla zgodności wstecznej 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 nie Nazwa użytkownika nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.Password nie Hasło nazwanej sesji.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.
Plugins.MongoDB.Sessions.<SessionName>.Direct nie 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 innych 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 jest domyślnie ustawiony na true.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism nie 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 nie 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, parametr ten jest automatycznie ustawiany na $external; zmiana go na dowolną inną wartość spowoduje błąd podczas uruchamiania.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet nie 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 parametr ten 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 nie Kolejność łączenia z węzłami zestawu replik MongoDB lub użycia mechanizmu awaryjnego.
<SessionName> - zdefiniuj nazwę sesji do użycia w kluczach pozycji.

Obsługiwane wartości: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode i NearestMode.
Niedostępne, jeśli parametr Plugins.MongoDB.Sessions.<SessionName>.Direct jest ustawiony na true; agent nie uruchomi się.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect nie 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 tak, jeśli Plugins.MongoDB.Sessions.<SessionName>.TLSConnect jest ustawiony na jedną z wartości: verify_ca, verify_full Pełna ścieżka do pliku zawierającego certyfikaty głównych urzędów certyfikacji (CA) do weryfikacji certyfikatu partnera, używana do 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 tak, jeśli określono Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile Pełna ścieżka do pliku zawierającego certyfikat agenta lub łańcuch certyfikatów, używana do 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 tak, jeśli określono Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile Pełna ścieżka do pliku zawierającego klucz prywatny bazy danych używany do 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 nie tcp://127.0.0.1:27017 Domyślny URI do łączenia z MongoDB.

Musi być zgodny z formatem URI.
Obsługiwane schematy: mongodb:// i mongodb+srv://.
Przestarzały schemat: tcp:// (używany domyślnie dla zgodności wstecznej 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 nie Domyślna nazwa użytkownika do łączenia z MongoDB.
Plugins.MongoDB.Default.Password nie Domyślne hasło do łączenia z MongoDB.
Plugins.MongoDB.Default.Direct nie 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 innych 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 jest domyślnie ustawiony na true.
Plugins.MongoDB.Default.AuthMechanism nie Domyślny mechanizm uwierzytelniania do łączenia z serwerem MongoDB.

Obsługiwane wartości: SCRAM-SHA-1, SCRAM-SHA-256 i MONGODB-X509.
Jeśli żadna wartość nie zostanie określona ani tutaj, ani w kluczu pozycji, ani 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 nie admin Domyślna baza danych do uwierzytelniania połączenia z serwerem MongoDB.

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

Jeśli parametr ten 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.Default.Direct jest ustawiony na true; agent nie uruchomi się.
Plugins.MongoDB.Default.ReadPreference nie Domyślna kolejność łączenia z węzłami zestawu replik MongoDB lub użycia mechanizmu awaryjnego.

Obsługiwane wartości: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode i NearestMode.
Niedostępne, jeśli parametr Plugins.MongoDB.Default.Direct jest ustawiony na true; agent nie uruchomi się.
Plugins.MongoDB.Default.TLSConnect nie 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 żadna wartość nie zostanie określona ani tutaj, ani w kluczu pozycji, ani w nazwanej sesji, ani w URI, połączenie TLS nie zostanie ustanowione.
Plugins.MongoDB.Default.TLSCAFile nie Domyślna ścieżka do pliku zawierającego certyfikaty głównych urzędów certyfikacji (CA) do weryfikacji certyfikatu partnera. Używana do szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.MongoDB.Default.TLSCertFile nie Domyślna ścieżka do pliku zawierającego certyfikat klienta MongoDB lub łańcuch certyfikatów. Używana do szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.
Plugins.MongoDB.Default.TLSKeyFile nie Domyślna ścieżka do pliku zawierającego klucz prywatny klienta MongoDB używany do szyfrowanej komunikacji między Zabbix agent 2 a monitorowanymi bazami danych.

Zobacz także: