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ą:

  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

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:

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

  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, 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.
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.