[comment]: # ({d60be363-d60be363})
# 3 Agent 2

[comment]: # ({/d60be363-d60be363})

[comment]: # ({72fba9e6-734dc3ed})
#### Przegląd

Zabbix agent 2 to nowa generacja [Zabbix agent](/manual/concepts/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ń](#check-concurrency);
-   Być łatwo rozszerzalny za pomocą [wtyczek](/manual/extensions/plugins), 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.

[comment]: # ({/72fba9e6-734dc3ed})

[comment]: # ({c03d41e5-eaa0f2bb})
##### Pasywne i aktywne sprawdzenia

Zabbix agent 2 obsługuje [pasywne i aktywne sprawdzenia](/manual/concepts/agent#passive-and-active-checks), podobnie jak Zabbix agent.
Dodatkowo aktywne sprawdzenia Zabbix agent 2 obsługują [elastyczne/interwały harmonogramu](/manual/config/items/item/custom_intervals) oraz [współbieżność sprawdzeń](#check-concurrency) w ramach jednego aktywnego serwera.

::: noteclassic
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](/manual/config/items/item/custom_intervals#scheduling-intervals) 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](/manual/appendix/config/zabbix_agent2).
Parametr na poziomie wtyczki, jeśli jest ustawiony, zastąpi parametr globalny.
:::

[comment]: # ({/c03d41e5-eaa0f2bb})

[comment]: # ({c777f783-05ea1336})
##### 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](#configuration-file) konfiguracji `Plugins`.

[comment]: # ({/c777f783-05ea1336})

[comment]: # ({ec9f8f5e-a2064519})
#### Obsługiwane platformy

Informacje o obsługiwanych platformach można znaleźć na stronie [Wymagania](/manual/installation/requirements#supported-platforms).

[comment]: # ({/ec9f8f5e-a2064519})

[comment]: # ({138e3f53-72764340})
#### Agent 2 w systemach uniksopodobnych

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

[comment]: # ({/138e3f53-72764340})

[comment]: # ({6910e45e-cabc0f5f})
##### Instalacja

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

-   [Pakiety Zabbix](https://www.zabbix.com/download?zabbix=7.4) - 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](https://www.zabbix.com/download_sources#74) - pobierz pliki źródłowe i skompiluj agent, [konfigurując](/manual/installation/install#configure-the-sources) go z opcją `--enable-agent2`.

::: noteclassic
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](/manual/extensions/plugins#loadable-plugins).
:::

[comment]: # ({/6910e45e-cabc0f5f})

[comment]: # ({f46eec4a-710d239c})
##### 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:

```bash
systemctl start zabbix-agent2
```

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

```bash
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
```

[comment]: # ({/f46eec4a-710d239c})

[comment]: # ({d6099b39-87c53fa7})
##### Uruchomienie ręczne

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

```bash
zabbix_agent2
```

[comment]: # ({/d6099b39-87c53fa7})

[comment]: # ({27b40128-466bb9c2})
#### 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.

[comment]: # ({/27b40128-466bb9c2})

[comment]: # ({60f78e08-214485f8})
##### Instalacja

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

-   [Wstępnie skompilowane binaria Zabbix agent](https://www.zabbix.com/download_agents?version=7.4) - pobierz pakiet instalacyjny MSI agent i postępuj zgodnie z instrukcjami na stronie [Instalacja agenta Windows z MSI](/manual/installation/install_from_packages/win_msi);
-   [Źródła Zabbix](https://www.zabbix.com/download_sources#74) - pobierz pliki źródłowe i postępuj zgodnie z instrukcjami na stronie [Kompilowanie Zabbix agent 2 w systemie Windows](/manual/installation/install/building_zabbix_agent_2_on_windows).

::: noteclassic
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](/manual/extensions/plugins#loadable-plugins).
:::

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](/manual/appendix/install/windows_agent#installing-agent-as-windows-service).

[comment]: # ({/60f78e08-214485f8})

[comment]: # ({b596fdca-45c02f12})
#### 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](/manual/concepts/agent2#configuration-file).<br>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.<br>Pamiętaj, że aby zwrócić również wyniki [user parameter](/manual/config/items/userparameters), musisz podać plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji).|
|`-t --test <item key>`|Przetestuj określoną pozycję i zakończ.<br>Pamiętaj, że aby zwrócić również wyniki [user parameter](/manual/config/items/userparameters), 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](/manual/concepts/agent2#runtime-control).|
|**Tylko agent Windows**|<|
|`-m --multiple-agents`|Użyj wielu instancji agenta (z opcjami `-i`, `-d`, `-s`, `-x`).<br>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:<br>`automatic` - *(domyślnie)* uruchamiaj usługę automatycznie podczas startu systemu Windows;<br>`delayed` - opóźnij uruchomienie usługi do czasu zakończenia startu usług uruchamianych automatycznie;<br>`manual` - uruchamiaj usługę ręcznie (przez użytkownika lub aplikację);<br>`disabled` - wyłącz usługę, aby nie mogła zostać uruchomiona przez użytkownika lub aplikację.<br>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.

```bash
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
```

[comment]: # ({/b596fdca-45c02f12})

[comment]: # ({76f056ab-11aa0de0})
##### 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.

```bash
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).

[comment]: # ({/76f056ab-11aa0de0})

[comment]: # ({2d620e96-77e9b590})
#### 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](/manual/installation/install#configure-the-sources) `--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ń](/manual/concepts/agent2#options).
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](#runtime-control).|
| |`EnablePersistentBuffer`,<br>`PersistentBufferFile`,<br>`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`,<br>`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`,<br>`LoadModulePath`|Moduły ładowane dynamicznie nie są obsługiwane w Zabbix agent 2.|
| |`MaxLinesPerSecond`,<br>`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](/manual/appendix/config/zabbix_agent2).

[comment]: # ({/2d620e96-77e9b590})

[comment]: # ({76a6838b-472820ac})
#### 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.

[comment]: # ({/76a6838b-472820ac})
