3 Agent 2

Przegląd

Zabbix agent 2 to nowa generacja Zabbix agent, napisana w Go (z wykorzystaniem części kodu C odziedziczonego po Zabbix agent). Został zaprojektowany, aby:

  • Zmniejszyć liczbę połączeń TCP;
  • Zapewnić lepszą równoległość sprawdzeń;
  • Być łatwo rozszerzalny za pomocą wtyczek, które zapewniają proste sprawdzenia przy minimalnej ilości kodu oraz obsługują złożone sprawdzenia składające się z długo działających skryptów i samodzielnego zbierania danych z okresowym raportowaniem;
  • Działać jako zamiennik dla Zabbix agent, obsługując wszystkie wcześniejsze funkcje.

Wszystkie metryki obsługiwane przez Zabbix agent 2 są zbierane przez wtyczki.

Pasywne i aktywne sprawdzenia

Zabbix agent 2 obsługuje pasywne i aktywne sprawdzenia, podobnie jak Zabbix agent. Dodatkowo aktywne sprawdzenia Zabbix agent 2 obsługują elastyczne/interwały harmonogramu oraz współbieżność sprawdzeń w ramach jednego aktywnego serwera.

Domyślnie po ponownym uruchomieniu Zabbix agent 2 zaplanuje pierwsze pobranie danych dla aktywnych sprawdzeń w warunkowo losowym czasie w obrębie interwału aktualizacji pozycji, aby zapobiec skokom użycia zasobów. Aby wykonać aktywne sprawdzenia, które nie mają Harmonogramu interwału aktualizacji bezpośrednio po ponownym uruchomieniu agenta, ustaw parametr ForceActiveChecksOnStart (na poziomie globalnym) lub Plugins.<Plugin name>.System.ForceActiveChecksOnStart (dotyczy tylko określonych sprawdzeń wtyczki) w pliku konfiguracyjnym. Parametr na poziomie wtyczki, jeśli jest ustawiony, zastąpi parametr globalny.

Sprawdzanie współbieżności

Sprawdzenia z różnych wtyczek mogą być wykonywane równolegle. Liczba równoczesnych 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 (1000 jako wartość domyślna), które można obniżyć za pomocą ustawienia Plugins.<PluginName>.System.Capacity=N w parametrze konfiguracji Plugins.

Obsługiwane platformy

Informacje o obsługiwanych platformach można znaleźć na stronie Wymagania.

Agent 2 w systemach uniksopodobnych

Zabbix agent 2 w systemach uniksopodobnych jest uruchamiany na host monitorowanym.

Instalacja

Zabbix agent 2 można zainstalować w systemach opartych na Linuxie, korzystając z jednej z następujących metod:

  • Pakiety Zabbix - wybierz komponent Agent 2 (po wybraniu wersji Zabbix, dystrybucji systemu operacyjnego i wersji systemu operacyjnego) i postępuj zgodnie z instrukcjami;
  • Źródła Zabbix - pobierz pliki źródłowe i skompiluj agent, konfigurując go z opcją --enable-agent2.

Możliwości monitorowania Zabbix agent 2 można rozszerzyć za pomocą ładowalnych wtyczek, które są dostępne osobno. Szczegóły można znaleźć w sekcji Ładowalne wtyczki.

Jeśli zainstalowano jako pakiet

Zabbix agent 2 działa jako proces pierwszoplanowy i do działania w tle korzysta z zewnętrznego menedżera usług (np. systemd). Zabbix agent 2 nie ma wbudowanej obsługi demonizacji w systemie Linux.

Agent można uruchomić, wykonując:

systemctl start zabbix-agent2

Aby zatrzymać, uruchomić ponownie lub sprawdzić stan Zabbix agent 2, użyj następujących poleceń:

systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
Uruchomienie ręczne

Możesz uruchomić agent Zabbix, lokalizując plik binarny zabbix_agent2 i uruchamiając go bezpośrednio; na przykład:

zabbix_agent2

Agent 2 w systemach Windows

Zabbix agent 2 działa jako samodzielny proces; może jednak również działać jako usługa systemu Windows.

Instalacja

Zabbix agent 2 można zainstalować w systemie Windows jedną z następujących metod:

Możliwości monitorowania Zabbix agent 2 można rozszerzyć za pomocą ładowalnych wtyczek, które są dostępne osobno. Szczegóły znajdują się na stronie Ładowalne wtyczki.

Dodatkowe informacje na temat instalacji Zabbix agent 2 (z archiwum ZIP) jako usługi systemu Windows znajdują się na stronie Zabbix agent w Microsoft Windows.

Opcje

Następujące parametry wiersza poleceń można używać z agentem Zabbix 2:

Parameter Description
agent UNIX i Windows
-c --config <config-file> Ścieżka do pliku konfiguracyjnego.
Możesz użyć tej opcji, aby wskazać plik konfiguracyjny inny niż domyślny.
-f --foreground Uruchom agenta Zabbix na pierwszym planie (domyślnie: true).
-p --print Wyświetl znane pozycje i zakończ.
Pamiętaj, że aby zwrócić również wyniki user parameter, musisz podać plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji).
-t --test <item key> Przetestuj określoną pozycję i zakończ.
Pamiętaj, że aby zwrócić również wyniki user parameter, musisz podać plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji).
-T --test-config Sprawdź poprawność pliku konfiguracyjnego i zakończ.
-h --help Wyświetl informacje pomocy i zakończ.
-v --verbose Wyświetl informacje debugowania. Użyj tej opcji razem z opcjami -p i -t.
-V --version Wyświetl wersję agenta i informacje o licencji.
-R --runtime-control <option> Wykonaj funkcje administracyjne. Zobacz runtime control.
Tylko agent Windows
-m --multiple-agents Użyj wielu instancji agenta (z opcjami -i, -d, -s, -x).
Aby rozróżnić nazwy usług poszczególnych instancji, każda nazwa usługi będzie zawierać wartość Hostname z określonego pliku konfiguracyjnego.
-S --startup-type <value> Ustaw typ uruchamiania usługi agenta Zabbix dla Windows. Dozwolone wartości:
automatic - (domyślnie) uruchamiaj usługę automatycznie podczas startu systemu Windows;
delayed - opóźnij uruchomienie usługi do czasu zakończenia startu usług uruchamianych automatycznie;
manual - uruchamiaj usługę ręcznie (przez użytkownika lub aplikację);
disabled - wyłącz usługę, aby nie mogła zostać uruchomiona przez użytkownika lub aplikację.
Możesz użyć tej opcji razem z opcją -i albo osobno, aby zmodyfikować typ uruchamiania już zainstalowanej usługi.
-i --install Zainstaluj agenta Zabbix dla Windows jako usługę.
-d --uninstall Odinstaluj usługę agenta Zabbix dla Windows.
-s --start Uruchom usługę agenta Zabbix dla Windows.
-x --stop Zatrzymaj usługę agenta Zabbix dla Windows.

Przykłady użycia parametrów wiersza poleceń:

  • Wyświetl wszystkie wbudowane pozycje agenta wraz z wartościami.
  • Przetestuj user parameter z kluczem mysql.ping zdefiniowanym w określonym pliku konfiguracyjnym.
  • Instalowanie usługi Zabbix Agent dla Windows z użyciem domyślnej ścieżki do pliku konfiguracyjnego C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf.
  • Modyfikowanie typu uruchamiania zainstalowanej usługi Zabbix Agent dla Windows z użyciem pliku konfiguracyjnego zabbix_agent2.conf znajdującego się w tym samym folderze co plik wykonywalny agenta.
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Sterowanie w czasie działania

Sterowanie w czasie działania udostępnia kilka opcji zdalnego sterowania.

Option Description
log_level_increase Zwiększa poziom logowania.
log_level_decrease Zmniejsza poziom logowania.
metrics Wyświetla dostępne metryki.
version Wyświetla wersję agenta.
userparameter_reload Przeładowuje wartości opcji UserParameter i Include z bieżącego pliku konfiguracyjnego.
help Wyświetla informacje pomocy dotyczące sterowania w czasie działania.

Przykłady:

  • Zwiększenie poziomu logowania dla agenta 2.
  • Wyświetlenie opcji sterowania w czasie działania.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help

Od Zabbix 7.4.1 polecenia sterowania w czasie działania agenta 2 zapisują wynik do stdout (standardowe wyjście) zamiast do stderr (standardowe wyjście błędów).

Plik konfiguracyjny

Domyślna ścieżka do pliku konfiguracyjnego to:

  • W systemach UNIX domyślnie jest to /usr/local/etc/zabbix_agent2.conf lub wartość ustawiona przez zmienne czas kompilacji --sysconfdir albo --prefix.
  • W systemie Windows domyślnie jest to C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf.

Jeśli na hoście działa pojedyncza instancja agenta, może ona używać domyślnego pliku konfiguracyjnego lub pliku konfiguracyjnego określonego w wierszu poleceń. W przypadku wielu instancji każda instancja agenta musi mieć własny plik konfiguracyjny (jedna z instancji może używać domyślnego pliku konfiguracyjnego).

Parametry konfiguracyjne Zabbix agent 2 w większości odpowiadają parametrom Zabbix agent, z pewnymi wyjątkami:

Parameters Description
Parametry konfiguracyjne specyficzne dla Zabbix agent 2
ControlSocket Ścieżka do gniazda sterowania w czasie działania. Zabbix agent 2 używa gniazda sterowania do poleceń w czasie działania.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Parametry te służą do konfiguracji trwałego przechowywania w Zabbix agent 2 dla aktywnych pozycji.
ForceActiveChecksOnStart Określa, czy agent ma wykonywać aktywne sprawdzenia natychmiast po restarcie, czy rozkładać je równomiernie w czasie.
Plugins Wtyczki mogą mieć własne parametry w formacie Plugins.<Plugin name>.<Parameter>=<value>. Częstym parametrem wtyczki jest System.Capacity, który ustawia limit sprawdzeń możliwych do wykonania jednocześnie.
StatusPort Port, na którym Zabbix agent 2 będzie nasłuchiwał żądań HTTP dotyczących stanu oraz wyświetlania listy skonfigurowanych wtyczek i niektórych parametrów wewnętrznych.
Parametry konfiguracyjne specyficzne dla Zabbix agent, nieobsługiwane w Zabbix agent 2
AllowRoot,
User
Nieobsługiwane w Zabbix agent 2, ponieważ nie obsługuje on demonizacji.
EnableRemoteCommands Przestarzałe; zamiast tego w obu agentach używane są parametry AllowKey i DenyKey.
ListenBacklog Używane w Zabbix agent do definiowania maksymalnej liczby oczekujących połączeń w kolejce TCP. Nieobsługiwane w Zabbix agent 2.
LoadModule,
LoadModulePath
Moduły ładowane dynamicznie nie są obsługiwane w Zabbix agent 2.
MaxLinesPerSecond,
LogRemoteCommands
W Zabbix agent 2 zamiast tego używane są Plugins.Log.MaxLinesPerSecond i Plugins.SystemRun.LogRemoteCommands.
StartAgents Ten parametr jest używany w Zabbix agent do zwiększania współbieżności pasywnych sprawdzeń lub ich wyłączania. W Zabbix agent 2 współbieżność jest konfigurowana na poziomie wtyczki i może być ograniczona ustawieniem pojemności. Pasywne sprawdzenia są wyłączone w Zabbix Agent 2, jeśli nie określono parametru Server.

Więcej informacji można znaleźć w opcjach pliku konfiguracyjnego dla Zabbix agent2.

Kody wyjścia

Zabbix agent 2 może być również skompilowany ze starszymi wersjami OpenSSL (1.0.1, 1.0.2).

W takim przypadku Zabbix udostępnia mutexy do blokowania w OpenSSL. Jeśli blokada lub odblokowanie mutexa zakończy się niepowodzeniem, komunikat o błędzie zostanie wypisany do standardowego strumienia błędów (STDERR), a Agent 2 zakończy działanie z kodem zwrotnym 2 lub 3, odpowiednio.