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:

  1. Oblicz średnią liczbę hostów na proxy.
  2. Dla proxy z nadmiarem hostów — przenieś nadmiarowe hosty do puli nieprzypisanych hostów 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 z największą liczbą hostów.
  5. 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:

  1. Przejdź do Administration > Proxy groups
  2. 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:

  1. Skonfiguruj grupę proxy.
  2. Upewnij się, że grupa proxy ma stan online.
  3. 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).
  4. 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.