7 Parametry konfiguracyjne wtyczek
Zobacz parametry konfiguracyjne dla wtyczek Zabbix agent 2:
- Wtyczka Ceph
- Wtyczka Docker
- Wtyczka Ember+
- Wtyczka Memcached
- Wtyczka Modbus
- Wtyczka MongoDB
- Wtyczka MQTT
- Wtyczka MSSQL
- Wtyczka MySQL
- Wtyczka NVIDIA GPU
- Wtyczka Oracle
- Wtyczka PostgreSQL
- Wtyczka Redis
- Wtyczka S.M.A.R.T.
Zasady konfiguracji wtyczek
Ta strona opisuje zasady konfiguracji wtyczek oraz najlepsze praktyki.
Wszystkie wtyczki są konfigurowane przy użyciu parametru Plugins.*, który może być częścią pliku konfiguracyjnego Zabbix agent 2 lub własnego pliku konfiguracyjnego wtyczki. Jeśli wtyczka używa oddzielnego pliku konfiguracyjnego, ścieżka do tego pliku powinna zostać określona w parametrze Include pliku konfiguracyjnego Zabbix agent 2.
Typowy parametr wtyczki ma następującą strukturę:
Plugins.<PluginName>.<Parameter>=<Value>
Dodatkowo istnieją dwie specyficzne grupy parametrów:
-
Plugins.<PluginName>.Default.<Parameter>=<Value> używane do definiowania domyślnych wartości parametrów.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> używane do definiowania oddzielnych zestawów parametrów dla różnych celów monitorowania za pomocą nazwanych sesji.
Wszystkie nazwy parametrów powinny spełniać następujące wymagania:
- zaleca się zapisywanie nazw wtyczek wielką literą
- nazwa parametru powinna zaczynać się wielką literą
- znaki specjalne nie są dozwolone
- zagnieżdżenie nie jest ograniczone maksymalnym poziomem
- liczba parametrów nie jest ograniczona
Na przykład, aby wykonywać aktywne testy, które nie mają interwału aktualizacji Scheduling update interval, natychmiast po ponownym uruchomieniu agenta tylko dla wtyczki Uptime, ustaw Plugins.Uptime.System.ForceActiveChecksOnStart=1 w pliku konfiguracyjnym.
Podobnie, aby ustawić niestandardowy limit współbieżnych testów dla wtyczki CPU, ustaw Plugins.CPU.System.Capacity=N w pliku konfiguracyjnym.
Wartości domyślne
Możesz ustawić wartości domyślne dla parametrów związanych z połączeniem (URI, nazwa użytkownika, hasło itp.) w pliku konfiguracyjnym w formacie:
Plugins.<PluginName>.Default.<Parameter>=<Value>
Na przykład: Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017 itd.
Jeśli wartość takiego parametru nie zostanie podana w kluczu pozycji ani w parametrach nazwanej sesji, wtyczka użyje wartości domyślnej. Jeśli parametr domyślny również nie jest zdefiniowany, zostaną użyte domyślne wartości zapisane na stałe w kodzie.
Jeśli klucz pozycji nie ma żadnych parametrów, Zabbix agent 2 spróbuje zebrać metrykę przy użyciu wartości zdefiniowanych w sekcji parametrów domyślnych.
Nazwane sesje
Nazwane sesje stanowią dodatkowy poziom parametrów wtyczki i mogą być używane do określania oddzielnych zestawów parametrów uwierzytelniania dla każdej z monitorowanych instancji. Każdy parametr nazwanej sesji powinien mieć następującą strukturę:
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Nazwa sesji może być użyta jako parametr klucza pozycji connString zamiast osobnego określania URI, nazwy użytkownika i/lub hasła.
W kluczach pozycji pierwszy parametr może być albo connString, albo URI. Jeśli pierwszy parametr klucza nie pasuje do żadnej nazwy sesji, zostanie potraktowany jako URI. Należy pamiętać, że przekazywanie poświadczeń osadzonych w URI w kluczu pozycji nie jest obsługiwane; zamiast tego należy używać parametrów nazwanej sesji.
Lista dostępnych parametrów nazwanej sesji zależy od wtyczki.
Możliwe jest zastąpienie parametrów sesji przez określenie nowych wartości w parametrach klucza pozycji (zobacz przykład).
Jeśli parametr nie jest zdefiniowany dla nazwanej sesji, Zabbix agent 2 użyje wartości zdefiniowanej w domyślnym parametrze wtyczki.
Priorytet parametrów
Wtyczki Zabbix agent 2 wyszukują wartości parametrów związanych z połączeniem w następującej kolejności:

- Pierwszy parametr klucza pozycji jest porównywany z nazwami sesji. Jeśli nie zostanie znalezione dopasowanie, jest traktowany jako rzeczywista wartość; w takim przypadku krok 3 zostanie pominięty. Jeśli dopasowanie zostanie znalezione, wartość parametru (zwykle URI) musi być zdefiniowana w nazwanej sesji.
- Pozostałe parametry zostaną pobrane z klucza pozycji, jeśli są zdefiniowane.
- Jeśli parametr klucza pozycji (na przykład hasło) jest pusty, wtyczka będzie szukać odpowiadającego mu parametru nazwanej sesji.
- Jeśli parametr sesji również nie jest określony, zostanie użyta wartość zdefiniowana w odpowiednim parametrze domyślnym.
- Jeśli wszystko inne zawiedzie, wtyczka użyje zakodowanej na stałe wartości domyślnej.
Przykład 1
Monitorowanie dwóch instancji „MySQL1” i „MySQL2”.
Parametry konfiguracji:
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
W wyniku tej konfiguracji każda nazwa sesji może być używana jako connString w kluczu pozycji, np. mysql.ping[MySQL1] lub mysql.ping[MySQL2].
Przykład 2
Podanie części parametrów w kluczu pozycji.
Parametry konfiguracji:
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password
Klucz pozycji: pgsql.ping[session1,new_username,,postgres]
W wyniku tej konfiguracji agent połączy się z PostgreSQL przy użyciu następujących parametrów:
- URI z parametru sesji:
192.0.2.234:5432 - Nazwa użytkownika z klucza pozycji:
new_username - Hasło z parametru sesji (ponieważ zostało pominięte w kluczu pozycji):
session_password - Nazwa bazy danych z klucza pozycji:
postgres
Przykład 3
Zbieranie metryki przy użyciu domyślnych parametrów konfiguracji.
Parametry konfiguracji:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Klucz pozycji: pgsql.ping[,,,postgres]
W wyniku tej konfiguracji agent połączy się z PostgreSQL przy użyciu parametrów:
- Domyślny URI:
192.0.2.234:5432 - Domyślna nazwa użytkownika:
zabbix - Domyślne hasło:
password - Nazwa bazy danych z klucza pozycji:
postgres
Połączenia
Niektóre wtyczki obsługują zbieranie metryk z wielu instancji jednocześnie. Możliwe jest monitorowanie zarówno instancji lokalnych, jak i zdalnych. Obsługiwane są połączenia TCP i Unix-socket.
Zaleca się skonfigurowanie wtyczek tak, aby utrzymywały połączenia z instancjami w stanie otwartym. Korzyści to mniejsze obciążenie sieci, niższe opóźnienia oraz mniejsze zużycie CPU i pamięci dzięki mniejszej liczbie połączeń. Biblioteka kliencka zajmuje się tym automatycznie.
Okres, przez jaki nieużywane połączenia powinny pozostawać otwarte, można określić za pomocą parametru Plugins.<PluginName>.KeepAlive. Przykład: Plugins.Memcached.KeepAlive