Równoważenie obciążenia proxy i wysoka dostępność
Przegląd
Proxy Zabbixa można organizować 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ść oznaczają automatyczne rozdzielanie hostów między proxy w obrębie grupy proxy:
- Jeśli proxy przejdzie w tryb offline, jego hosty zostaną przeniesione do innych proxy, co zapewnia 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, aby zrównoważyć obciążenie proxy.
Przenoszenie hostów działa tylko między proxy w grupie, które spełniają następujące warunki:
- Proxy działają w Zabbix 7.0 lub nowszym.
- Wersja proxy jest zgodna z wersją serwera Zabbix. Jeśli używany jest 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 tak, aby były monitorowane przez grupę proxy, a nie przez pojedyncze proxy.
Stan grupy proxy można monitorować za pomocą kontroli wewnętrznych przez dowolny host przypisany do grupy proxy. Aby jednak 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 pośrednictwem menedżera grup proxy, który stale monitoruje stan wszystkich proxy w każdej grupie proxy oraz ich rozkład hostów.
Wysoka dostępność proxy w obrębie grupy jest zapewniana przez przełączanie awaryjne proxy: gdy proxy przechodzi w tryb offline, jego hosty są natychmiast redystrybuowane do innych proxy. Występuje również równoważenie obciążenia proxy, ponieważ hosty są przypisywane ponownie do proxy z najmniejszą liczbą przypisanych hostów.
Dodatkowo równoważenie obciążenia proxy jest uruchamiane, gdy liczba hostów proxy różni się od średniej dla grupy o co najmniej 10 hostów oraz o współczynnik 2 (nadmiar hostów lub niedobór hostów). Jeśli brak równowagi utrzymuje się po okresie karencji (10 x opóźnienie przełączania awaryjnego), grupa proxy zostaje umieszczona w kolejce do redystrybucji hostów.
Menedżer grup proxy redystrybuuje hosty według następującej logiki:
- Oblicz średnią liczbę hostów na proxy.
- Dla proxy z nadmiarem hostów — przenieś nadmiarowe hosty do puli nieprzypisanych hostów 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 z największą liczbą hostów.
- Przenieś nieprzypisane hosty do proxy z najmniejszą liczbą hostów.
Przykłady redystrybucji hostów:
| Hosty na proxy | Średnia dla grupy | 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 frontend Zabbix:
- Przejdź do Administration > Proxy groups
- Kliknij Create proxy group

| Parameter | Description |
|---|---|
| Name | Nazwa grupy proxy. |
| Failover period | Okres w sekundach, w którym proxy w grupie proxy musi komunikować się z serwer Zabbix, aby zostać uznane za online (domyślnie: 1m; zakres: 10s-15m). Jeśli proxy nie skomunikuje się w tym czasie, jego stan zostanie zmieniony na Offline, a jego hosty zostaną natychmiast rozdzielone do innych proxy. Równoważenie obciążenia proxy rozpoczyna się po 10 x tym okresie. 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ż łączna 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 w postaci zwykłego tekstu, w zależności od uprawnień użytkownika do proxy) podczas edycji grupy z proxy. |
Konfigurowanie równoważenia obciążenia proxy
Aby korzystać z równoważenia obciążenia proxy, należy skonfigurować grupę proxy we frontendzie Zabbix (patrz wyżej) i upewnić się, że hosty są monitorowane przez grupę proxy, a nie pojedyncze proxy (można użyć masowej aktualizacji hostów, aby przenieść je z proxy do grupy proxy).
Jeśli używasz agent Zabbix, skonfiguruj go również w następujący sposób:
- Dla biernych kontroli wpisz wszystkie proxy z grupy proxy w parametrze Server.
- Dla aktywnych kontroli zaleca się wpisanie wszystkich proxy z grupy proxy lub serwera Zabbix w parametrze ServerActive. Należy pamiętać, że tylko agent Zabbix 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 aktywne kontrole 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 agenta Zabbix może prowadzić do utraty danych monitorowania, jeśli agent zostanie uruchomiony ponownie lub zrestartowany, gdy wskazane proxy jest 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.
Agent Zabbix musi również mieć możliwość połączenia się ze wszystkimi proxy w grupie proxy przez zaporę sieciową. W przeciwnym razie aktywne kontrole mogą się zawiesić lub zakończyć niepowodzeniem podczas przekierowania lub przełączania awaryjnego. Na przykład:
- Podczas aktywnych kontroli 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 obciążenia agenci mogą nigdy nie kontaktować się z zapasowymi proxy. Jeśli reguły zapory sieciowej zostały zmienione 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 hostów, aby przenieść hosty z proxy do grupy proxy).
- Poczekaj kilka sekund na aktualizację konfiguracji i rozdzielenie hostów między proxy w grupie proxy. Obserwuj zmianę, odświeżając listę hostów w Administration > Proxies.
Ważne uwagi
- Pułapki SNMP nie są obsługiwane przez proxy w grupie proxy.
- Kontrole zależne od zewnętrznej konfiguracji (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żde 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 to proxy.