Zabbix 5.4 – co nowego?

Print Friendly, PDF & Email

Ostatnio wydana nowa wersja Zabbix 5.4 zawiera kilka nowości, które chciałbym opisać w tym wpisie.

Raportowanie i wizualizacja Zabbix 5.4


Ujednolicenie ekranów


Zabbix 5.2 dodał możliwość predefiniowane widoków dotyczące problemów, które zbiera. Wchodząc w Monitoring > Problems, możesz tworzyć różne widoki w oparciu o różne opcje filtrowania, co pozwala filtrować problemy według określonych kryteriów, a następnie zapisać ten filtr jako oddzielny widok. Możesz łatwo przełączać się między widokami za pomocą jednego kliknięcia, na przykład między All problems‘, ‘Services‘ (tj. Problemami związanymi z usługami) lub  ‘High severity problems‘.

Panel problemów Zabbix

Zabbix 5.4 ujednolica opcje Screens oraz Dashboard. W Zabbix 5.2 stanowiły one oddzielne opcje w menu Dashboard i Screens. W Zabbix 5.4 te dwie opcje połączyły się i obecnie dostępne są w Dashboard.

Połączenie Screens z Dashboard

Ta zmiana dotyczyła ekranów globalnych, a także ekranów lokalnych, które zawsze były dostępne na poziomie szablonu. Teraz pojawiły się kokpity dla szablonów w Konfiguracja > Szablony.

Mając szablon do monitorowania wydajności Nginx, więc w Configuration > Templates znajduje się dashborad „Nginx performance”. W Monitoring > Hosts znajdują się dwa dashboardy dla hosta (w tym przykładzie cdn.example.com) — „Nginx performance” i drugi szablon, który mógł pochodzić z innego szablonu.

Monitorowanie Templates/Hosts

Klikając Dashboard dla tego konkretnego hosta, możesz przejść do widoku Dashboard tego hosta.

Dashborad dla hosta

Umożliwia przełączenie pomiędzy „Nginx performance” i „System performance”, aby zobaczyć niektóre metryki specyficzne dla systemu Linux, takie jak obciążenie procesora, operacje we/wy dysku etc.

Wielostronicowe pulpity nawigacyjne

Wcześniejsze wersje Zabbix udostępniały pokazy slajdów lub pokazy slajdów na ekranie.Po przeniesieniu tych funkcjonalności do Dashboardów, nowa wersja wprowadza wielostronicowe Dashboardy – zawierające kilka stron.

Dashboardy wielostronicowe

W poniższym przykładzie na pulpicie nawigacyjnym „Server performance” widzisz metryki: pamięci procesora, macierz, wykresy związane z wydajnością sieci lub dowolną inną stronę, którą można utworzyć, klikając Dodaj stronę (Add Page) i definiując właściwości Dashboard. Wszystkie dostępne strony pojawią się w górnej części Dashboardu, dzięki czemu łatwiej będzie można się pomiędzy nimi przełączyć. Pokaz slajdów z parametrami możesz uruchomić za pomocą elementów sterujących pokazem slajdów dostępnych w trybie pełnoekranowym.

Harmonogram raportów PDF

Zabbix w wersji 5.4 otrzymał możliwość skonfigurowania raportów PDF, których generowanie oraz wysyłkę możesz zaplanować. Na adres email świeżo wygenerowane raporty zostaną przesłane.

Harmonogram raportów PDF

Nowa funkcjonalność pozwala na:

  • Zabbix przechowuje konfiguracje raportów, które użytkownicy mają dostępne do użycia.
  • Każdy dashboard można przekonwertować na raport PDF i wysłać na skrzynkę e-mail.
    Funkcja ta jest dostępna dla każdego, chyba, że została ograniczona poprzez przypisanie specjalnej roli dla użytkownika.
  • Możesz wymusić generowanie konkretnego raportu co określony czas. Wszystko czego potrzebujesz to wybranie okresu dla raportu, a Zabbix wygeneruje go i wyśle e-mailem na wskazany adres email. Możesz także wybrać otrzymywanie raportów codziennie, co miesiąc lub co rok.
Automatyczne generowanie raportów Zabbix

Istnieje wiele innych parametrów konfiguracyjnych raportów PDF. Jednak najważniejszą zaletą raportowania PDF jest to, że ta funkcja jest dostępna Dashboardów. Wystarczy kliknąć na Dashboard w sekcji Monitoring > Dashboards i wybrać okres raportowania PDF.

Dostęp do raportów z Dashboard

Większa wydajność i prostota

Wielu użytkowników czekało na nową wersję, ponieważ oczekiwali na kilka zapowiadanych w niej funkcji.

Tagi dla item’ów

Zabbix obsługuje już znaczniki dla prawie wszystkich podstawowych obiektów, takich jak wyzwalacze, hosty, prototypy hostów i szablony. Tagi są wszędzie. Zabbix 5.4 wprowadza znaczniki (tagi) dla pozycji (metryki).

Zabbix używa teraz znacznie bardziej elastycznej koncepcji nazwanych tagami. W ten sposób możesz mieć tagi dostarczające informacji i wartości, mając jednocześnie tyle tagów, ile chcesz, co jest znacznie bardziej elastyczne w porównaniu z aplikacjami.

W widoku konfiguracji elementu dostępna jest teraz dodatkowa zakładka — Tagi, w której można zdefiniować tagi oraz ich wartości.

Tagi opisujące item

Nie musisz się jednak martwić o swoje aplikacje. Aplikacje zostaną automatycznie przekonwertowane na tag w postaci „Aplikacja:<nazwa aplikacji>” podczas aktualizacji. Na przykład aplikacja „CPU” zostanie przekonwertowana na znacznik „Aplikacja:<CPU>”. Aktualizacja do nowej wersji nie powoduje utraty żadnych informacji.

Składnia

Kolejną bardzo ciekawą funkcjonalnością, która była planowana od lat, jest nowa składnia wyrażeń wyzwalających (trigger’ów). Dostępna jest teraz ujednolicona składnię dla wszystkiego w Zabbix.

Dlaczego jest to tak ważny krok?

W poprzednich wersjach konieczne było użycie specjalnej składni dla wyzwalaczy, jednej składni funkcjonalnej dla pozycji obliczanych (calculated items) i innej składni dla pozycji zagregowanych (aggregated items):

  • TRIGGERS: {host:key.func(params)}>0
  • CALCULATED: 100*last(“vfs.fs.size[/,free]/last(“vfs.fs.size[/,total]”)
  • AGGREGATE: grpsum[“MySQL Servers”,”vfs.fs.size[/,total]”,last]


Było to dość mylące, a użytkownicy musieli pamiętać składnię lub zapoznać się z dokumentacją. W Zabbix 5.4 wprowadził ujednoliconą składnię. Od teraz używana będzie ta sama składnia dla wyzwalaczy, elementów obliczanych i elementów zagregowanych. Ponadto nowa składnia jest bardziej funkcjonalna, podczas gdy stara była bardziej zorientowana obiektowo.

  • TRIGGERS: func(/host/key, params)>0
  • CALCULATED: sum(/host/vfs.fs.size[*,free], 10m)
  • AGGREGATE: min(avg_foreach(/*/qps?[group=“PostgreSQL” and tag=“Env:Production”], 5m))


Nowa składnia ma wiele zalet. Nowa ujednolicona składnia:

  • jest znacznie prostszy i ujednolicony dla wszystkiego: wyzwalaczy, pozycji obliczanych i zagregowanych,
  • obsługuje bezwzględne okresy czasu, takie jak ostatni dzień, poprzednia godzina itp. Dzięki temu teraz łatwo obliczyć np. minimum dla poprzedniej godziny lub średnią wartość dla poprzedniego lub bieżącego dnia,
  • jest wolny od wszelkich ograniczeń starej składni,
  • umożliwia na złożone agregacje i selekcję elementów według tagów z wykorzystaniem symboli wieloznacznych itp.,
  • zezwala na zastosowanie funkcji do wyników innych funkcji: func1(func2(item)),
  • pozwala na użycie wielu pozycji jako argumentów funkcji: min(item1, item2),
  • obsługuje obliczone metryki dla wszystkiego, co działa wokół starych ograniczeń

Nowe funkcje

Zostały przygotowane nowe funkcje:

Zestawienie nowych funkcji Zabbix

Tokeny API

Pojawiła się również obsługa tokenów API na użytkownika wraz z datami wygaśnięcia. Dodana została nowa rola użytkownika — dostęp do tokenów API ( access to API tokens), teraz każdy użytkownik może wygenerować prywatny token API w Zabbix do określonego użytku. Wszystkimi tokenami mogą zarządzać globalnie superadministratorzy z odpowiednimi uprawnieniami. Teraz mamy bardzo zrozumiały sposób na zdefiniowanie, którzy użytkownicy mają uprawnienia do działania z tokenami API, a którzy nie.

Jeśli więc jesteś zwykłym użytkownikiem, możesz przejść do ustawień użytkownika, kliknąć tokeny API, a zobaczysz swoje tokeny z Nazwą, opcjonalną datą wygaśnięcia, czasem ostatniego dostępu i statusem — Dowolny, Włączony lub Wyłączony (AnyEnabled, or Disabled).

Właściwości konfiguracji tokenów API

Tokeny API (API tokens) może tworzyć każdy użytkownik z odpowiednimi uprawnieniami. Superadministratorzy mogą wybrać użytkownika, który będzie miał do tego uprawnienia.

Tokeny API dla użytkownika

Wszystkimi tokenami wygenerowanymi przez różnych użytkowników mogą zarządzać superadministratorzy mający uprawnienia do przeglądania listy tokenów.

Tokeny API zarządzane globalnie przez superadministratorów

Łatwe w zarządzaniu szablony

W Zabbix aktualizacja szablonów nie jest taka prosta. Kiedy dokonujesz pewnych korekt, na przykład tworzysz nowe elementy, nowe wyzwalacze lub dodajesz jakąkolwiek inną jednostkę, a nie jest łatwo dokonać aktualizacji, ponieważ nie do końca rozumiesz ostateczny wpływ zmian.

Zabbix 5.4 wprowadza unikalne uniwersalne identyfikatory dla każdego elementu szablonu, takiego jak pozycje, wyzwalacze, wykresy, itd., które pomagają w bezpiecznym przeprowadzaniu aktualizacji szablonów.

Unikalne ID szablonu

W powyższym przykładzie te uniwersalne identyfikatory są zawarte w szablonach w formacie YAML w celu monitorowania elementów Memcached. Identyfikatory są unikatowe i służą do dopasowania przedmiotu, wyzwalacza itp. Identyfikatory te służą jako kryteria unikalności. Zabbix może łatwo zrozumieć, jaki item próbujemy zaktualizować, które itemy już nie istnieją, czy jest to nowy item, czy też dokonujemy korekty istniejącego.

Identyfikatory upraszczają również pracę z szablonami. Teraz możesz faktycznie przechowywać wszystkie swoje szablony w repozytorium Git, na przykład w formacie JSON lub YAML, a następnie przesłać je do Zabbix przez CI/CD przy użyciu Zabbix API. Tak więc, gdy tylko dokonasz pewnych zmian w swoim szablonie, system CI/CD pobierze najnowszą wersję szablonu i używając Zabbix API zastosuje ją w Zabbix. Takie podejście naprawdę pomaga spojrzeć na twoją infrastrukturę jak na kod.

Importowanie

Podczas importowania nowego szablonu lub nowej wersji szablonu, Zabbix pokaże wszelkie dokonane zmiany w konfiguracji.

Porównanie istniejących i nowych szablonów

Pokazana została nowa wersja szablonu Memcached. Usunięty został jeden tag – Application, dodane zostały dwa tagi – Service (Memcached) i Class (Infrastructure). Podczas importu widać różnicę między istniejącym szablonem w Zabbix a nowym szablonem, dzięki czemu można łatwo przejrzeć wprowadzone zmiany. Wybranie Import pozwoli na wprowadzenie zamian w konfiguracji.

Lepsza skalowalność

Zabbix 5.4 wprowadza kilka usprawnień skalowalności:

  • Procesy odpytujące Zabbix Server i Proxy nie wymagają już połączenia z bazą danych,
  • Pamięć podręczna w pamięci dla danych trendów, wprowadzono znaczne przyspieszenie funkcji związanych z trendami,
  • Lepsze równoległe przetwarzanie danych po stronie serwera Zabbix dla dużych obciążeń. Na przykład, środowiska z 10 000 – 50 000 i więcej nowych wartości na sekundę skorzystają na zwiększonej wydajności,
  • Płynne uruchamianie Zabbix Server, które jest bardzo przydatne zwłaszcza w przypadku instancji z tysiącami lub dziesiątkami tysięcy serwerów proxy

Uniwersalne skrypty globalne

Kolejne fajne ulepszenie upraszczające konfigurację Zabbix — uniwersalne skrypty globalne.

Zabbix wprowadził JavaScript Webhook dla globalnych skryptów w celu łatwej integracji z systemami powiadamiania i zgłoszeń innych firm. Używa Webhooks do wielu różnych celów — przetwarzania wstępnego, integracji, zbierania danych itp. Teraz możesz ich używać do globalnych skryptów.

Skrypty globalne mogą być teraz używane do wszystkiego — automatycznej naprawy, alarmowania, integracji i ręcznego wykonywania na hostach z interfejsu użytkownika Zabbix. Teraz, kiedy definiujesz skrypt globalny, możesz również zdefiniować, że skrypt ma być używany na przykład tylko do operacji Action.

Parametry uniwersalnych skryptów globalnych

Skrypt będzie oparty na webhooku, będzie akceptował parametry, takie jak identyfikator zdarzenia, ważność zdarzenia i tagi w formacie JSON. Ten globalny skrypt otworzy zgłoszenie w ServiceNow. Po zdefiniowaniu skryptu należy przejść do Actions i określić, jakie operacje mają zostać wykonane. Możesz wysłać wiadomość do administratorów lub po prostu otworzyć zgłoszenie w service desk.

Definiowanie Akcji

Jest to bardzo prosta, łatwa w obsłudze i zrozumiała funkcja ułatwiająca konfigurację działań.

Mapy wartości

W Zabbix 5.4 wprowadza kilka zmian związanych z mapami wartości. Mapa wartości to prosty sposób na konwersję, na przykład, wartości liczbowych zebranych przez Zabbix na wartości czytelne dla człowieka.

Typowym przykładem może być monitorowanie stanu usługi, która zwraca liczby zero lub jeden, gdzie zero oznacza „Down” lub jeden oznacza „Up”. W takim przypadku możemy zdefiniować mapę wartości na podstawie dokładnego dopasowania wartości.

Zabbix 5.4 usprawnia obsługę dopasowywania według zakresów. Możesz więc zdefiniować, że jeśli otrzymasz status od 0 do 127, uważasz usługę za „Down”, a jeśli jakakolwiek inna wartość — „Up”, lub odwrotnie.

Nowa wersja wykorzystuje również wyrażenia regularne. Kiedy definiujesz mapowanie wartości, podobnie jak stan usługi, możesz określić, czy wartość mieści się w zakresie od 0 do 31 lub 64 do 127, wtedy zostanie zmapowana na „Up” i dowolną inną wartość — „Down”.

Mapowanie wartości według zakresu

Mapy wartości dla szablonów i hostów

Zabbix 5.4 wprowadził wartość na poziomie szablonu oraz na poziomie hosta. Oznacza to, że nie obsługuje już globalnych map wartości.

Mapy wartości były łatwe do utrzymania na poziomie globalnym, ale tylko dla mniejszych instalacji. Gdy masz wiele szablonów i różne zespoły pracujące z różnymi zestawami szablonów, mapy wartości stają się koszmarem do utrzymania na poziomie globalnym. Ponadto globalne mapowanie wartości utrudnia obsługę wielu dzierżawców dla dowolnego obiektu połączonego z mapą wartości.

Zalety map wartości na poziomie szablonu:

  • Zabbix 5.4 dostarcza samodzielne szablony bez żadnych odniesień do obiektów globalnych. Szablon zawiera wszystkie informacje potrzebne do monitorowania: zestaw elementów, zestaw wyzwalaczy, wykresy, pulpity nawigacyjne na poziomie szablonu i mapy wartości. Oznacza to, że nie mamy teraz żadnych odniesień do żadnych obiektów globalnych, a szablony stały się naprawdę niezależne. Możesz wejść na zabbix.com/integrations, pobrać szablon do monitorowania np. dla urządzenia Cisco i możesz być absolutnie pewien, że ten szablon będzie działał idealnie w systemie, ponieważ nie jest powiązany z żadnymi elementami globalnymi.
  • Umożliwiają lepszą obsługę środowisk z wieloma dzierżawcami. Nowa wersja wprowadza nowe akcje masowe – operacje masowej aktualizacji, które ułatwiają zarządzanie mapami wartości na poziomie szablonu.
  • Możesz dodać, zaktualizować, zmienić nazwę lub usunąć wszystkie mapy wartości.
Operacje masowej aktualizacji

Ulepszenia użyteczności

W Zabbix 5.4 wprowadził szereg ulepszeń użyteczności obsługi panelu. Te widoczne od razu — menu trzeciego poziomu dla lepszej nawigacji. Ukryte funkcje w Administration > General — AutoregistrationHousekeepingImagesIcon mappingRegular expressions. Menu trzeciego poziomu zapewnia lepszą widoczność tych podmenu.

Menu trzeciego poziomu
  • W Zabbix występują pewne problemy z użytecznością, które czasami wymagają przeskakiwania z jednej strony na drugą, na przykład z wykresu do najnowszych danych, z najnowszych danych do hosta itp. Dlatego obecna wersja zawiera okna modalne dla formularzy masowej aktualizacji i importu (modal windows for mass-update and import forms). Jest to mały, ale ważny krok w poprawie ogólnej wydajności, ponieważ wybierając listę hostów do przeprowadzenia jakiejś operacji masowej aktualizacji, pozostajesz na tej liście i nie musisz przechodzić do osobnej strony.
Okna modalne do masowej aktualizacji i importu formularzy
  • Kolejna mała, ale przydatna funkcja — zanegowane filtrowanie tagów (negated filtering for tags). Teraz, w Monitorowanie > Problemy, możesz na przykład wyświetlić wszystkie problemy, które nie pochodzą z twojego środowiska pomostowego. Możesz zdefiniować warunek, na przykład, Tagi „Tags ‘Env Does not equal Staging‘” i zapisać go jako nowy widok „Excluding staging”.
Zanegowane filtrowanie według tagów

Lepsza obsługa wstępnego przetwarzania XML

Zabbix wspiera XML XPath od czterech lat. Obecna wersja wprowadziła natywną konwersję z formatu XML do formatu JSON.

Ponieważ większość operacji w Zabbix jest oparta na JSON, jest to dobry sposób na pracę z danymi XML — konwertujesz swój dokument XML na JSON jako na przykład pierwszy krok przetwarzania wstępnego, a następnie pracujesz z tymi danymi jak z każdym dokument JSON.

Lepsze wstępne przetwarzanie XML

Więcej ulepszeń


Nowe rozwiązania dotyczące bezpieczeństwa oraz związane z eksportem w czasie rzeczywistym.

Bezpieczeństwo:


— Obsługa wszystkich protokołów szyfrowania SNMPv3,
— Ujednolicone komunikaty o błędach w przypadku nieudanego logowania,
— Wyłączono autouzupełnianie dla pól haseł w interfejsie użytkownika Zabbix,


Eksport w czasie rzeczywistym:

— Pliki eksportu w czasie rzeczywistym przechowują informacje o wadze zdarzenia,
— Bardziej szczegółowa konfiguracja informacji eksportowanych w czasie rzeczywistym,


Również:


— Wsparcie monitorowania klastra VMWare,
— Wsparcie filtrowania przez obecność makra LLD do wykrywania niskopoziomowego,
— Obsługa makra {ITEM.VALUETYPE} dla powiadomień,
— Wyszukiwania nazw usług dla konfiguracji Oracle for HA, dzięki czemu Zabbix może przełączać się z jednego węzła do drugiego,
— Uwierzytelnianie NTLM dla webhooków JavaScript,
— Obsługa wielu metryk JMX mających ten sam klucz na jednym hoście,
— Zwiększony rozmiar pamięci dostępnej dla webhooków JavaScript i przetwarzania wstępnego.
— CurlHttpRequest zmieniono na HttpRequest w Webhooks,
— „Alias” zmieniono na „Nazwa użytkownika” w konfiguracji użytkownika,
— Amerykański angielski jest domyślnym językiem interfejsu użytkownika Zabbix, a także dokumentacji Zabbix

Nowe integracje i szablony

Zabbix 5.4 zawiera nowe integracje z iTOP, VictorOps, Rocket.Chat, Signal, Express.ms i innymi rozwiązaniami.
Dodany został nowy zestaw oficjalnych szablonów do monitorowania sprzętu APC UPS, kamer Hikvision itp., Hadoop, Zookeeper, Kafka, AMQ, HashiCorp Vault, MS Sharepoint, MS Exchange, smartclt, Gitlab, Jenkins, Apache Ignite i innych aplikacje i usługi.

Nowe integracje i szablony

Wszystko dostępne nowe integracje, znajdują się pod adresem https://www.zabbix.com/integrations.

Zespół Zabbix planuje również przygotowanie gotowych do użycia szablonów dla min. Cisco, Juniper, F5.

Już teraz możesz wdrożyć Zabbix na MAC OS, Windows, Docker Containers, środowisko Docker, Cloud AWS, Azure, OpenStack, Digital Ocean, Google Cloud. Od niedawna dostępna jest również obsługa Linode.

Aby Twoja instancja Zabbix działała w chmurze, nie musisz dużo wydawać. Możesz użyć Digital Ocean lub Linode, a za około 5 USD miesięcznie możesz mieć zainstalowany i uruchomiony Zabbix Server z interfejsem użytkownika Zabbix, który będzie w stanie monitorować tysiące urządzeń.

Integracja z Grafana

Po wydaniu Zabbix 5.4, nastąpiły problemy z obsługą Grafana, poprzez wprowadzone zmiany API. Integrator jednak szybko rozwiązał problem.

Aktualizacja do Zabbix 5.4

  • Aktualizacja do Zabbix 5.4 z istniejącego 5.0, 5.2, 4.4 lub 4.2 jest prosta jak zwykle. Musisz zainstalować nowe binaria dla Zabbix Server i Zabbix Proxy, zaktualizować Zabbix UI, uruchomić Zabbix Server, a Zabbix Server automatycznie uaktualni strukturę twojej bazy danych,
  • Triggery, obliczone i zagregowane metryki zostaną automatycznie przekonwertowane na nową składnię,
  • Wszystkie aplikacje zostaną automatycznie przekonwertowane na tagi. Na przykład „CPU” zostanie przekonwertowany na tag „Aplikacja:CPU”,
  • Na poziom szablonu i hosta zostały przeniesione Mapy wartości globalnych,
  • Dashboardy przejęły funkcjonalności ekranów konfiguracyjnych

Mapa drogowa Zabbix

Więcej informacji o oczekiwanych funkcjach możesz znaleźć na stronie zabbix.com/roadmap. Tutaj możesz kliknąć interesującą Cię wersję, na przykład 6.0, 6.2, 6.4 lub 7.0 LTS. Wygodny panel pozwoli na zapoznanie się z planowanymi funkcjami na przestrzeni następnych 2,5 roku.

Mapa nowych funkcjonalności Zabbix

Podsumowanie

Jak widzisz, nowa wersja wprowadza kilka ciekawych usprawnień, które będą wygodne w codziennej pracy. Nowe funkcje, upraszczają konfigurację, przeniesienie kilku opcji pozwala na łatwiejsze zapanowanie nad wszystkim. Jak by nie patrzeć Zabbix, jest na ten moment chyba jedynym narzędziem, które warto wdrożyć do monitorowania infrastruktury w organizacji.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT