1 Proxy

Przegląd

Proxy Zabbix może zbierać dane o wydajności i dostępności w imieniu serwera Zabbix. W ten sposób proxy może przejąć część obciążenia związanego ze zbieraniem danych i odciążyć serwer Zabbix.

Ponadto użycie proxy jest najprostszym sposobem wdrożenia monitorowania scentralizowanego i rozproszonego, gdy wszystkie agenty i proxy raportują do jednego serwera Zabbix, a wszystkie dane są zbierane centralnie.

Proxy Zabbix może być używany do:

  • Monitorowania zdalnych lokalizacji
  • Monitorowania lokalizacji z zawodną komunikacją
  • Odciążenia serwera Zabbix podczas monitorowania tysięcy urządzeń
  • Uproszczenia utrzymania monitorowania rozproszonego

Proxy wymaga tylko jednego połączenia TCP z serwerem Zabbix. Dzięki temu łatwiej jest ominąć zaporę sieciową, ponieważ trzeba skonfigurować tylko jedną regułę zapory.

Proxy Zabbix musi używać oddzielnej bazy danych. Wskazanie bazy danych serwera Zabbix spowoduje uszkodzenie konfiguracji.

Wszystkie dane zebrane przez proxy są przechowywane lokalnie przed przesłaniem ich do serwera. Dzięki temu żadne dane nie zostaną utracone z powodu tymczasowych problemów z komunikacją z serwerem. Parametry ProxyLocalBuffer i ProxyOfflineBuffer w pliku konfiguracyjnym proxy określają, jak długo dane są przechowywane lokalnie.

Może się zdarzyć, że proxy, który otrzymuje najnowsze zmiany konfiguracji bezpośrednio z bazy danych serwera Zabbix, ma bardziej aktualną konfigurację niż serwer Zabbix, którego konfiguracja może nie być aktualizowana tak szybko ze względu na wartość CacheUpdateFrequency. W rezultacie proxy może rozpocząć zbieranie danych i wysyłać je do serwera Zabbix, który te dane zignoruje.

Proxy Zabbix jest kolektorem danych. Nie oblicza wyzwalaczy, nie przetwarza zdarzeń ani nie wysyła alertów. Aby uzyskać przegląd funkcjonalności proxy, zapoznaj się z poniższą tabelą:

Funkcja Obsługiwane przez proxy
Pozycje
Kontrole agenta Zabbix Tak
Kontrole agenta Zabbix (aktywne) Tak 1
Kontrole proste Tak
Pozycje trappera Tak
Kontrole SNMP Tak
Pułapki SNMP Tak
Kontrole IPMI Tak
Kontrole JMX Tak
Monitorowanie plików dziennika Tak
Kontrole wewnętrzne Tak
Kontrole SSH Tak
Kontrole Telnet Tak
Kontrole zewnętrzne Tak
Pozycje zależne Tak
Pozycje skryptowe Tak
Pozycje przeglądarkowe Tak
Wbudowane monitorowanie WWW Tak
Wstępne przetwarzanie wartości pozycji Tak
Wykrywanie sieci Tak
Autorejestracja aktywnego agenta Tak
Odkrywanie niskiego poziomu Tak 2
Polecenia zdalne Tak
Obliczanie wyzwalaczy Nie
Przetwarzanie zdarzeń Nie
Korelacja zdarzeń Nie
Wysyłanie alertów Nie

[1] Aby mieć pewność, że agent pyta proxy (a nie serwer) o aktywne kontrole, proxy musi być wymieniony w parametrze ServerActive w pliku konfiguracyjnym agenta.
[2] W przypadku LLD proxy Zabbix tylko zbiera i wstępnie przetwarza dane, a następnie wysyła je do serwera Zabbix w celu dalszego przetwarzania.

Ochrona przed przeciążeniem

Jeśli serwer Zabbix był przez pewien czas niedostępny, a proxy zgromadziły dużo danych, po uruchomieniu serwera może dojść do jego przeciążenia (wykorzystanie cache historii przez pewien czas utrzymuje się na poziomie 95-100%). Takie przeciążenie może skutkować spadkiem wydajności, przez co kontrole są przetwarzane wolniej, niż powinny. Aby uniknąć problemów wynikających z przeciążenia cache historii, zaimplementowano mechanizm ochrony przed takim scenariuszem.

Gdy cache historii serwera Zabbix jest pełny, dostęp do zapisu w cache historii jest ograniczany, co wstrzymuje procesy zbierania danych przez serwer. Najczęstszy przypadek przeciążenia cache historii występuje po przestoju serwera, gdy proxy przesyłają zebrane dane. Aby temu zapobiec, dodano ograniczanie proxy (obecnie nie można go wyłączyć).

Gdy wykorzystanie cache historii osiąga 80%, serwer Zabbix przechodzi w tryb ograniczania. W trybie ograniczania serwer akceptuje dane z proxy tylko wtedy, gdy wykorzystanie cache historii spadnie poniżej 60%, rotacyjnie wybierając akceptowane proxy. Gdy wykorzystanie cache historii spadnie poniżej 20%, serwer przełącza się z powrotem do trybu normalnego.

Dodatkowo, w trybie normalnym serwer Zabbix ogranicza poszczególne proxy wysyłające bardzo duże pakiety (ponad 10 000 rekordów), jeśli wykorzystanie cache historii przekracza 60%. Decyzja ta jest podejmowana w momencie, gdy serwer ocenia przesyłanie danych przez proxy, dlatego nie zawsze może być natychmiast widoczna na wykresach wykorzystania cache historii (wewnętrzna pozycja zabbix[wcache,history,pused] i jej interwał aktualizacji mogą nie uchwycić krótkotrwałych skoków).

Ten tryb ograniczania będzie trwał do momentu, gdy wykorzystanie cache ponownie osiągnie 80%, spadnie do 20% albo lista ograniczania będzie pusta. W pierwszym przypadku serwer ponownie przestanie akceptować dane z proxy. W pozostałych dwóch przypadkach serwer zacznie działać normalnie, akceptując dane ze wszystkich proxy.

Powyższe informacje można zilustrować w poniższej tabeli:

Wykorzystanie cache
zapisu historii
Tryb serwera Zabbix Działanie serwera Zabbix
Osiąga 80% Oczekiwanie Przestaje akceptować dane z proxy, ale utrzymuje listę ograniczania (uporządkowaną listę proxy, z którymi należy skontaktować się później).
Osiąga 60% Normalny, ale gotowy do ograniczania Może odrzucać bardzo duże przesyłania z proxy (ponad 10 tys. rekordów) podczas podejmowania decyzji o akceptacji danych; nadal akceptuje inne dane z proxy.
Spada do 20% Normalny Usuwa listę ograniczania i zaczyna normalnie akceptować dane z proxy.

Możesz użyć wewnętrznej pozycji zabbix[wcache,history,pused], aby powiązać to zachowanie serwera Zabbix z metryką.

Konfiguracja

Po zainstalowaniu i skonfigurowaniu proxy nadszedł czas, aby skonfigurować go we frontendzie Zabbix.

Dodawanie proxy

Aby skonfigurować proxy w frontend Zabbix:

  • Przejdź do: Administracja > Proxy
  • Kliknij Utwórz proxy

Parametr Opis
Nazwa proxy Wprowadź nazwę proxy. Musi to być taka sama nazwa jak w parametrze Hostname w pliku konfiguracyjnym proxy.
Grupa proxy Wybierz jedną grupę proxy dla równoważenia obciążenia/wysokiej dostępności proxy.
Adres dla aktywnych agentów Wprowadź adres, z którym mają się łączyć monitorowane aktywne agenty lub sendery. Obsługiwane tylko dla agentów Zabbix 7.0 lub nowszych.
Ten adres jest używany do łączenia zarówno z aktywnymi, jak i pasywnymi proxy. To pole jest dostępne tylko wtedy, gdy w polu Grupa proxy wybrano grupę proxy.
Adres Adres IP/nazwa DNS, z którym należy się połączyć.
Port Numer portu TCP (domyślnie 10051), z którym należy się połączyć. Obsługiwane są makra użytkownika.
Tryb proxy Wybierz tryb proxy.
Aktywny — proxy połączy się z serwer Zabbix i zażąda danych konfiguracyjnych
Pasywny — serwer Zabbix łączy się z proxy
Zwróć uwagę, że bez szyfrowanej komunikacji dane konfiguracyjne proxy (wrażliwe) mogą stać się dostępne dla stron mających dostęp do portu trappera serwer Zabbix podczas korzystania z aktywnego proxy. Jest to możliwe, ponieważ każdy może podszyć się pod aktywne proxy i zażądać danych konfiguracyjnych, jeśli nie odbywa się uwierzytelnianie lub adresy proxy nie są ograniczone w polu Adres proxy.
Adres proxy Jeśli określono, żądania aktywnego proxy są akceptowane tylko z tej listy adresów IP rozdzielonych przecinkami, opcjonalnie w notacji CIDR, lub nazw DNS aktywnego proxy Zabbix.
To pole jest dostępne tylko wtedy, gdy w polu Tryb proxy wybrano aktywne proxy. Makra nie są obsługiwane.
Interfejs Wprowadź szczegóły interfejsu dla pasywnego proxy.
To pole jest dostępne tylko wtedy, gdy w polu Tryb proxy wybrano pasywne proxy.
Adres Adres IP/nazwa DNS pasywnego proxy.
Port Numer portu TCP pasywnego proxy (domyślnie 10051). Obsługiwane są makra użytkownika.
Opis Wprowadź opis proxy.

Karta Szyfrowanie umożliwia wymaganie szyfrowanych połączeń z proxy.

Parametr Opis
Połączenia do proxy Sposób, w jaki serwer łączy się z pasywnym proxy: bez szyfrowania (domyślnie), przy użyciu PSK (klucza współdzielonego) lub certyfikatu.
Połączenia z proxy Wybierz, jaki typ połączeń jest dozwolony z aktywnego proxy. Jednocześnie można wybrać kilka typów połączeń (przydatne do testowania i przełączania na inny typ połączenia). Domyślnie ustawione jest „Bez szyfrowania”.
Wystawca Dozwolony wystawca certyfikatu. Certyfikat jest najpierw weryfikowany przez CA (urząd certyfikacji). Jeśli jest prawidłowy i podpisany przez CA, pole Wystawca może zostać użyte do dalszego ograniczenia dozwolonego CA. To pole jest opcjonalne i przeznaczone do użycia, jeśli instalacja Zabbix korzysta z certyfikatów od wielu CA.
Temat Dozwolony temat certyfikatu. Certyfikat jest najpierw weryfikowany przez CA. Jeśli jest prawidłowy i podpisany przez CA, pole Temat może zostać użyte do dopuszczenia tylko jednej wartości ciągu Temat. Jeśli to pole jest puste, akceptowany jest dowolny prawidłowy certyfikat podpisany przez skonfigurowany CA.
Tożsamość PSK Ciąg identyfikujący klucz współdzielony.
Nie umieszczaj poufnych informacji w tożsamości PSK, ponieważ jest ona przesyłana przez sieć bez szyfrowania, aby poinformować odbiorcę, którego PSK użyć.
PSK Klucz współdzielony (ciąg szesnastkowy). Maksymalna długość: 512 cyfr szesnastkowych (256-bajtowy PSK), jeśli Zabbix używa biblioteki GnuTLS lub OpenSSL, 64 cyfry szesnastkowe (32-bajtowy PSK), jeśli Zabbix używa biblioteki mbed TLS (PolarSSL). Przykład: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

Karta Limity czasu umożliwia zastąpienie globalnych limitów czasu dla typów pozycji, które to obsługują.

Parametr Opis
Limity czasu dla typów pozycji Ustaw limit czasu pozycji (na podstawie jej typu):
Globalne — użyj globalnego limitu czasu (wyświetlanego w wyszarzonym polu Limit czasu dla każdego typu pozycji);
Zastąp — ustaw niestandardowy limit czasu (w polu Limit czasu dla każdego typu pozycji). Dozwolony zakres: 1 - 600 s (domyślnie: dziedziczone z globalnych limitów czasu). Obsługiwane są sufiksy czasu, np. 30s, 1m, oraz makra użytkownika.

Kliknięcie odnośnika Globalne limity czasu umożliwia skonfigurowanie globalnych limitów czasu. Zwróć uwagę, że odnośnik Globalne limity czasu jest widoczny tylko dla użytkowników typu Super admin z uprawnieniami do sekcji frontend Administracja > Ogólne.

Zwróć uwagę, że chociaż limity czasu na poziomie proxy zastępują limity globalne, same zostaną zastąpione przez indywidualne limity czasu pozycji, jeśli zostały skonfigurowane.

Jeśli główna wersja proxy nie jest zgodna z główną wersją serwer, obok Limitów czasu dla typów pozycji zostanie wyświetlona ikona z komunikatem po najechaniu „Limity czasu wyłączone, ponieważ wersje proxy i serwer nie są zgodne”. W takich przypadkach proxy będzie używać parametru Timeout z pliku konfiguracyjnego proxy.

Formularz edycji istniejącego proxy ma następujące dodatkowe przyciski:

  • Odśwież konfigurację — odśwież konfigurację proxy
  • Klonuj — utwórz nowe proxy na podstawie właściwości istniejącego proxy
  • Usuń — usuń proxy
Konfiguracja hosta

Możesz określić, że dany host ma być monitorowany przez proxy lub grupę proxy w formularzu konfiguracji hosta, używając pola Monitored by.

Masowa aktualizacja hostów to kolejny sposób określenia, że hosty mają być monitorowane przez proxy lub grupę proxy.