[comment]: # translation:outdated

[comment]: # ({4eeeebad-150822ec})
# 2 Równoważenie obciążenia proxy i wysoka dostępność

[comment]: # ({/4eeeebad-150822ec})

[comment]: # ({c68d32c6-9db44722})
#### Przegląd

Proxy Zabbix mogą być organizowane w grupy proxy, aby umożliwić równoważenie obciążenia proxy i wysoką dostępność.

Równoważenie obciążenia proxy i wysoka dostępność to automatyczna redystrybucja hostów między proxy w ramach grupy proxy:

-   Jeśli proxy przejdzie w tryb offline, jego hosty zostaną przeniesione do innych proxy, co pozwoli utrzymać wysoką dostępność proxy.
-   Jeśli proxy ma znacznie większą/mniejszą liczbę hostów niż inne proxy, jego hosty zostaną przeniesione do innych proxy w celu zrównoważenia obciążenia proxy.

Redystrybucja hostów działa tylko między proxy w grupie, które spełniają następujące warunki:

-   Proxy działają w wersji Zabbix 7.0 lub nowszej.
-   [Wersja proxy](/manual/appendix/compatibility#supported-zabbix-proxies) jest zgodna z wersją serwera Zabbix. W przypadku używania Zabbix agent (passive) wersja proxy musi być zgodna z wersją agenta. Aktywne agenty wymagają jedynie Zabbix 7.0 lub nowszego.
-   Grupa proxy ma [stan online](/manual/web_interface/frontend_sections/administration/proxy_groups).
-   Hosty są skonfigurowane do [monitorowania przez](/manual/config/hosts/host#configuration) grupę proxy, a nie przez pojedyncze proxy.

::: noteclassic
Stan grupy proxy można monitorować za pomocą [sprawdzeń wewnętrznych](/manual/config/items/itemtypes/internal#proxy.group.a) przez dowolny host przypisany do grupy proxy.
Jednak aby monitorować stan pojedynczego proxy w grupie, przypisz host do tego proxy; w przeciwnym razie wyniki mogą być niespójne.
:::

[comment]: # ({/c68d32c6-9db44722})

[comment]: # ({ca1e24c8-1abf84b3})
#### Redystrybucja hostów

Równoważenie obciążenia proxy i wysoka dostępność są zarządzane przez serwer Zabbix za pomocą [menedżera grup proxy](/manual/concepts/server#server-process-types-and-threads), który stale monitoruje stan wszystkich proxy w każdej grupie proxy oraz rozkład ich hostów.

Wysoka dostępność proxy w obrębie grupy jest zapewniana przez mechanizm przełączania awaryjnego proxy: gdy proxy przechodzi w tryb offline, jego hosty są natychmiast redystrybuowane do innych proxy.
Równoważenie obciążenia proxy również ma miejsce, ponieważ hosty są ponownie przypisywane do proxy z najmniejszą liczbą przypisanych hostów.

Dodatkowo równoważenie obciążenia proxy jest uruchamiane, gdy liczba hostów na proxy różni się od średniej grupowej o co najmniej 10 hostów oraz współczynnik 2 (nadmiar hostów lub niedobór hostów).
Jeśli nierównowaga utrzymuje się po okresie karencji (10 x [opóźnienie przełączenia awaryjnego](#configuring-a-proxy-group)), grupa proxy jest umieszczana w kolejce do redystrybucji hostów.

Menedżer grup proxy redystrybuuje hosty zgodnie z następującą logiką:

1. Oblicz średnią liczbę hostów na proxy.
2. Dla proxy z nadmiarem hostów — przenieś nadmiarowe hosty do nieprzypisanej puli proxy.
3. Dla proxy z niedoborem hostów — oblicz, ile hostów jest potrzebnych do osiągnięcia równowagi.
4. Usuń wymaganą liczbę hostów z proxy mających najwięcej hostów.
5. Przenieś nieprzypisane hosty do proxy mających najmniej hostów.

Przykłady redystrybucji hostów:

|Hosty na proxy|Średnia grupowa|Ponowne przypisanie hostów|
|-|-|-|
|100|50|Tak|
|60|50|Nie|
|40|50|Nie|
|25|50|Tak|
|15|5|Tak|
|10|5|Nie|

::: noteimportant
Posiadanie mniej niż 10 hostów [monitorowanych przez](/manual/config/hosts/host#configuration) grupę proxy może prowadzić do nierównomiernego rozkładu hostów między proxy w grupie.
:::

[comment]: # ({/ca1e24c8-1abf84b3})

[comment]: # ({5515593f-ffeb9a46})
#### Konfigurowanie grupy proxy

Aby skonfigurować grupę proxy w frontend Zabbix:

1. Przejdź do *Administration > Proxy groups*
2. Kliknij *Create proxy group*

![](../../../../assets/en/manual/distributed_monitoring/proxy_group.png){width="600"}

|Parametr|Opis|
|--|--------|
|*Name*|Nazwa grupy proxy.|
|*Failover period*|Okres w sekundach, w którym proxy w grupie proxy musi komunikować się z serwer Zabbix, aby było uznawane za online (domyślnie: 1m; zakres: 10s-15m). Jeśli proxy nie komunikuje się w tym okresie, jego stan zmienia się na *Offline*, a jego hosty są natychmiast redystrybuowane do innych proxy. Równoważenie obciążenia proxy rozpoczyna się po 10 x tym okresie.<br>Obsługuje sufiksy czasu (np. 30s, 1m) oraz makra użytkownika.|
|*Minimum number of proxies*|Minimalna liczba [proxy online](/manual/web_interface/frontend_sections/administration/proxies) wymagana do utrzymania [grupy proxy online](/manual/web_interface/frontend_sections/administration/proxy_groups) (domyślnie: 1; zakres: 1-1000).<br>Obsługuje makra użytkownika.<br><br>Ta wartość powinna być mniejsza niż całkowita liczba proxy w grupie. Na przykład w grupie 10 proxy ustawienie minimum na 10 spowoduje przejście grupy w stan offline w przypadku awarii dowolnego proxy. Należy pamiętać, że proxy online w grupie offline nadal działają normalnie, ale równoważenie obciążenia/wysoka dostępność nie będą realizowane.|
|*Description*|Opis grupy proxy.|
|*Proxies*|Wyświetla listę maksymalnie pięciu proxy (jako linki lub zwykły tekst, w zależności od uprawnień użytkownika do proxy) podczas edycji grupy zawierającej proxy.|

[comment]: # ({/5515593f-ffeb9a46})

[comment]: # ({05d503b6-e520307a})
#### Konfigurowanie równoważenia obciążenia proxy

Aby używać równoważenia obciążenia proxy, należy skonfigurować grupę proxy w Zabbix frontend (zobacz wyżej) i upewnić się, że hosty są [monitorowane przez](/manual/config/hosts/host#configuration) grupę proxy, a nie przez pojedyncze proxy (można użyć [masowej aktualizacji](/manual/config/hosts/hostupdate) hostów, aby przenieść hosty z proxy do grupy proxy).

W przypadku korzystania z Zabbix agent należy również skonfigurować go w następujący sposób:

-   Dla [kontroli pasywnych](/manual/appendix/items/activepassive) należy wymienić wszystkie proxy z grupy proxy w parametrze [Server](/manual/appendix/config/zabbix_agentd#server).
-   Dla [kontroli aktywnych](/manual/appendix/items/activepassive) zaleca się wymienienie wszystkich proxy z grupy proxy lub serwera Zabbix w parametrze [ServerActive](/manual/appendix/config/zabbix_agentd#serveractive).
    Należy pamiętać, że tylko Zabbix agent 7.0 (lub nowszy) będzie działać z grupami proxy w trybie aktywnym.

Jeśli parametr `ServerActive` zawiera tylko jedno proxy z grupy proxy (lub serwer Zabbix), agent nadal będzie mógł połączyć się z właściwym proxy.
Gdy usługa agenta uruchomi się i połączy z określonym proxy, agent otrzyma i zapisze w pamięci podręcznej pełną listę adresów IP proxy oraz ich bieżące obciążenie w grupie.
Następnie kontrole aktywne zostaną przekierowane do właściwego dostępnego proxy dla hosta, na podstawie bieżącego przypisania proxy-host w grupie proxy.

::: notewarning
Podanie tylko jednego proxy w parametrze `ServerActive` Zabbix agent może prowadzić do utraty danych monitorowania, jeśli agent zostanie uruchomiony/zrestartowany, gdy wskazane proxy będzie niedostępne.
:::

::: noteclassic
Podczas korzystania z [Zabbix sender](/manual/concepts/sender) żądania danych są również przekierowywane do właściwego dostępnego proxy dla hosta, na podstawie bieżącego przypisania proxy-host w grupie proxy.
Jeśli jednak wysyłasz wartości wielu hostów z pliku wejściowego, użyj [opcji `-g`](/manpages/zabbix_sender), aby zapobiec wysłaniu danych do niewłaściwego proxy.
:::

Zabbix agent musi również mieć możliwość łączenia się przez zaporę sieciową ze wszystkimi proxy w grupie proxy.
W przeciwnym razie kontrole aktywne mogą zawieszać się lub kończyć niepowodzeniem podczas przekierowania albo przełączenia awaryjnego. Na przykład:

-   Podczas kontroli aktywnych proxy może przekierować agenta do innego proxy. Jeśli to proxy jest blokowane przez zaporę sieciową, komunikacja zawiesi się podczas oczekiwania na odpowiedź.
-   W stabilnych konfiguracjach wysokiej dostępności bez niedawnego równoważenia agenty mogą nigdy nie kontaktować się z zapasowymi proxy. Jeśli reguły zapory sieciowej uległy zmianie i nie zostały przetestowane, przełączenie awaryjne może się nie powieść.

[comment]: # ({/05d503b6-e520307a})

[comment]: # ({2ad23a4a-61149717})
##### Testowanie równoważenia obciążenia proxy

Aby przetestować równoważenie obciążenia proxy:

1. Skonfiguruj grupę proxy.
2. Upewnij się, że grupa proxy ma [stan online](/manual/web_interface/frontend_sections/administration/proxy_groups).
3. Upewnij się, że hosty są [monitorowane przez](/manual/config/hosts/host#configuration) grupę proxy, a nie przez pojedyncze proxy (możesz użyć [masowej aktualizacji](/manual/config/hosts/hostupdate), aby przenieść hosty z proxy do grupy proxy).
4. Odczekaj kilka sekund na aktualizację konfiguracji i dystrybucję hostów między proxy w grupie proxy. Obserwuj zmianę, odświeżając listę hostów w *Administracja* > [*Proxy*](/manual/web_interface/frontend_sections/administration/proxies).

[comment]: # ({/2ad23a4a-61149717})

[comment]: # ({541e455e-9e4321d3})
##### Ważne uwagi

-   [Pułapki SNMP](/manual/config/items/itemtypes/snmptrap) nie są obsługiwane przez proxy w grupie proxy.
-   Kontrole zależne od konfiguracji zewnętrznej (np. skrypty dla [kontroli zewnętrznych](/manual/config/items/itemtypes/external) lub konfiguracja ODBC dla [kontroli bazy danych](/manual/config/items/itemtypes/odbc_checks)) muszą mieć taką samą konfigurację na wszystkich proxy w grupie proxy.
-   [Kontrole bazy danych](/manual/config/items/itemtypes/odbc_checks) wymagają rozszerzonych uprawnień do obiektu bazy danych/serwera.
-   Hosty VMware [monitorowane przez](/manual/config/hosts/host#configuration) grupę proxy będą losowo rozdzielane między proxy w grupie. Powoduje to, że każdy proxy buforuje wszystkie dane VMware, co skutkuje dodatkowym obciążeniem vCenter.
-   Hosty utworzone na podstawie danych autorejestracji z proxy w grupie proxy są ustawiane jako [monitorowane przez](/manual/config/hosts/host#configuration) tę grupę proxy. Jednak hosty utworzone na podstawie danych wykrywania sieci z proxy w grupie proxy są ustawiane jako [monitorowane przez](/manual/config/hosts/host#configuration) ten proxy.

[comment]: # ({/541e455e-9e4321d3})
