2 Równoważenie obciążenia proxy i wysoka dostępność
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 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.
- Hosty są skonfigurowane do monitorowania przez grupę proxy, a nie przez pojedyncze proxy.
Stan grupy proxy można monitorować za pomocą sprawdzeń wewnętrznych 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.
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, 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), grupa proxy jest umieszczana w kolejce do redystrybucji hostów.
Menedżer grup proxy redystrybuuje hosty zgodnie z następującą logiką:
- Oblicz średnią liczbę hostów na proxy.
- Dla proxy z nadmiarem hostów — przenieś nadmiarowe hosty do nieprzypisanej puli proxy.
- Dla proxy z niedoborem hostów — oblicz, ile hostów jest potrzebnych do osiągnięcia równowagi.
- Usuń wymaganą liczbę hostów z proxy mających najwięcej hostów.
- 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 |
Posiadanie mniej niż 10 hostów monitorowanych przez grupę proxy może prowadzić do nierównomiernego rozkładu hostów między proxy w grupie.
Konfigurowanie grupy proxy
Aby skonfigurować grupę proxy w Zabbix frontend:
- Przejdź do Administration > Proxy groups
- Kliknij Create proxy group

| 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ł uznawany za online (domyślnie: 1m; zakres: 10s–15m). Jeśli proxy nie komunikuje się w tym okresie, stan proxy zmienia się na Offline, a jego hosty są natychmiast redystrybuowane do innych proxy. Równoważenie obciążenia proxy rozpoczyna się po 10 x tego okresu. Obsługuje sufiksy czasu (np. 30s, 1m) oraz makra użytkownika. |
| Minimum number of proxies | Minimalna liczba proxy online wymagana do utrzymania grupy proxy online (domyślnie: 1; zakres: 1–1000). Obsługuje makra użytkownika. 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, jeśli jakiekolwiek proxy ulegnie awarii. 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. |
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 grupę proxy, a nie przez pojedyncze proxy (można użyć masowej aktualizacji 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 należy wymienić wszystkie proxy z grupy proxy w parametrze Server.
- Dla kontroli aktywnych zaleca się wymienienie wszystkich proxy z grupy proxy lub serwera Zabbix w parametrze 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.
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.
Podczas korzystania z Zabbix 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, 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ść.
Testowanie równoważenia obciążenia proxy
Aby przetestować równoważenie obciążenia proxy:
- Skonfiguruj grupę proxy.
- Upewnij się, że grupa proxy ma stan online.
- Upewnij się, że hosty są monitorowane przez grupę proxy, a nie przez pojedyncze proxy (możesz użyć masowej aktualizacji, aby przenieść hosty z proxy do grupy proxy).
- 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.
Ważne uwagi
- Pułapki SNMP nie są obsługiwane przez proxy w grupie proxy.
- Kontrole zależne od konfiguracji zewnętrznej (np. skrypty dla kontroli zewnętrznych lub konfiguracja ODBC dla kontroli bazy danych) muszą mieć taką samą konfigurację na wszystkich proxy w grupie proxy.
- Kontrole bazy danych wymagają rozszerzonych uprawnień do obiektu bazy danych/serwera.
- Hosty VMware monitorowane przez 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 tę grupę proxy. Jednak hosty utworzone na podstawie danych wykrywania sieci z proxy w grupie proxy są ustawiane jako monitorowane przez ten proxy.