Agent Zabbix 2 to nowa generacja agenta Zabbix i może być używany zamiast agenta Zabbix. Agent Zabbix 2 został opracowany w celu:
Agent 2 jest napisany w języku programowania Go (z ponownie wykorzystanym kodem C agenta Zabbix). Do zbudowania agenta Zabbix 2 wymagane jest skonfigurowane środowisko Go z aktualnie obsługiwaną wersją Go.
Agent 2 nie ma wbudowanej obsługi demonizacji w systemie Linux; można go uruchomić jako usługę systemu Windows.
Testy pasywne działają podobnie do agenta Zabbix. Aktywne sprawdzenia obsługują obsługują harmonogramy/elastyczne interwały i sprawdzane równolegle w ramach jednego aktywnego serwera.
Domyślnie agent Zabbix 2 planuje zbieranie danych pierwszego aktywnego sprawdzenia w losowym czasie w przedziale czasowym aktualizacji elementu, aby uniknąć skoków w wykorzystaniu zasobów. Aby aktywne sprawdzenia, które nie mają Harmonogramowanego interwału aktualizacji były uruchamiane natychmiast po ponownym uruchomieniu agenta, określ parametr ForceActiveChecksOnStart
(poziom globalny) lub Plugins.<Plugin name>.System.ForceActiveChecksOnStart
(dotyczy tylko sprawdzeń z określonej wtyczki) w pliku konfiguracyjnym. stawienie na poziomie wtyczki, jeśli jest ustawione, zastępuje ustawienie globalne. Wymuszone aktywne sprawdzenia przy uruchamianiu agenta są obsługiwane począwszy od wersji Zabbix 6.0.2.
Równoległość sprawdzeń
Sprawdzenia z różnych wtyczek mogą być uruchamiane równolegle. Liczba jednoczesnych sprawdzeń w ramach jednej wtyczki jest ograniczona przez ustawienie pojemności wtyczki. Każda wtyczka może mieć zakodowane na stałe ustawienie pojemności (domyślnie to 100), które można obniżyć za pomocą ustawienia Plugins.<PluginName>.System.Capacity=N
w konfiguracji parametru Plugins. Poprzednia nazwa tego parametru Plugins.<PluginName>.Capacity
jest nadal obsługiwana, ale została uznana za przestarzałą w Zabbix 6.0.
Zobacz także: Wytyczne dotyczące tworzenia wtyczek.
Agent Zabbix 2 jest obsługiwany na następujących platformach:
Agent Zabbix 2 jest dostępny w prekompilowanych pakietach Zabbix. Aby skompilować agenta Zabbix 2 ze źródeł, musisz podać opcję konfiguracyjną --enable-agent2
.
Z agentem Zabbix 2 można używać następujących parametrów wiersza poleceń:
Parametr | Opis |
---|---|
-c --config <plik-konfiguracyjny> | Ścieżka do pliku konfiguracyjnego. Możesz użyć tej opcji, aby określić plik konfiguracyjny inny niż domyślny. W systemie UNIX domyślnym jest /usr/local /etc/zabbix_agent2.conf lub zgodnie z zmiennymi użytymi podczas kompilacji --sysconfdir lub --prefix |
-f --foreground | Uruchom agenta Zabbix jako proces pierwszoplanowy (domyślnie: true). |
-p --print | Wyświetla listę dostępnych pozycji i kończy działanie. Uwaga: Aby zwrócić również parametry użytkownika, musisz określić plik konfiguracyjny (jeśli jest nie w domyślnej lokalizacji). |
-t --test <klucz pozycji> | Testuje pojedynczą pozycję i kończy działanie. Uwaga: Aby zwrócić również parametry użytkownika, musisz określić plik konfiguracyjny (jeśli jest nie w domyślnej lokalizacji). |
-h --help | Wyświetla pomoc i kończy działanie. |
-v --verbose | Wyświetla informacje debugowania. Użyj tej opcji z opcjami -p i -t. |
-V --version | Wyświetla wersję agenta i informacje o licencji. |
-R --runtime-control <opcje> | Wykonuje funkcje administracyjne . Zobacz opcje kontroli działania. |
Konkretne przykłady użycia parametrów wiersza poleceń:
Kontrola działania zapewnia pewne opcje zdalnego sterowania.
Opcja | Opis |
---|---|
log_level_increase | Podnosi poziom logowania |
log_level_decrease | Obniża poziom logowania |
metrics | Wyświetla listę dostępnych metryk. |
version | Wyświetla wersję agenta |
userparameter_reload | Przeładowuje wartości opcji UserParameter i Include bieżacego z pliku konfiguracyjnego. |
help | Wyświetla informacje pomocy dotyczące kontroli działania. |
Przykłady:
Parametry konfiguracyjne agenta 2 są w większości kompatybilne z agentem Zabbix, z pewnymi wyjątkami.
Nowe parametry | Opis |
---|---|
ControlSocket | Ścieżka gniazda kontroli działania. Agent 2 używa gniazda sterującego dla poleceń kontroli działania. |
EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Te parametry służą do konfigurowania trwałej pamięci na agencie 2 dla aktywnych pozycji. |
ForceActiveChecksOnStart | Określa, czy agent powinien przeprowadzać aktywne sprawdzenia natychmiast po ponownym uruchomieniu, czy też rozłożyć je równomiernie w czasie. Obsługiwane od wersji Zabbix 6.0.2. |
Plugins | Wtyczki mogą mieć własne parametry w formacie Plugins.<Nazwa wtyczki>.<Parametr>=<wartość> . Typowym parametrem wtyczki jest System.Capacity, który określa limit sprawdzeń, które można wykonać w tym samym czasie. |
StatusPort | Port agenta 2, który będzie nasłuchiwał żądań HTTP o status i wyświetlał listę skonfigurowanych wtyczek oraz niektóre parametry wewnętrzne |
Wykluczone opcje | Opis |
AllowRoot, User | Nieobsługiwane, ponieważ tryb demona nie jest obsługiwany. |
LoadModule, LoadModulePath | Obsługa modułów nie jest obsługiwana. |
StartAgents | Ten parametr został użyty w agencie Zabbix do zwiększenia równoległego sprawdzania pasywnego lub ich wyłączenia. W agencie 2 wielowątkowość jest konfigurowana na poziomie wtyczki i może być ograniczona przez ustawienie pojemności. Wyłączenie sprawdzeń pasywnych nie jest obecnie obsługiwane. |
HostInterface, HostInterfaceItem | Jeszcze nieobsługiwane. |
Aby uzyskać więcej informacji, zobacz opcje pliku konfiguracyjnego dla zabbix_agent2.
Począwszy od wersji 4.4.8 agenta Zabbix 2 można również kompilować ze starszymi wersjami OpenSSL (1.0.1, 1.0.2).
W tym przypadku Zabbix udostępnia muteksy do blokowania w OpenSSL. Jeśli blokada mutex lub odblokowanie nie powiedzie się, komunikat o błędzie jest drukowany w standardowym strumieniu błędów (STDERR), a Agent 2 kończy działanie z kodem wyjścia odpowiednio 2 lub 3.