Agent 2
Omówienie
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ść kontroli;
- Być łatwo rozszerzalna za pomocą pluginów, które zapewniają proste kontrole przy minimalnej ilości kodu oraz obsługują złożone kontrole 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 kontroli 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 także 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.
Zobacz także:
- Porównanie agent i agent 2
- Parametry konfiguracji: Zabbix agent 2
- Parametry konfiguracji: Zabbix agent 2 (Windows)
- Parametry konfiguracji: Pluginy
- Protokół pluginu Zabbix agent 2
Sprawdzanie pasywne i aktywne
Zabbix agent 2 obsługuje sprawdzanie pasywne i aktywne, podobnie jak Zabbix agent. Dodatkowo aktywne sprawdzanie przez Zabbix agent 2 obsługuje elastyczne interwały i interwały harmonogramu oraz współbieżność sprawdzania w ramach jednego aktywnego serwera.
Domyślnie po ponownym uruchomieniu Zabbix agent 2 zaplanuje pierwsze zbieranie danych dla aktywnego sprawdzania w warunkowo losowym momencie w ramach interwału aktualizacji pozycji, aby zapobiec skokom wykorzystania zasobów.
Aby wykonywać aktywne sprawdzanie, które nie ma interwału aktualizacji Scheduling interwału aktualizacji, natychmiast po ponownym uruchomieniu agenta, ustaw parametr ForceActiveChecksOnStart (na poziomie globalnym) lub parametr wtyczki Plugins.<Plugin name>.System.ForceActiveChecksOnStart parametr wtyczki (dotyczy tylko sprawdzania określonych wtyczek) w pliku konfiguracyjnym.
Jeśli parametr na poziomie wtyczki 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 znajdują się 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 Linux przy użyciu 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 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 być również uruchamiany jako usługa systemu Windows.
Instalacja
Zabbix agent 2 można zainstalować w systemie Windows jedną z następujących metod:
- Wstępnie skompilowane binaria Zabbix agent - pobierz pakiet instalacyjny MSI agent i postępuj zgodnie z instrukcjami na stronie Instalacja agenta Windows z pliku MSI;
- Źródła Zabbix - pobierz pliki źródłowe i postępuj zgodnie z instrukcjami na stronie Kompilacja Zabbix agent 2 w systemie Windows.
Możliwości monitorowania Zabbix agent 2 można rozszerzyć za pomocą ładowalnych wtyczek, które są dostępne osobno. Szczegóły znajdziesz na stronie Ładowalne wtyczki.
Dodatkowe informacje dotyczące instalacji Zabbix agent 2 (z archiwum ZIP) jako usługi systemu Windows znajdziesz na stronie Zabbix agent w Microsoft Windows.
Opcje
Z agentem Zabbix 2 można używać następujących parametrów wiersza poleceń:
| Parametr | Opis |
|---|---|
| agent UNIX i Windows | |
-c --config <config-file> |
Ścieżka do pliku konfiguracyjnego. Tej opcji można użyć do określenia pliku konfiguracyjnego innego niż domyślny. |
-f --foreground |
Uruchomienie agenta Zabbix na pierwszym planie (domyślnie: true). |
-p --print |
Wyświetlenie znanych pozycji i zakończenie działania. Aby zwrócić również wyniki parametru użytkownika, należy określić plik konfiguracyjny (jeśli nie znajduje się on w domyślnej lokalizacji). |
-t --test <item key> |
Przetestowanie określonej pozycji i zakończenie działania. Aby zwrócić również wyniki parametru użytkownika, należy określić plik konfiguracyjny (jeśli nie znajduje się on w domyślnej lokalizacji). |
-T --test-config |
Sprawdzenie poprawności pliku konfiguracyjnego i zakończenie działania. |
-h --help |
Wyświetlenie informacji pomocy i zakończenie działania. |
-v --verbose |
Wyświetlenie informacji debugowania. Tej opcji należy używać razem z opcjami -p i -t. |
-V --version |
Wyświetlenie wersji agenta i informacji o licencji. |
-R --runtime-control <option> |
Wykonanie funkcji administracyjnych. Zobacz sterowanie w czasie działania. |
| Tylko agent Windows | |
-m --multiple-agents |
Używanie 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> |
Ustawienie typu uruchamiania usługi agenta Zabbix dla systemu Windows. Dozwolone wartości:automatic - (domyślnie) automatyczne uruchamianie usługi podczas uruchamiania systemu Windows;delayed - opóźnienie uruchomienia usługi do czasu zakończenia uruchamiania usług uruchamianych automatycznie;manual - ręczne uruchamianie usługi (przez użytkownika lub aplikację);disabled - wyłączenie usługi, aby nie mogła zostać uruchomiona przez użytkownika ani aplikację.Tej opcji można używać razem z opcją -i lub osobno, aby zmodyfikować typ uruchamiania już zainstalowanej usługi. |
-i --install |
Zainstalowanie agenta Zabbix dla systemu Windows jako usługi. |
-d --uninstall |
Odinstalowanie usługi agenta Zabbix dla systemu Windows. |
-s --start |
Uruchomienie usługi agenta Zabbix dla systemu Windows. |
-x --stop |
Zatrzymanie usługi agenta Zabbix dla systemu Windows. |
Poniżej przedstawiono przykłady użycia parametrów wiersza poleceń:
- Wyświetlenie wszystkich wbudowanych pozycji agenta wraz z wartościami.
- Przetestowanie parametru użytkownika z kluczem
mysql.pingzdefiniowanym w określonym pliku konfiguracyjnym. - Zainstalowanie usługi agenta Zabbix dla systemu Windows przy użyciu domyślnej ścieżki do pliku konfiguracyjnego.
- Zmodyfikowanie typu uruchamiania zainstalowanej usługi agenta Zabbix dla systemu Windows przy użyciu pliku konfiguracyjnego znajdującego się w tym samym folderze co plik wykonywalny agenta.
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agent2.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Kontrola w czasie działania
Kontrola w czasie działania udostępnia opcje zdalnego sterowania.
| Option | Description |
|---|---|
log_level_increase |
Zwiększenie poziomu rejestrowania. |
log_level_decrease |
Zmniejszenie poziomu rejestrowania. |
metrics |
Wyświetlenie listy dostępnych metryk. |
version |
Wyświetlenie wersji agenta. |
userparameter_reload |
Ponowne wczytanie wartości opcji UserParameter i Include z bieżącego pliku konfiguracyjnego. |
help |
Wyświetlenie informacji pomocy dotyczących kontroli w czasie działania. |
Przykłady:
- Zwiększenie poziomu rejestrowania dla agenta 2.
- Wyświetlenie opcji kontroli w czasie działania.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
Plik konfiguracyjny
Domyślna ścieżka do pliku konfiguracyjnego zależy od systemu operacyjnego i metody instalacji Zabbix:
- W systemie UNIX domyślnie jest to:
- W przypadku instalacji ze źródeł:
/usr/local/etc/zabbix_agent2.conflub, zgodnie z ustawionymi podczas kompilacji zmiennymi--sysconfdiralbo--prefix. - W przypadku instalacji z pakietów:
/etc/zabbix/zabbix_agent2.conf.
- W przypadku instalacji ze źródeł:
- 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 gniazda sterującego w czasie działania. Zabbix agent 2 używa gniazda sterującego do poleceń w czasie działania. | |
EnablePersistentBuffer,PersistentBufferFile,PersistentBufferPeriod |
Te parametry 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ń wykonywanych jednocześnie. |
|
StatusPort |
Port, na którym Zabbix agent 2 będzie nasłuchiwać żądań HTTP dotyczących statusu 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żywany 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 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 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 operacja zablokowania lub odblokowania mutexa zakończy się niepowodzeniem, komunikat o błędzie jest wypisywany do standardowego strumienia błędów (STDERR), a Agent 2 kończy działanie z kodem zwrotnym 2 lub 3, odpowiednio.