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:
- 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 parametr*.<SessionName>.AuthSourceza ustawiony naadmin, 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śliPlugins.MongoDB.Sessions.<SessionName>.UseriPlugins.MongoDB.Sessions.<SessionName>.Passwordsą 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:
- Opis ogólnych parametrów konfiguracji Zabbix agent 2: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Instrukcje konfiguracji plugins