This is a translation of the original English documentation page. Help us make it better.

3 Agent 2

Przegląd

Agent Zabbix 2 to nowa generacja agenta Zabbix i może być używany zamiast agenta Zabbix. Agent Zabbix 2 został opracowany w celu:

  • zmniejszenia liczbę połączeń TCP
  • zapewnienia lepszej wielowątkowośći sprawdzeń
  • bycia łatwo rozszerzalny za pomocą wtyczek. Wtyczka powinna umożliwiać:
    • przeprowadzanie prostych sprawdzeń składających się tylko z kilku prostych linii kodu
    • zapewnienie złożonych sprawdzeń składających się z długotrwałych skryptów i samodzielnego gromadzenia danych z okresowym odsyłaniem danych
  • bycia bezpośrednim zamiennikiem agenta Zabbix (obsługuje wszystkie poprzednie funkcjonalności)

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.

Obsługiwane platformy

Agent Zabbix 2 jest obsługiwany na następujących platformach:

Instalacja

Agent Zabbix 2 jest dostępny w prekompilowanych pakietach Zabbix. Aby skompilować agenta Zabbix 2 ze źródeł, musisz podać opcję konfiguracyjną --enable-agent2.

Opcje

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ń:

  • wyświetl wszystkie wbudowane pozycje agenta z wartościami
  • przetestuj parametr użytkownika z kluczem "mysql.ping" zdefiniowanego w podanym pliku konfiguracyjnym
zabbix_agent2 --print
       zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Kontrola działania

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:

  • zwiększenie poziomu logowania dla agent 2
  • wyświetla opcje kontroli działania
zabbix_agent2 -R log_level_increase
       zabbix_agent2 -R help

Plik konfiguracyjny

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.

Kody wyjścia

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.