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:
- Parametry określone w URI połączenia (np. parametry zapytania zdefiniowane po
?wPlugins.MongoDB.Sessions.<session_name>.Urimają najwyższy priorytet). - Parametry w kluczu pozycji Zabbix agent 2 (np. mongodb.collection.stats).
- Parametry zdefiniowane w nazwanej sesji (np.
Plugins.MongoDB.Sessions.<SessionName>.User,Plugins.MongoDB.Sessions.<SessionName>.Password). - 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>.AuthSourcema wartośćadmin, nawet jeśli parametr*.<SessionName>.AuthSourcejest 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 skonfigurowanoPlugins.MongoDB.Sessions.<SessionName>.UseriPlugins.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:
- Opis ogólnych parametrów konfiguracji Zabbix agent 2: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Instrukcje konfiguracji wtyczek