Wydano Zabbix 4.2

Nasz zespół z wielką przyjemnością dzieli się wiadomością o udostępnieniu bezpłatnego systemu monitorowania o otwartym kodzie źródłowym Zabbix 4.2!

Wydano Zabbix 4.2

Czy wersja 4.2 jest odpowiedzią na główne pytanie dotyczące życia, wszechświata i monitoringu w ogóle? Przyjrzyjmy się!

Przypomnijmy, że Zabbix to uniwersalny system monitorowania wydajności i dostępności serwerów, sprzętu inżynieryjnego i sieciowego, aplikacji, baz danych, systemów wirtualizacji, kontenerów, usług IT i usług webowych.

Zabbix realizuje pełny cykl od gromadzenia danych, ich przetwarzania i przekształcania, analizowania otrzymanych danych, a skończywszy na przechowywaniu tych danych, wizualizacji i wysyłaniu alertów z wykorzystaniem reguł eskalacji. System zapewnia także elastyczne możliwości rozbudowy metod gromadzenia danych i alertów, a także możliwości automatyzacji poprzez API. Pojedynczy interfejs sieciowy umożliwia scentralizowane zarządzanie konfiguracjami monitorowania i dystrybucją praw dostępu dla różnych grup użytkowników. Kod projektu jest swobodnie rozpowszechniany na podstawie licencji GPLv2.

Zabbix 4.2 to nowa wersja inna niż LTS ze skróconym oficjalnym okresem wsparcia. Użytkownikom, którym zależy na długim cyklu życia oprogramowania, zalecamy korzystanie z wersji LTS, takich jak 3.0 i 4.0.

Porozmawiajmy więc o nowych funkcjach i głównych ulepszeniach w wersji 4.2:

Więcej oficjalnych platform

Wydano Zabbix 4.2
Oprócz istniejących oficjalnych pakietów oferujemy także nowe kompilacje dla:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI dla agenta Windows
  • Obrazy Dockera

Wbudowana obsługa Prometheusa do monitorowania aplikacji

Zabbix może zbierać dane na różne sposoby (push/pull) z różnych źródeł danych. Są to JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenci i skrypty oraz inne źródła. Teraz poznaj wsparcie Prometeusza!

Ściśle mówiąc, zbieranie danych od eksporterów Prometheusa było w przeszłości możliwe dzięki elementom danych typu HTTP/HTTPS i wyrażeniom regularnym.

Nowa wersja pozwala jednak na maksymalnie efektywną pracę z Prometheusem dzięki wbudowanej obsłudze języka zapytań PromQL. A wykorzystanie metryk zależnych pozwala na najefektywniejsze zbieranie i przetwarzanie danych: raz prosisz o dane, a my je sortujemy według niezbędnych metryk.

Wydano Zabbix 4.2
Uzyskiwanie wartości określonej metryki

Należy zauważyć, że odnajdywanie niskiego poziomu może teraz wykorzystywać zebrane dane do automatycznego generowania metryk. W tym przypadku Zabbix konwertuje odebrane dane do formatu JSON, co jest bardzo wygodne w obsłudze.

Wydano Zabbix 4.2
Znajdowanie metryk za pomocą filtra w języku zapytań PromQL

W tej chwili jest ich więcej 300 integracji i receptur monitorowania usługi i aplikacje stron trzecich korzystające z Zabbix. Obsługa Prometheusa pozwoli Ci dodać cały zestaw aplikacji, które mają oficjalnych lub wspieranych przez społeczność eksporterów Prometheusa. To monitorowanie popularnych usług, kontenerów i zasobów chmurowych.

Skuteczne monitorowanie wysokiej częstotliwości

Czy chcemy jak najszybciej wykryć problemy? Oczywiście, bez wątpienia! Często takie podejście powoduje, że musimy zbyt często odpytywać urządzenia i zbierać dane, co powoduje większe obciążenie systemu monitorowania. Jak tego uniknąć?

W regułach przetwarzania wstępnego zaimplementowaliśmy mechanizm dławiący. Ograniczanie w istocie daje nam możliwość pominięcia identycznych wartości.

Załóżmy, że monitorujemy stan aplikacji krytycznej. Co sekundę sprawdzamy, czy nasza aplikacja działa, czy nie. W tym samym czasie Zabbix otrzymuje ciągły strumień danych od 1 (działa) i 0 (nie działa). Na przykład: 1111111111110001111111111111…

Gdy z naszą aplikacją wszystko jest w porządku, wówczas Zabbix otrzymuje napływ tylko takich. Czy trzeba je przetwarzać? Generalnie nie, bo interesuje nas tylko zmiana stanu aplikacji, nie chcemy gromadzić i przechowywać tak dużej ilości danych. Zatem ograniczanie przepustowości pozwala pominąć wartość, jeśli jest identyczna z poprzednią. W rezultacie otrzymamy jedynie dane o zmianie stanu, np. 01010101... To w zupełności wystarczająca informacja, aby wykryć problemy!

Zabbix po prostu ignoruje brakujące wartości, nie są one rejestrowane w historii i nie wpływają w żaden sposób na wyzwalacze. Z punktu widzenia Zabbixa nie ma brakujących wartości.

Wydano Zabbix 4.2
Ignoruj ​​zduplikowane wartości

Świetnie! Możemy teraz bardzo często odpytywać urządzenia i błyskawicznie wykrywać problemy, bez przechowywania niepotrzebnych informacji w bazie danych.

A co z grafiką? Będą puste z powodu braku danych! A jak możesz sprawdzić, czy Zabbix zbiera dane, jeśli brakuje większości z nich?

O tym też pomyśleliśmy! Zabbix oferuje inny rodzaj dławienia, dławienie za pomocą pulsu.

Wydano Zabbix 4.2
Raz na minutę sprawdzamy czy metryka żyje

W takim przypadku Zabbix, pomimo powtarzającego się przepływu danych, będzie przechowywał co najmniej jedną wartość w określonym przedziale czasu. Jeśli dane są zbierane raz na sekundę, a interwał jest ustawiony na jedną minutę, Zabbix zamieni co drugi strumień jednostek na strumień co minutę. Łatwo zauważyć, że prowadzi to do 60-krotnej kompresji odbieranych danych.

Teraz mamy pewność, że dane są zbierane, funkcja wyzwalacza nodata() działa, a z wykresami wszystko jest w porządku!

Walidacja zebranych danych i obsługa błędów

Nikt z nas nie chce zbierać błędnych i nierzetelnych danych. Na przykład wiemy, że czujnik temperatury powinien zwracać dane w zakresie od 0°C do 100°C, a każdą inną wartość należy uznać za fałszywą i/lub zignorować.

Teraz jest to możliwe dzięki regułom walidacji danych wbudowanym w przetwarzanie wstępne pod kątem zgodności lub braku zgodności z wyrażeniami regularnymi, zakresami wartości, JSONPath i XMLPath.

Teraz możemy kontrolować reakcję na błąd. Jeśli temperatura jest poza zakresem, możemy po prostu zignorować taką wartość, ustawić wartość domyślną (np. 0°C) lub zdefiniować własny komunikat o błędzie, np. „Czujnik uszkodzony” lub „Wymień baterię”.

Wydano Zabbix 4.2
Temperatura powinna wynosić od 0 do 100, resztę zignoruj

Dobrym przykładem zastosowania walidacji jest możliwość sprawdzenia danych wejściowych pod kątem obecności komunikatu o błędzie i ustawienia tego błędu dla całej metryki. Jest to bardzo przydatna funkcjonalność podczas pobierania danych z zewnętrznych API.

Dowolna transformacja danych przy użyciu JavaScript

Jeśli wbudowane reguły przetwarzania wstępnego nie były dla nas wystarczające, oferujemy teraz pełną swobodę korzystania z niestandardowych skryptów JavaScript!

Wydano Zabbix 4.2
Wystarczy jedna linia kodu, aby przekonwertować stopnie Fahrenheita na stopnie Celsjusza

Otwiera to nieograniczone możliwości przetwarzania przychodzących danych. Praktyczną zaletą tej funkcjonalności jest to, że nie potrzebujemy już zewnętrznych skryptów, których używaliśmy do manipulacji danymi. Teraz wszystko to można zrobić za pomocą JavaScript.

Teraz możliwa jest transformacja danych, agregacja, filtry, operacje arytmetyczne i logiczne i wiele więcej!

Wydano Zabbix 4.2
Wyodrębnianie przydatnych informacji z wyjścia Apache mod_status!

Testowanie wstępnego przetwarzania

Teraz nie musimy zgadywać, jak działają nasze złożone skrypty przetwarzania wstępnego. Istnieje teraz wygodny sposób sprawdzenia, czy przetwarzanie wstępne działa poprawnie, bezpośrednio z interfejsu!

Wydano Zabbix 4.2

Przetwarzamy miliony metryk na sekundę!

Przed wersją Zabbix 4.2 przetwarzanie wstępne było obsługiwane wyłącznie przez serwer Zabbix, co ograniczało możliwość używania serwerów proxy do dystrybucji obciążenia.

Począwszy od Zabbix 4.2, uzyskujemy niezwykle wydajne skalowanie obciążenia dzięki obsłudze wstępnego przetwarzania po stronie proxy. Teraz robią to proxy!

Wydano Zabbix 4.2

W połączeniu z ograniczaniem przepustowości podejście to umożliwia monitorowanie na dużą skalę z dużą częstotliwością i miliony kontroli na sekundę, bez obciążania centralnego serwera Zabbix. Serwery proxy przetwarzają gigantyczne ilości danych, podczas gdy tylko niewielka ich część dociera do serwera Zabbix z powodu dławienia, o jeden lub dwa rzędy wielkości mniej.

Łatwiejsze wykrywanie niskiego poziomu

Przypomnijmy, że wykrywanie niskiego poziomu (LLD) to bardzo potężny mechanizm automatycznego wykrywania wszelkiego rodzaju zasobów monitorujących (systemów plików, procesów, aplikacji, usług itp.) i automatycznego tworzenia na ich podstawie elementów danych, wyzwalaczy, węzłów sieciowych i innych obiekty. Oszczędza to niewiarygodnie czas, upraszcza konfigurację i umożliwia używanie jednego szablonu na różnych hostach z różnymi zasobami monitorowania.

Wykrywanie niskiego poziomu wymagało specjalnie sformatowanego formatu JSON jako danych wejściowych. To tyle, to się więcej nie powtórzy!

Zabbix 4.2 umożliwia wykrywanie niskiego poziomu (LLD) wykorzystanie dowolnych danych w formacie JSON. Dlaczego to jest ważne? Dzięki temu można komunikować się np. z zewnętrznymi API bez uciekania się do skryptów i wykorzystywać otrzymane informacje do automatycznego tworzenia hostów, elementów danych i wyzwalaczy.

W połączeniu z obsługą JavaScript stwarza to fantastyczne możliwości tworzenia szablonów do pracy z różnymi źródłami danych, takimi jak na przykład API chmury, API aplikacji, dane w formatach XML, CSV i tak dalej.

Wydano Zabbix 4.2
Powiązanie JSON z informacją o procesach z LLD

Możliwości są naprawdę nieograniczone!

Obsługa TimescaleDB

Wydano Zabbix 4.2

Co to jest TimescaleDB? Jest to zwykły PostgreSQL plus moduł rozszerzeń opracowany przez zespół TimescaleDB. TimescaleDB zapewnia lepszą wydajność dzięki wydajniejszym algorytmom i strukturze danych.

Dodatkowo kolejną zaletą TimescaleDB jest automatyczne partycjonowanie tabel z historią. TimescaleDB jest szybki i łatwy w utrzymaniu! Chociaż powinienem zauważyć, że nasz zespół nie dokonał jeszcze poważnego porównania wydajności ze zwykłym PostgreSQL.

W tej chwili TimescaleDB jest produktem dość młodym i dynamicznie rozwijającym się. Używaj ostrożnie!

Łatwe zarządzanie tagami

Jeśli wcześniej tagami można było zarządzać tylko na poziomie wyzwalacza, teraz zarządzanie tagami jest znacznie bardziej elastyczne. Zabbix obsługuje tagi dla szablonów i hostów!

Wszystkie wykryte problemy otrzymują tagi nie tylko wyzwalacza, ale także hosta, a także szablony tego hosta.

Wydano Zabbix 4.2
Definiowanie tagów dla węzła sieci

Bardziej elastyczna automatyczna rejestracja

Zabbix 4.2 umożliwia filtrowanie hostów według nazwy za pomocą wyrażeń regularnych. Dzięki temu możliwe jest tworzenie różnych scenariuszy detekcji dla różnych grup węzłów sieci. Jest to szczególnie wygodne, jeśli stosujemy złożone reguły nazewnictwa urządzeń.

Bardziej elastyczne wykrywanie sieci

Kolejne ulepszenie dotyczy nazewnictwa węzłów sieci. Możliwe jest teraz zarządzanie nazwami urządzeń podczas wykrywania sieci i uzyskiwanie nazwy urządzenia na podstawie wartości metryki.

Jest to bardzo potrzebna funkcjonalność, zwłaszcza przy wykrywaniu sieci za pomocą SNMP i agenta Zabbix.

Wydano Zabbix 4.2
Automatycznie przypisz nazwę hosta lokalnego do widocznej nazwy

Sprawdzenie funkcjonalności metod powiadamiania

Teraz możesz wysłać do siebie wiadomość testową bezpośrednio z interfejsu WWW i sprawdzić, czy metoda powiadamiania działa. Ta funkcjonalność jest szczególnie przydatna do testowania skryptów łączących Zabbix z różnymi systemami alertów, systemami zadań i innymi zewnętrznymi programami i interfejsami API.

Wydano Zabbix 4.2

Zdalne monitorowanie komponentów infrastruktury Zabbix

Możliwe jest teraz zdalne monitorowanie wewnętrznych wskaźników serwera i proxy Zabbix (wskaźniki wydajności i stan komponentów Zabbix).

Po co to jest? Funkcjonalność pozwala na monitorowanie wewnętrznych metryk serwerów i proxy z zewnątrz, pozwala na szybkie wykrywanie i powiadamianie o problemach nawet jeśli same komponenty są przeciążone lub np. na proxy znajduje się duża ilość niewysłanych danych.

Obsługa formatu HTML dla wiadomości e-mail

Teraz nie ograniczamy się do zwykłego tekstu i możemy tworzyć piękne wiadomości e-mail dzięki obsłudze formatu HTML. Czas nauczyć się HTML + CSS!

Wydano Zabbix 4.2
Wiadomości są łatwiejsze do zrozumienia nawet przy minimalnym użyciu HTML

Dostęp do systemów zewnętrznych z kart sieciowych

Dostępna jest obsługa całego zestawu nowych makr w niestandardowych adresach URL w celu lepszej integracji map z systemami zewnętrznymi. Dzięki temu możesz otworzyć np. zgłoszenie w systemie zadań jednym lub dwoma kliknięciami na ikonę węzła sieci.

Wydano Zabbix 4.2
Otwórz zgłoszenie w Jira jednym kliknięciem

Reguła wykrywania może być zależnym elementem danych

Dlaczego jest to konieczne – pytasz. Dzięki temu podstawowe dane metryczne mogą być używane zarówno do wykrywania, jak i bezpośredniego gromadzenia danych. Przykładowo, w przypadku zbierania danych od eksportera Prometheusa, Zabbix zrealizuje jedno żądanie HTTP i natychmiast wykorzysta otrzymane informacje do wszystkich zależnych elementów danych: wartości metryk i reguł wykrywania niskiego poziomu.

Nowy sposób wizualizacji problemów na mapach

Na mapach dostępna jest teraz obsługa animowanych obrazów GIF w celu bardziej widocznej wizualizacji problemów.

Wydano Zabbix 4.2
Problematyczne urządzenia stały się bardziej widoczne

Wyodrębnianie danych z nagłówków HTTP w monitoringu sieci

W Web Monitoringu dodano możliwość selekcji danych z odebranego nagłówka HTTP.

Dzięki temu możesz tworzyć wieloetapowe scenariusze monitorowania sieci lub monitorowania API stron trzecich przy użyciu tokena autoryzacyjnego uzyskanego w jednym z kroków.

Wydano Zabbix 4.2
Wyodrębnianie AuthID z nagłówka HTTP

Zabbix Sender wykorzystuje wszystkie adresy IP

Zabbix Sender wysyła teraz dane na wszystkie adresy IP z parametru ServerActive w pliku konfiguracyjnym agenta.

Wydano Zabbix 4.2

Wygodny nowy filtr w konfiguracji wyzwalacza

Strona konfiguracji wyzwalacza posiada teraz rozszerzony filtr umożliwiający szybki i wygodny wybór wyzwalaczy na podstawie określonych kryteriów.

Wydano Zabbix 4.2
Wybór wyzwalaczy związanych z usługą K8S

Pokaż dokładny czas

Tutaj wszystko jest proste, teraz Zabbix pokazuje dokładny czas po najechaniu myszką na wykres.

Wydano Zabbix 4.2

Inne innowacje

  • Zaimplementowano bardziej przewidywalny algorytm zmiany kolejności widżetów w dashboardzie
  • Możliwość masowej zmiany parametrów prototypów elementów danych
  • Obsługa protokołu IPv6 przy sprawdzaniu DNS: „net.dns” i „new.dns.record”
  • Dodano parametr „pomiń” dla kontroli „vmware.eventlog”.
  • Błąd wykonania kroku przetwarzania wstępnego zawiera numer kroku

Jak dokonać aktualizacji?

Aby dokonać aktualizacji z wcześniejszych wersji, wystarczy dokonać instalacji nowe pliki binarne (serwery i proxy) oraz nowy interfejs. Zabbix automatycznie zaktualizuje bazę danych. Nie ma potrzeby instalowania nowych agentów.

Organizujemy bezpłatne seminaria internetowe dla tych, którzy chcą dowiedzieć się więcej o Zabbix 4.2 i mieć możliwość zadawania pytań zespołowi Zabbix. Zapisać się!

Nie zapomnij o popularnych Kanał telegramowy Społeczność Zabbix, w której zawsze możesz uzyskać porady i odpowiedzi na swoje pytania w języku rosyjskim od bardziej doświadczonych kolegów, a jeśli masz szczęście, od samych programistów Zabbix. Polecany dla początkujących grupa dla początkujących.

Przydatne linki

- Informacje o wersji
- Notatki dotyczące aktualizacji
- Oryginalny artykuł

Źródło: www.habr.com

Dodaj komentarz