Poprzednio scenariusze sieci www nie mogły być elementami szablonów, stąd trudne było przypięcie jednego scenariusza do wielu hostów.
Począwszy od wersji Zabbix 2.2.0 scenariusze sieci www mogą być elementami szablonów tak samo jak pozycje, wyzwalacze, wykresy, ekrany i niskopoziomowe reguły wykrywania. Jeżeli szablon jest związany z kilkoma hostami, wszystkie hosty będą dziedziczyć scenariusze sieci www z szablonu.
W interfejsie użytkownika, scenariusze sieci www są teraz tworzone odpowiednio w Konfiguracja → Szablony i // → Hosty//, podobnie jak pozycje, wyzwalacze, itp. Nie istnieje już oddzielne menu Konfiguracja → Web.
Formularz konfiguracji scenariusza sieci www zyskał nowe parametry.
Dodano nowy parametr Powtórzenia, pozwalający określić liczbę prób wykonania kroków scenariusza sieci www, w przypadku opóźnień i problemów z siecią.
Użycie proxy HTTP można określić bezpośrednio w formularzu konfiguracji scenariusza sieci www.
Dodatkowo oprócz standardowej składni zmiennej {zmienna}=wartość dostępna jest również składnia {zmienna}=regex:<wyrażenie regularne> dla znajdowania dopasowań na stronie sieci www zgodnych z wyrażeniem regularnym. Ciąg regex: że następujący za nim ciąg ma być traktowany jak wyrażenie regularne.
Na przykład,
Szuka ciągu "//hostid is //" a następnie wyciąga dowolną liczbę, która występuje za ciągiem i przypisuje ją do zmiennej.
Aktualnie można definiować zmienne nie tylko na poziomie scenariusza, ale również na poziomie kroku. Zmienne poziomu kroku nadpisują zmienne poziomu scenariusza lub zmienne z poprzedniego kroku.
Poprzednio, gdy serwer lu proxy wykonujący monitorowanie www napotkali błąd, podawane były jedynie nazwa scenariusza i kroku, na przykład:
web scenario step "scenariusz:krok" error: error doing curl_easy_perform: Couldn't resolve host name
Przy monitorowaniu opartym o szablony ważniejsza jest informacja, którego hosta dotyczył problem, dlatego komunikat zawiera również tę informację:
Dodatkowo, bardziej szczegółowe komunikaty można uzyskać na 3 poziomie debugowania.
W Zabbix 2.2.0 nowością jest monitorowanie maszyn wirtualnych VMware. Pozwala monitorować właściwości i statystyki maszyn wirtualnych z instalacji VMware vCenter i vSphere, dla wielu hipernadzorców VMware.
Zabbix może użyć niskopoziomowych reguł wykrywania do automatycznego wykrycia hipernadzorców VMware i ich maszyn wirtualnych oraz może utworzyć dla nich hosty do monitorowania, wykorzystując przy tym predefiniowane prototypy hostów. Szczegółowe informacje można obejrzeć w Monitorowanie maszyn wirtualnych.
Poprzednio Zabbix wspierał odczyty jedynie z progowych (analogowe) czujników IPMI. W Zabbix 2.2.0 dodano odczyt stanu dyskretnych czujników IPMI. Do testowania stanów bitów czujników dyskretnych można użyć funkcji band() (bitowe AND) oraz udoskonalonej funkcji count().
Ładowalne moduły, nowość w Zabbix 2.2, pozwalają rozszerzyć funkcjonalność Zabbix wydajniej niż opcje parametrów użytkownika czy testy zewnętrzne. Dodatkowo oprócz wysokiej wydajności i możliwości implementowania dowolnej logiki, moduły mogą być tworzone i współdzielone przez społeczność Zabbix.
Obsługiwany w systemach uniksowych, moduł ładowalny to w zasadzie współdzielona biblioteka używana przez serwer lub agenta Zabbix, ładowana podczas startu. Do pracy z modułami, serwer i agent Zabbix wykorzystują dwa nowe parametry konfiguracji: LoadModulePath
i LoadModule
. Moduły muszą być umieszczone w katalogu określonym w LoadModulePath
. Dopuszczalne jest podanie wielu parametrów LoadModule
.
W Zabbix 2.2, w katalogu src/modules/dummy umieszczony został przykład modułu napisany w języku C. Może być użyty jako szablon dla nowych modułów. Żeby nauczyć się więcej na temat opcji modułów ładowalnych, należy przejść do odpowiedniego rozdziału dokumentacji.
Począwszy od Zabbix 2.2, można odwoływać się w nazwie do wartości pozycji, używając prostych makr o standardowej składni {host:klucz.func(param)}
.
Podobnie do etykiet map, w nazwach wykresów, w makrach tych obsługiwane są wyłącznie funkcje avg, last, max i min z parametrem w sekundach. Mapowanie wartości jest również obsługiwane.
Dodatkowo w parametrach kluczy pozycji obsługiwane są makra niskopoziomowych reguł wykrywania, co daje możliwość wykorzystania makra takiego jak: {Cisco switch:ifAlias[{#SNMPINDEX}].last()}
Makro {HOST.HOST<1-9>} może być użyte do wskazania hosta: {{HOST.HOST}:ifAlias[{#SNMPINDEX}].last()}. Ponieważ wykresy mogą zawierać pozycje z różnych hostów, {HOST.HOST} i {HOST.HOST1} będą wskazywać na pierwszy host, {HOST.HOST2} na drugi i tak dalej.
W poprzednich wersjach Zabbix nie było możliwe otrzymywanie powiadomień o niewspieranych pozycjach. Jeżeli jakaś pozycja stawała się niewspierana (i przestawała zbierać dane) mogła być niezauważona przez dłuższy czas. Jedynym sposobem na wykrycie niewspieranych pozycji było ciągłe śledzenie listy pozycji, co było raczej niepraktyczne.
Począwszy od wersji Zabbix 2.2 zapoczątkowano nową koncepcję zdarzeń wewnętrznych. Zdarzenia wewnętrzne występują nie tylko wtedy gdy pozycje stają się niewspierane ale również gdy niskopoziomowe reguły wykrywania stają się niewspierane oraz gdy wyzwalacz przechodzi w stan nieznany
Plusem istnienia zdarzeń wewnętrznych jest to, że użytkownik może skonfigurować akcje bazujące na tych zdarzeniach, podobnie do akcji bazujących na zdarzeniach wyzwalaczy, i może otrzymywać powiadomienia o niewspieranych pozycjach (niewspieranych niskopoziomowych regułach wykrywania, nieznanych wyzwalaczach). Więcej informacji na temat konfiguracji powiadomień dla pozycji niewspieranych można zobaczyć w tym rozdziale.
W Zabbix 2.0 mapowanie wartości dostępne było jedynie dla całkowitych typów danych. W 2.2.0 zaimplementowano pełne wsparcie dla znaków i typów numerycznych zmiennoprzecinkowych. Na przykład, mapa wartości związana z backupami mogłaby być taka:
W Monitorowanie → Ostatnie dane, wartości wyświetlane zostały skrócone do 20 znaków. Jeżeli zastosowane zostanie mapowanie wartości, nie nastąpi skrócenie mapowanej wartości, a tylko oryginalnej wartości (wyświetlanej w nawiasach).
Należy zauważyć, że mapowanie wartości nie jest dostępne dla typów danych tekstowych oraz logów.
Limit maksymalnej długości wyrażeń wyzwalacza został zwiększony z 255 do 2048. Należy zauważyć, że jest to limit "nieprzetworzony", w większości przypadków długość wyrażenia może się w trakcie przetwarzania znacznie wydłużyć.
Bardziej przyjazny parser wyrażeń wyzwalaczy pozwala pominąć parametry opcjonalne w funkcjach wyzwalaczy. Na przykład, funkcja wyzwalacza "last(#1)" może być zapisana jako "last()", "last(#1,1h)" - jako "last(,1h)".
Działa to również w funkcjach pozycji wyliczanych.
Konfiguracja map poszerzona została o opcję definiującą najniższy poziom wyzwalacza. W ten sposób tylko wyzwalacze ze zdefiniowanego poziomu i powyżej, będą wyświetlane na mapach, a wyzwalacze poniżej zdefiniowanego poziomu nie będą wyświetlane.
Na przykład, będą wyświetlane tylko wyzwalacze począwszy od poziomu Ostrzeżenie. Wyzwalacze o poziomach Informacja i Niesklasyfikowane nie będą uwzględniane na mapie.
Poziomy wybrane w konfiguracji mapy mogą być opcjonalnie zmienione podczas oglądania map w Monitorowanie → Mapy:
Limit maksymalnej długości etykiet elementów mapy i etykiet łącz został zwiększony z 255 do 2048.
Poprzednio, w trakcie konfiguracji elementów mapy, ikony były wyświetlane w kolejności utworzenia. Od teraz są porządkowane alfabetycznie.
Poprzednio, przy użyciu opcji konfiguracji serwera DisableHousekeeping, proces porządkowania Zabbix można było kompletnie wyłączyć. Było to zalecane działanie w przypadku, gdy proces porządkowania napotkał jakieś problemy, na przykład z dużą tabelą historii. Niestety oznaczało to również wyłączenie wszystkich zleceń porządkowania, podczas gdy prawdziwy problem wystąpił tylko z jednym.
W Zabbix 2.2 wprowadzono lepszą kontrolę zleceń porządkowania. Parametr DisableHousekeeping nie jest już obsługiwany. Zamiast tego można kontrolować zlecenia porządkowania z poziomu interfejsu użytkownika, w Administracja → Ogólne → Porządkowanie, można włączyć/wyłączyć poszczególne zlecenia porządkowania.
Poprzednio, gdy użytkownik (z dwóch różnych grup użytkowników) miał zarówno prawa do "Odczytu" i do "Zapisu i odczytu" dla danego hosta, host był dla niego tylko do "Odczytu". Było to bardzo mylące.
W Zabbix 2.2 prawa do "Zapisu i odczytu" są ważniejsze od praw do "Odczytu". Aktualnie tylko "Zabroń" może zablokować dostęp do hosta.
Poprzednio nie było możliwe podłączenie szablonów posiadających takie same nazwy aplikacji do jednego hosta (lub szablonu). W Zabbix 2.2 jest to dozwolone.
Wyłączone hosty są dostępne w Monitorowanie → Ostatnie dane oraz w Monitorowanie → Wykresy i Monitorowanie → WWW. Dostęp do ostatnich danych daje również dostęp do wykresów i list wartości pozycji dla wyłączonych hostów.
Gdy dostępne są informacje wyłączonych hostów, wyświetlane są one na listach na czerwono:
Poprzednio, pierwszy okres utrzymania dla każdego drugiego/trzeciego/itd. dnia występował w drugim/trzecim/itd. dniu po dniu Aktywne od. Teraz pierwszy okres będzie miał miejsce w dniu Aktywne od a następnie w każdym drugim/trzecim/itd. dniu.
Aktualnie w konfiguracji pozycji, prototypów pozycji, niskopoziomowych reguł wykrywania oraz reguł wykrywania sieci obsługiwana jest opcjonalnie nazwa kontekstu SNMPv3. W polu tym przetwarzane są makra użytkownika.
Dodano obsługę protokołów autoryzacji SHA/prywatności AES. Poprzednio obsługiwane były jedynie protokoły autoryzacji MD5/prywatności DES.
Podczas konfiguracji pozycji, prototypów pozycji, niskopoziomowych reguł wykrywania oraz reguł wykrywania sieci z SNMPv3, jeżeli jako Poziom bezpieczeństwa wybrano authNoPriv dostępna jest dodatkowo opcja SHA, a gdy jako Poziom bezpieczeństwa wybrano authPriv dostępne są obie opcje SHA i AES:
Celem udoskonalenia było umożliwienie wyciągnięcia tylko interesujących wartości, zamiast zwracania całej linii zgodnej z wyrażeniem regularnym.
Zabbix posiadał już możliwość przeszukiwania plików, logów lub stron www z wykorzystaniem wyrażeń regularnych. Możliwość ta jest dostępna w takich pozycjach agenta jak vfs.file.regexp[]
, log[]
, logrt[]
i web.page.regexp[]
. Jednakże do tej pory, jeżeli wyrażenie regularne coś znalazło, zwracana była cała linia.
W Zabbix 2.2 pozycje te zostały rozszerzone o możliwość ograniczenia liczby przeszukiwanych linii oraz o możliwość wyciągnięcia wymaganej wartości z linii. Umożliwiono to przez dodanie do pozycji kilku dodatkowych parametrów: <linia startowa>, <linia końcowa>, <wyjście>. Na przykład, pozycja vfs.file.regexp[]
otrzymała wszystkie 3 dodatkowe parametry:
I tak <linia startowa> i <linia końcowa> są parametrami opcjonalnymi pozwalającymi określić linie początkową i końcową dla wyszukiwania, wyjście pozwala określić podgrupy zgodności, które nas interesują.
Zatem, na przykład
pozwala zwrócić interesujące nas liczby z pliku docelowego znajdujące się na końcu linii 3-5. Zabbix zwróci tylko liczby ponieważ wyjście zdefiniowane jako \1 odwołuje się jedynie do pierwszej podgrupy: ([0-9]+)
A, w związku z możliwością zwracania liczb, wartość może być użyta do zdefiniowania wyzwalaczy.
Podobnie, opcjonalny parametr <wyjście> uzyskały inne rozszerzone pozycje: log[]
, logrt[]
i web.page.regexp[]
.
Zmiany powiązane:
vfs.file.regmatch[]
rozszerzone zostało o parametry <linia startowa> i <linia końcowa>Zobacz również dokumentację pozycji agenta Zabbix.
Poprzednio nie było łatwo monitorować stan proxy Zabbix. Począwszy od Zabbix 2.2.0 testy wewnętrzne hostów monitorowanych przez proxy są przetwarzane przez proxy, co pozwala monitorować metryki wydajności proxy.
Przez proxy obsługiwane są następujące testy wewnętrzne:
Szczegółowe informacje można zobaczyć w dokumentacji testów wewnętrznych.
Szablony FreeBSD i OpenBSD zawierają teraz reguły wykrywania interfejsów sieciowych.
Szablon serwera Zabbix zaktualizowano o pozycje związane z cache'm wartości oraz dodano inne wpisy.
Wiele usług z szablonów bez agentów rozdzielono na indywidualne szablony.
Wszystkim wyzwalaczom z Template App Zabbix Server i Template App Zabbix Proxy zmniejszono czułość i użyto histerezy.
We wszystkich szablonach wykorzystano sufiksy oraz funkcji agregacji.
Rozszerzono wszystkie szablony OS o wykresy pamięci.
Począwszy od Zabbix 2.2.0 hosty wykrywane przez różne proxy zawsze traktowane są jako inne hosty. Pozwala to przeprowadzić wykrywanie dla tych samych zakresów IP w różnych podsieciach.
Od jakiegoś czasu w Zabbix istnieje monitorowanie ODBC, ale do tej pory brakowało właściwej dokumentacji i miało ono status nieoficjalnego rozszerzenia. Teraz pozycja ta jest wreszcie udokumentowana i można podnieść jej status do rozszerzenia oficjalnego.
Dodatkowo, udoskonalono konfigurację pozycji dla monitorowania baz danych w interfejsie użytkownika. Poprzednio, kilka parametrów - DSN, nazwa użytkownika, hasło i zapytanie SQL były wprowadzane w jednym polu. Teraz DSN przeniesiono do drugiego parametru klucza pozycji, nazwa użytkownika i hasło mają swoje oddzielne pola a w oryginalnym polu pozostało tylko zapytanie SQL, co pozwala wprowadzać bardziej czytelne zapytania w wielu liniach.
Pozycje z typem informacji "Liczba (zmiennoprzecinkowa)" obsługują teraz w otrzymywanych wartościach notację naukową z określoną potęgą. Np. 1.234e+5.
logrt w Windows obsługuje teraz znaki wielobajtowe w nazwach ścieżek. Np. logrt[c:\логи\app1.*].
system.swap.size na Windows i Tru64 obsługuje teraz parametr "used". Np. system.swap.size[all,used].
eventlog obsługuje teraz komunikaty zdarzeń Windows z nowego systemu logowania zdarzeń ("Windows Eventing 6.0") zapoczątkowanego w Windows Vista.
eventlog w filtrze źródła obsługuje teraz wyrażenia regularne.
Test wewnętrzny zabbix[items] zwraca teraz liczbę monitorowanych pozycji zamiast ogólnej liczby pozycji w bazie danych.
system.swap.size jest teraz obsługiwane na AIX.
net.if.discovery jest teraz obsługiwane na FreeBSD, OpenBSD i NetBSD.
system.sw.arch jest teraz obsługiwane na NetBSD, OpenBSD, Mac OS X, AIX, HP-UX, Solaris, Tru64, FreeBSD i Windows.
proc.num, net.if.in, net.if.out i net.if.total są teraz obsługiwane na HP-UX. Uwaga: pozycje net.if.in
, net.if.out
i net.if.total
nie udostępniają statystyk interfejsu loopback (np. lo0).
sensor jest teraz obsługiwane na Linux 2.6+.
Test wewnętrzny zabbix[hosts] zwraca liczbę monitorowanych hostów.
Do agenta Windows dodano wmi.get, żeby obsługiwać zapytania WMI.
Udoskonalono wyliczanie wartości średniej trendu dla pozycji z numerycznymi typami danych bez znaku. Poprzednio wartość średnia była trzymana jako liczba całkowita, co powodowało utratę precyzji przy małych zmianach między dwoma wartościami. Na przykład, dla wartości zmieniających się od 1 do 5 rezultatem powinno być 1. Wprowadzono przechowywanie sumy wartości i tylko obliczanie średniej podczas zachowywania do bazy. Należy zauważyć, że wynik dalej jest przechowywany w bazie jako liczba całkowita. Na przykład, jeżeli pozycja ma wartości 0 i 1, wartość średnia będzie równa 0, a nie 0.5.
Dla pozycji z częścią ułamkową nic się nie zmieniło, dalej średnia jest obliczana jako liczba z częścią ułamkową.
Wprowadzono bardziej restrykcyjną walidację parametrów w agencie Zabbix. Poprzednio parametry dla pozycji, które nie wspierały parametrów, były ignorowane, teraz pozycje zwrócą ZBX_NOTSUPPORTED i staną się niewspierane.
Obsługiwana jest teraz nowa funkcja band() (bitwise AND). Na przykład, żeby sprawdzić czy najbardziej i najmniej znaczący bit w bajcie jest ustawiony na 1, wyrażenie wyzwalacza można ustawić tak
Funkcja count() została rozszerzona o operator "band". Na przykład, żeby zliczyć wartości z ostatnich 10 minut posiadające '110' (binarnie) na 3 najmniej znaczących bitach, wyrażenie powinno wyglądać tak
gdzie '6' jest liczbą do porównania ('110') a '7' jest maską bitową ('111' binarnie).
Na stronie testowania warunku wyrażenia wyzwalacza dodano obsługę standardowych sufiksów czasu Zabbix ("s", "m", "h", "d" i "w"), można ich używać do testowania wartości.
Poprzednio, gdy dodano nową pozycję (na przykład, przez utworzenie pozycji, dodanie hosta lub podłączenie szablonu) i istniał wyzwalacz z funkcją nodata(), najprawdopodobniej był on uruchamiany zanim pozycja w ogóle miała szansę otrzymać jakąkolwiek wartość. Począwszy od Zabbix 2.2.0, funkcja nodata() uruchomi się jedynie po okresie, określonym w parametrach funkcji.
Dla powiadomień wprowadzono znacznie rozszerzony zbiór makr, który pozwala uzyskać więcej informacji i który pozwala obsłużyć nową funkcjonalność zdarzeń wewnętrznych Zabbix:
Więcej szczegółów można zobaczyć w makrach wspieranych w lokalizacjach.
Makra niskopoziomowego wykrywania mogą być teraz używane w stałych w wyrażeniach wyzwalaczy. Na przykład, {#MY_CUSTOM_MACRO} z:
można użyć w następującym prototypie wyzwalacza:
Makro musi zwracać wartość numeryczną, żeby zostało przetworzone prawidłowo. jeżeli wartość makra nie jest numeryczna lub nie znaleziono wartości, prawdziwy wyzwalacz nie zostanie utworzony.
Teraz w opisach pozycji i wyzwalaczy można używać makr niskopoziomowych reguł wykrywania.
Poprzedni zestaw makr obsługiwany w nazwach wyzwalaczy jest teraz również obsługiwany w opisach: {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE} i {$MACRO}.
Makra te będą przetwarzane podczas oglądania komentarzy wyzwalaczy w Monitorowanie → Wyzwalacze jak również wewnątrz makra {TRIGGER.DESCRIPTION} przy powiadomieniach.
Makra użytkowników obsługiwane są teraz w komendach i tekstach potwierdzeń skryptów globalnych.
Teksty potwierdzeń skryptów globalnych przetwarzają również makra nazw hostów - {HOST.HOST}, {HOST.NAME} i makra połączeń hostów - {HOST.IP}, {HOST.DNS}, {HOST.CONN}.
Makra użytkownika są teraz obsługiwane w polu Dopuszczalne hosty pozycji trappera.
Po przeprojektowaniu w Zabbix 2.0, niektóre strony interfejsu użytkownika nie wyglądały zbyt satysfakcjonująco na wąskich oknach przeglądarek (lub na niewielkich urządzeniach). W wersji Zabbix 2.2 wprowadzono znaczne ulepszenia, i teraz większość stron powinna się dużo lepiej skalować. Na przykład, strona ustawień ogólnych interfejsu użytkownika przed i po przeprojektowaniu wyglądają całkiem inaczej:
Przed przeprojektowaniem. | Po przeprojektowaniu. |
Rozwijanie/zwijanie bez przeładowywania strony
Udoskonalono stronę ostatnich danych tak, by było możliwe rozwijanie/zwijanie poszczególnych pozycji (dla aplikacji lub hostów) bez przeładowania strony. Zwiększyło to rozmiar strony, ale w efekcie znacznie zmniejszyło ilość zapytań i poprawiło wrażenia użytkowników.
Opcja Wyświetl szczegóły
Filtr posiada nową opcję Wyświetl szczegóły. Użyte, pozwala na poszerzenie wyświetlanych informacji o pozycji o takie detale jak okres odświeżania, ustawienia historii i trendów, typ pozycji i błędy pozycji (dobre/nieobsługiwane).
Dodatkowo dostępny jest bezpośredni link do szybkich ustawień pozycji bezpośrednio z sekcji monitorowania.
W szczegółach inwentarza hosta (dostęp przez Inwentarz → Hosty) są teraz dwie zakładki - Przegląd i Szczegóły. Podczas gdy Szczegóły, jak poprzednio, zawierają wszystkie dane inwentarza dostępne dla hosta, Przegląd zawiera niektóre przydatne informacje ogólne o hoście oraz linki do przygotowanych wstępnie skryptów i różnych aspektów konfiguracji hosta i monitorowanych danych.
Filtr tablicy zyskał nie tylko możliwość wyświetlania wybranych grup, ale także ich ukrywania. Dzięki temu można lepiej zarządzać wyświetlanymi hostami.
Na przykład, możemy mieć hosty 001, 002, 003 w Grupie A a hosty 002, 003 również w Grupie B. Jeżeli wybierzemy pokazywanie Grupy A i ukrywanie Grupy B w tym samym czasie, tylko dane hosta 001 zostaną wyświetlone na Tablicy.
Żeby włączyć funkcjonalność pokaż/ukryj, gdy zostanie wybrana opcja Wybrane w polu Grupy hostów, na formularzu filtra umieszczone zostaną dwa nowe pola. Wyświetl wybrane grupy i Ukryj wybrane grupy są polami samo-uzupełniającymi się - wystarczy zacząć pisać, a pojawi się lista rozwijalna ze zgodnymi grupami hostów do wyboru.
Jeżeli w polu Wyświetl wybrane grupy nic nie będzie, wyświetlane będą wszystkie grupy, z wyjątkiem tych, które zostały wybrane w polu Ukryj wybrane grupy.
Poprzednio przy potwierdzonych zdarzeniach był wyświetlany jedynie alias użytkownika - czasami nie był on wystarczający, szczególnie w systemach z wieloma użytkownikami.
Informacje w potwierdzeniach poszerzono zatem o imię i nazwisko, wyświetlane w formacie 'alias (imię nazwisko)'. Imię i nazwisko jest pobierane z odpowiednich (teraz opcjonalnych) pól konfiguracji użytkownika.
Imię i nazwisko występuje teraz w:
Poprzednio, podczas oglądania wyzwalaczy bez zdarzeń na stronie Monitorowanie → Wyzwalacze, można było zauważyć, że zdarzenie wyzwalacza zostało potwierdzone, ale nie było sposobu na obejrzenie potwierdzenia. Aktualnie można kliknąć stan wyzwalacza, żeby zobaczyć szczegóły.
Sekcja Monitorowanie → Przegląd zyskała nową opcję filtrowania według aplikacji.
Poprzednio, w przeglądzie hostów wyświetlane były wszystkie pozycje lub wszystkie wyzwalacze, co uniemożliwiało skupienie się na interesujących nas, ważnych informacjach. Teraz przegląd można ograniczyć poprzez wybór określonej aplikacji i wyświetlanie tylko tych pozycji lub wyzwalaczy, które są z nią związane.
Opcja filtrowania przeglądu dostępna jest również w Konfiguracja → Ekrany. Podczas konfiguracji elementów ekranu Przegląd danych i Przegląd wyzwalaczy , dostępne jest nowe pole Aplikacja, w którym można wprowadzić nazwę wymaganej aplikacji:
W efekcie w Monitorowanie → Ekrany możemy otrzymać bardzo prosty i zwięzły element ekranu:
Poprzednio, przy używaniu aktualizacji masowej w hostach lub pozycjach, była możliwość zamiany grup hostów i zamiany aplikacji pozycji. Poprzednie grupy hostów/aplikacje były odłączane a następnie były zamieniane na nowe.
Teraz, funkcja zamiany jest dalej dostępna, ale formularz aktualizacji masowej uzyskał dodatkowe pole dla dodawania grup hostów lub aplikacji pozycji. Używając tego pola można dodać zarówno istniejące grupy hostów/aplikacje jak też zupełnie nowe.
Dodatkowe pole jest polem samo-uzupełniającym się - wystarczy zacząć pisać, a pojawi się lista rozwijalna ze zgodnymi grupami hostów/aplikacjami. Jeżeli grupa hostów/aplikacja jest nowa, również pojawi się w liście rozwijalnej, ale będzie oznaczona jako (nowy) wpis za nazwą. Wystarczy przewinąć listę i wybrać.
Elementy ekranu Stan wyzwalaczy hosta i Stan wyzwalaczy grup hostów zostały zamienione na odpowiednio Problemy hosta i Problemy grupy hostów.
Poprzednio, wyzwalacze bez zdarzeń nie mogły być wyświetlane w tych dwóch elementach, ani w Ostatnie 20 problemów. W efekcie, czasami z ramek znikały wyzwalacze z problemami, których zdarzenia zostały usunięte przez proces porządkowania. Teraz, żeby to naprawić, wyświetlane są również wyzwalacze bez zdarzeń.
Skrypty globalne można teraz umieszczać w kategoriach. Żeby umieścić skrypt w kategoii, podczas konfiguracji nazwy skryptu należy dodać prefiks z odpowiednią ścieżką, na przykład: Domyślne/
.
W trakcie wyświetlania skryptów w menu w sekcji monitorowania, zostaną one zgrupowane według podanych kategorii:
Poprzednio w regułach wykrywania można było jedynie tworzyć lub usuwać testy wykrywania. Żeby zmienić istniejący test, trzeba było go najpierw usunąć, a następnie utworzyć nowy, co było dosyć uciążliwe w przypadku testów z kilkoma parametrami. W Zabbix 2.2, testy wykrywania można edytować bezpośrednio.
|<| |<| |-| |<|
W kilku miejscach interfejsu użytkownika udoskonalono pola wyboru hostów, szablonów i grup hostów. Poprzednio wyświetlało się okienko wyskakujące, teraz dostępne jest pole samo-uzupełniające się.
Wystarczy zacząć pisać, a pojawi się lista rozwijalna ze zgodnymi elementami.
Nowe pola wyboru wprowadzono w:
Poprzednio, przy wybieraniu warunków akcji tego samego typu, nie było możliwe wybranie więcej niż jednej wartości na raz. Żeby wybrać dziesięć hostów, trzeba było dodać każdy z dziesięciu hostów pojedynczo.
Teraz, w akcjach wyzwalaczy, dla warunków hostów/szablonów/wyzwalaczy/grup hostów, dostępne jest pole wielo-wyboru, w którym można wybrać wiele wartości na raz i dodać je jednocześnie. To samo udoskonalenie dostępne jest w akcjach dla zdarzeń wewnętrznych, w warunkach hostów/szablonów/grup hostów.
Pole wyboru jest polem samo-uzupełniającym się - wystarczy zacząć pisać, a pojawi się lista rozwijalna ze zgodnymi wartościami. Wystarczy przewinąć listę i wybrać.
Związanym z tym udoskonaleniem jest zwiększenie czytelności poprzez wyświetlanie czcionką pochyłą wybranych wartości warunków akcji (zamiast cudzysłowów).
W porównaniu do poprzedniej wersji, wyniki globalnego wyszukiwania zyskały linki do:
Udoskonalono formularz masowej aktualizacji hostów, upodabniając go do właściwości hostów. Wprowadzenie zakładek pozwala łatwiej odszukać właściwe kontrolki, a opcje takie jak pola inwentarza jest teraz łatwiej odróżnić od innych.
Przerobiono formularz edycji wyrażeń regularnych.
Poprzednio, rezultat porównania wyświetlany był od razu, niezależnie od możliwości wystąpienia warunków odwrotnych, takich jak Wynik jest NIEPRAWDZIWY. | Teraz wynik jest wyświetlany po sprawdzeniu obydwu warunków a rezultat wyświetlany jest prawidłowo. |
Przerobiono formularz konfiguracji okresów utrzymania, włączając w to bardziej zwarty wygląd oraz linki Usuń zamiast pól wyboru i linku Usuń wybrane.
Na większości formularzy wybierane jest automatycznie pierwsze pole.
Lista akcji pokazuje teraz, jakich typów mediów użyto do wysłania powiadomień.
Poprzednio dwie operacje z tym samym odbiorcą wyglądały identycznie, nawet jeżeli użyto innego medium. | Teraz różnica zauważalna jest od razu, widać typ mediów. |
Ponadto, przy wyświetlaniu użytkowników systemowych, do których zostało wysłane powiadomienie, w nawiasach za aliasem wyświetlane są imię i nazwisko użytkownika (zdefiniowane w konfiguracji użytkownika).
Przed Zabbix 2.2. | W Zabbix 2.2. |
Poprzednio, gdy używane były pola wyboru czasu, na przykład w okresach utrzymania, wyświetlany był domyślnie aktualny czas. Teraz wyświetlane jest 0 godzin i 0 minut.
Przed Zabbix 2.2. | W Zabbix 2.2. |
W wielu miejscach interfejsu użytkownika Zabbix określono kolory, włącznie z wykresami i właściwościami map sieci. Poprzednio, dla każdej strony kolory były ustawiane niezależnie, a komunikaty błędów różniły się od siebie. W tej chwili wszystkie strony używają jednolitych kolorów, a komunikaty błędów udoskonalono i ujednolicono.
Ujednolicono stronę "Brak dostępu" a opcja logowania zawsze jest dostępna.
Poprzednio, gdy osiągnięto limit elastycznego interwału dla pozycji, Zabbix nie mógł dodać więcej interwałów, i nie powiadamiał o tym użytkownika. Od Zabbix 2.2.0, po dodaniu 7 elastycznych interwałów do pozycji, wyświetlany jest komunikat "Dodano maksymalną liczbę elastycznych interwałów":
Żeby ułatwić wprowadzanie długich adresów e-mail, zwiększono długość pola Wyślij do we właściwościach mediów użytkownika.
Zmniejszono ogólne zużycie pamięci interfejsu i API, optymalizując funkcje dostępu do bazy danych i redukując ich użycie pamięci o 22-95%.
Poprzednio, włączenie trybu śledzenia błędów dla użytkownika gość nie powodowało pokazywania jakichkolwiek informacji śledzenia. Informacje śledzenie dla użytkownika gość dostępne są od Zabbix 2.2.
Poprzednio, nowo dodawane elementy map, dodawane były z etykietami ustawionymi na Dole, zamiast w domyślnym miejscu dla mapy. Teraz nowe elementy mapy mają etykiety ustawione w domyślnym miejscu dla mapy, i istnieje możliwość zmiany położenia w późniejszym czasie. Dodatkowo, zamiast - (pojedynczy myślnik), do identyfikacji domyślnej lokalizacji użyto tekstu Domyślnie.
Interfejs użytkownika używa teraz wyłącznie linków względnych. Poprzednio, na kilku stronach używano linków bezwzględnych, co powodowało problemy w wielu instalacjach serwerowych, np. z odwrotnymi proxy.
Przy akcjach zbiorowych lista rozwijalna poniżej listy oraz przycisk Wykonaj są wyłączane, gdy nie wybrano żadnej pozycji lub wszystkie pozycje są pozycjami utworzonymi przez niskopoziomowe reguły wykrywania. "Wybierz wszystkie" również jest wyłączane, gdy wszystkie pozycje są pozycjami utworzonymi przez niskopoziomowe reguły wykrywania.
Poprzednio, funkcja Drukuj powodowała przeładowanie całej strony. Zastąpiono to czysto JavaScript-owym rozwiązaniem, co przyśpieszyło w znacznym stopniu działanie.
Mało znaczący komunikat "Nie zdefiniowano <elementu>" zastąpiono wytłumaczeniem, jakiego dokładnie elementu nie znaleziono - na przykład, "Nie zdefiniowano utrzymania" zamieniono na "Nie znaleziono okresów utrzymania".
Poprzednio, pomocnik konfiguracji interfejsu użytkownika na stronie wymagań używał tak/nie do oznaczenia statusu parametru konfiguracji PHP. Zmieniono to na wyświetlanie włączone/wyłączone, by mieć zgodność z ustawieniami w php.ini
.
W interfejsie użytkownika z filtra poziomu wyzwalaczy usunięto "Wszystkie", identyczne w działaniu co "Niesklasyfikowane". Parametr GET show_severity=-1, poprzednio zwracający "Wszystkie", teraz domyślnie ustawia "Niesklasyfikowane".
Począwszy od wersji 2.2.0, serwer i proxy Zabbix automatycznie aktualizują bazę danych- ręczne wykonywanie poprawek SQL nie jest już wymagane.
Automatyczna aktualizacja bazy danych dla SQLite nie jest wspierana.
Z powodu zwiększenia zakresu ID wartości historii, proxy Zabbix używający PostgreSQL może teraz znacznie dłużej pracować.
Proxy Zabbix wysyła wartości razem z konfiguracją pozycji (jak nazwa hosta, czy klucz pozycji). Poprzednio, dane te odtwarzane były z lokalnej bazy danych, ale począwszy od Zabbix 2.2.0 są odtwarzane z cache'a konfiguracji - ale tylko dane historyczne (z wyjątkiem wykrywania sieci i zdarzeń automatycznej rejestracji agentów).
Poprzednio, reguły wykrywania niskopoziomowegoSNMP używały jedynie ostatnich wartości z OID. Stwarzało to problemy, gdy indeks był dłuższy. Na przykład, w następujących OID ostatnie dwie liczby reprezentują indeks:
CISCO-POP-MGMT-MIB::cpmDS1ActiveDS0s.6.0
CISCO-POP-MGMT-MIB::cpmDS1ActiveDS0s.6.1
CISCO-POP-MGMT-MIB::cpmDS1ActiveDS0s.7.0
Bez obsługi długich indeksów Zabbix tworzył pozycje dla pierwszych dwóch OID jako 0 i 1, i nie mógł utworzyć pozycji dla trzeciego OID. Teraz użyta będzie cały OID.
Dodatkowo, począwszy od wersji Zabbix 2.2.0 obsługiwane są indeksy tekstowe.
W celu przyspieszenia obliczeń wyrażeń wyzwalaczy, pozycji obliczanych/agregowanych i niektórych makr, wprowadzono w serwerze Zabbix cache wartości.
Zamiast wywołań do bazy danych, może być użyty pamięciowy cache danych historycznych. Jeżeli wartości historycznych nie ma w cache'u, brakujące wartości pobierane są z bazy danych i dodatkowo są zapisywane w cache'u.
Żeby włączyć nową funkcjonalność, w pliku konfiguracyjnym serwera Zabbix dodano nowy opcjonalny parametr ValueCacheSize.
Dostępne są dwie nowe wewnętrzne pozycje do monitorowania cache'a wartości: zabbix[vcache,buffer,<tryb>] i zabbix[vcache,cache,<parametr>]. Więcej szczegółów można zobaczyć w pozycjach wewnętrznych.
Poprzednio Zabbix mógł aktualizować kilka pól w tabeli 'items' dla każdej nowej wartości, co dawało w rezultacie wiele operacji aktualizacji SQL i oczywiście zmniejszało wydajność. Żeby zredukować liczbę operacji aktualizacji, teraz do przechowywania pól związanych z ostatnią i poprzednią wartością pozycji, używana jest pamięć współdzielona, znacząco zwiększając wydajność serwera.
Dodatkowo, testy wewnętrzne związane z kolejką używają pamięci współdzielonej zamiast dostępu do bazy danych.
Demony serwera i proxy Zabbix będą wykorzystywać dostęp zbiorczy do cache'y konfiguracji i historii. Zmniejszy to ilość wywołań systemowych z operacjami na semaforach i spowoduje wzrost wydajności.
Konkretniej, procesy pułapek Zabbix, gdy odbierały wartości zebrane przez aktywnych agentów lub proxy, pobierały poprzednio odebrane konfiguracje pozycji z cache'a raz za razem, blokując cache za każdym razem. Od wersji Zabbix 2.2 będą pobierać wszystkie wymagane informacje w jednej operacji.
Podobnie, procesy odbierające bramy Java Zabbix będą otrzymywać informacje na temat wszystkich pozycji do zebrania, w jednej operacji.
Podczas wysyłania danych konfiguracji do aktywnych agentów będą stosowane te same zasady - konfiguracja pozycji z cache'a jest pobierana w jednej operacji.
Demon serwera Zabbix będzie obsługiwał przetwarzanie równoległe funkcji bazujących na czasie. Użytkownik może określić liczbę procesów czasowych w nowym parametrze konfiguracji StartTimers.
Demony Zabbix będą teraz umieszczać w komunikatach logów nazwę pliku używanej konfiguracji. Na przykład, komunikaty startowe demona agenta powinny mieć dodatkową linie podobną do tej:
10159:20130404:184230.963 Starting Zabbix Agent [A Test Host]. Zabbix 2.1.0 (revision 34816).
10159:20130404:184230.963 using configuration file: /usr/local/etc/zabbix_agentd.conf
Poprzednio, zupełnie niewłaściwy JSON mógł być po cichu zaakceptowany przez serwer Zabbix. Począwszy od Zabbix 2.2, przed parsowaniem danych JSON, wykonywana jest kontrola składni. Otwarcie błędnych danych JSON od razu się nie uda, a błąd parsowania zostanie zalogowany jako ostrzeżenie.
Poprzednio podczas używania automatycznej rejestracji aktywnych agentów, można było użyć jedynie nazwy hosta do rozróżnienia hostów. W niektórych przypadkach (na przykład, węzły chmury Amazon) oprócz oryginalnej nazwy hosta, dobrze byłoby mieć dostęp do innych informacji wysyłanych przez agenta w celu automatycznej rejestracji.
Żeby takie informacje były dostępne, dodano obsługę dwóch nowych, dodatkowych parametrów konfiguracji agenta:
Metadane hosta używane są jedynie przez proces automatycznej rejestracji hosta.
Aktualnie procesy Zabbix pokazują typ procesu, numer instancji (jeżeli możliwe jest istnienie więcej niż jednego procesu danego typu), aktualną aktywność i niektóre dane statystyczne z poprzedniej aktywności, zmieniając swoją własną linię poleceń:
zabbix22 4584 1 0 14:55 ? 00:00:00 zabbix_server -c /home/zabbix22/zabbix_server.conf
zabbix22 4587 4584 0 14:55 ? 00:00:00 zabbix_server: configuration syncer [synced configuration in 0.041169 sec, idle 60 sec]
zabbix22 4588 4584 0 14:55 ? 00:00:00 zabbix_server: db watchdog [synced alerts config in 0.018748 sec, idle 60 sec]
zabbix22 4608 4584 0 14:55 ? 00:00:00 zabbix_server: timer #1 [processed 3 triggers, 0 events in 0.007867 sec, 0 maint.periods in 0.005677 sec, idle 30 sec]
zabbix22 4637 4584 0 14:55 ? 00:00:01 zabbix_server: history syncer #4 [synced 35 items in 0.166198 sec, idle 5 sec]
zabbix22 4673 4670 0 14:55 ? 00:00:00 zabbix_proxy: configuration syncer [synced config 15251 bytes in 0.111861 sec, idle 60 sec]
zabbix22 4674 4670 0 14:55 ? 00:00:00 zabbix_proxy: heartbeat sender [sending heartbeat message success in 0.013643 sec, idle 30 sec]
zabbix22 4688 4670 0 14:55 ? 00:00:00 zabbix_proxy: icmp pinger #1 [got 1 values in 1.811128 sec, idle 5 sec]
zabbix22 4690 4670 0 14:55 ? 00:00:00 zabbix_proxy: housekeeper [deleted 9870 records in 0.233491 sec, idle 3599 sec]
zabbix22 4701 4670 0 14:55 ? 00:00:08 zabbix_proxy: http poller #2 [got 1 values in 0.024105 sec, idle 1 sec]
zabbix22 4740 4738 0 14:55 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix22 4741 4738 0 14:55 ? 00:00:00 zabbix_agentd: listener #2 [processing request]
Linia komend głównego procesu pozostaje bez zmian (w poprzedniej wersji na platformach BSD było wyświetlane "main process")
Zobacz również Przeglądanie wydajności procesów Zabbix przy pomocy "ps" i "top".
** Nowe API prototypu hosta **
Dla niskopoziomowych reguł wykrywania zaimplementowano API prototypu hosta ze wsparciem dla maszyn wirtualnych, które można również użyć do zarządzania prototypami hostów. Posiada standardowe metody get
, create
, update
, delete
, isreadable
i iswritable
.
** Zmiany w parametrze "output" metody get **
Teraz parametr "output" będzie akceptował również tablice nazw właściwości, żeby zwracać we wszystkich metodach "get" jedynie wymagane dane. Nie będzie już obsługiwana wartość "shorten". Wartość "refer" staje się przedawniona i zostanie usunięta w Zabbix 2.4.
** Udoskonalenia podwyborów metody get **
Teraz wszystkie podwybory metody get obsługują również tablice nazw właściwości, żeby zwracać jedynie wymagane dane. Żeby zestandaryzować zwracane wyniki, będą one zwracane zawsze w postaci tablicy obiektów.
** API "Webcheck" zmieniono na "httptest" **
Żeby zachować konwencję nazewniczą z innymi obiektami związanymi z siecią www, API "webcheck" zamieniono na "httptest". Nazwa "webcheck" stała się przedawniona.
** Nowy typ danych "text" **
W celu przechowywania długich ciągów tekstowych wprowadzono nowy typ danych "text". Używany jest teraz do przechowywania komunikatów ostrzeżeń, tekstów i wartości historii logów. Należy zauważyć, że typ ten nie jest obsługiwany przez parametr "filter" metody get.
** Udoskonalona walidacja **
Udoskonalono wejście API, zwiększając restrykcyjność w większości metod.
** Jeszcze więcej zmian i poprawek **
Pełną listę zmian i poprawek można zobaczyć w liście zmian API.
** Pełny 64-bitowy zakres dla ID obiektów **
Teraz w konfiguracji pojedynczej, nie rozproszonej Zabbix korzysta z liczb 64-bitowych ze znakiem do przechowywania identyfikatorów obiektów. Zatem najwyższy dostępny numer obiektu jednego typu to 263-1.
** Dodatkowe typy usług w warunkach akcji wykrywania sieci **
W konfiguracji akcji wykrywania sieci dostępne są teraz warunki dla typów usług HTTPS i telnet.
** Usunięto powielające się indeksy w schemacie bazy danych MySQL Zabbix **
W wielu tabelach bazy danych MySQL usunięto nadmiarowe indeksy. Powinno to zwiększyć wydajność oraz zredukować rozmiar bazy MySQL w następujących przypadkach:
Dodano indeksy na kolumnach tabel potomnych posiadających klucze obce
Indeksy takie są automatycznie tworzone w MySQL, teraz żeby zwiększyć wydajność serwera Zabbix oraz operacji interfejsu użytkownika tworzone są również w bazach PostgreSQL, Oracle, DB2.
Biblioteka łączona dynamicznie z funkcjonalnością sendera Zabbix dla Windows
Na platformach Windows dostępna jest biblioteka łączona dynamicznie, posiadająca podstawowe funkcjonalności sendera Zabbix. Pozwala ona wysyłać dane do serwera/proxy bez uruchamiania procesu sendera Zabbix. Szczegółowe informacje można obejrzeć w dokumentacji.
Zmiany stanu wyjścia programu Zabbix send
Program Zabbix send zakończy ze stanem 0 tylko wtedy, gdy wszystkie wartości zostaną wysłane i poprawnie przetworzone. Jeżeli przetwarzanie przynajmniej jednej wartości się nie powiedzie, zwróci stan 2. Jeżeli wysyłanie się nie powiedzie zwróci stan 1. Dodatkowo jeżeli nie zostały podane żadne argumenty lub nie określono serwera, zwróci stan 1, a dla opcji -h i -V stan będzie równy 0 (przed Zabbix 2.2.0 stan wyjścia w takiej sytuacji był równy 255).
Udoskonalone raportowanie błędów w interfejsie użytkownika
Poprzednio, gdy host SNMP, JMX i IPMI stawał się niedostępny, komunikat błędu wyzwalacza mógł zawierać odwołanie do agenta Zabbix. Jako że agent Zabbix w takich przypadkach nie jest wykorzystywany, w Zabbix 2.2 komunikaty te odwołują się bezpośrednio do agentów SNMP, JMX i IPMI.
Bardziej aktualna pomoc dla kluczy pozycji wbudowanych
Dane pomocy dla kluczy pozycji wbudowanych powinny być bardziej aktualne - poprzednio były zapisywane do bazy jedynie przy aktualizacjach do głównych wersji. Począwszy od wersji 2.2 przechowywane są w interfejsie użytkownika a każda aktualizacja interfejsu użytkownika daje udostępnia informacje o nowych lub udoskonalonych pozycjach.