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ła zaprojektowana, aby:

  • Zmniejszyć liczbę połączeń TCP;
  • Zapewnić lepszą współbieżność sprawdzeń;
  • Być łatwo rozszerzalna za pomocą pluginów, 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 Zabbix agent, obsługując wszystkie wcześniejsze funkcje.

Wszystkie metryki w Zabbix agent 2 są zbierane przez pluginy.

Te funkcje są specyficzne dla pluginów:

  • Zaplanowane i elastyczne interwały zarówno dla sprawdzeń pasywnych, jak i aktywnych
  • Zarządzanie kolejką zadań z uwzględnieniem harmonogramu i współbieżności zadań
  • Limity czasu na poziomie pluginu
  • Sprawdzanie zgodności Zabbix agent 2 i jego pluginów podczas uruchamiania

Istnieją dwa typy pluginów:

Możesz również tworzyć własne pluginy.

Własnoręcznie utworzone pluginy nie muszą być wbudowane w agent 2. Możesz dodać je jako ładowalne pluginy, co upraszcza tworzenie pluginów dla nowych metryk.

Ładowalne pluginy można dodawać w czasie działania, bez ponownej kompilacji Zabbix agent 2.

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 Linuksie, 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 oddzielnie. Szczegółowe informacje 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, korzystając z jednej z następujących metod:

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

Dodatkowe informacje na temat instalacji Zabbix agent 2 (z archiwum ZIP) jako usługi systemu Windows można znaleźć na stronie Zabbix agent w systemie 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 listę dostępnych metryk.
version Wyświetla wersję agent.
userparameter_reload Ponownie wczytuje 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 agent 2.
  • Wyświetlenie opcji sterowania w czasie działania.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help

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 host działa jedna 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ń wykonywanych w czasie działania.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Te parametry służą do konfiguracji trwałego przechowywania danych 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 status oraz wyświetlania listy skonfigurowanych wtyczek i niektórych parametrów wewnętrznych.
Parametry konfiguracyjne Zabbix agent, których nie obsługuje Zabbix agent 2
AllowRoot,
User
Nie są obsł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żywany w Zabbix agent do określenia maksymalnej liczby oczekujących połączeń w kolejce TCP. Nie jest obsługiwany 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 nich używane są Plugins.Log.MaxLinesPerSecond i Plugins.SystemRun.LogRemoteCommands.
StartAgents Ten parametr jest używany w Zabbix agent do zwiększenia współbieżności pasywnych sprawdzeń lub ich wyłączenia. 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 parametr Server nie jest określony.

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.