Izašao Zabbix 4.2

Naš tim je vrlo uzbuđen što može podijeliti novost da je objavljena slobodna platforma za praćenje s otvorenim kodom Zabbix 4.2!

Izašao Zabbix 4.2

Je li verzija 4.2 odgovor na glavno pitanje života, svemira i praćenja u cijelosti? Pogledajmo!

Podsjećamo da je Zabbix univerzalni sustav za praćenje performansi i dostupnosti poslužitelja, inženjerske i mrežne opreme, aplikacija, baza podataka, sustava virtualizacije, kontejnera, IT usluga, web usluga.

Zabbix provodi cjelokupni ciklus od prikupljanja podataka, preko njihove obrade i transformacije, analize prikupljenih podataka, do pohrane tih podataka, vizualizacije i slanja obavijesti koristeći pravila eskalacije. Sustav također nudi fleksibilne mogućnosti proširenja metoda prikupljanja podataka i obavijesti, kao i mogućnosti automatizacije putem API-ja. Jedinstveno web sučelje omogućuje centralizirano upravljanje konfiguracijama praćenja i raspodjelu prava pristupa različitim korisničkim grupama. Kod projekta slobodno se distribuira pod licencom GPLv2.

Zabbix 4.2 je nova verzija koja nije LTS s kraćim vremenom službene podrške. Korisnicima koji su orijentirani na dugi ciklus eksploatacije softverskih proizvoda preporučujemo korištenje LTS verzija, kao što su 3.0 i 4.0.

Dakle, razgovarajmo o novostima i glavnim poboljšanjima verzije 4.2:

Više službenih platformi

Izašao Zabbix 4.2
Osim postojećih službenih paketa, također nudimo nove gradnje za:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI za Windows agenta
  • Docker slike

Ugrađena podrška za Prometheus za praćenje aplikacija

Zabbix može prikupljati podatke na različite načine (push/pull) iz raznih izvora podataka. To su JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenti i skripte te drugi izvori. A sada dočekajte podršku za Prometheus!

Striktno govoreći, prikupljanje podataka iz Prometheus izvođača bilo je moguće i ranije zahvaljujući tipu elemenata podataka HTTP/HTTPS i regularnim izrazima.

Međutim, nova verzija omogućuje maksimalno učinkovito korištenje Prometheus-a zahvaljujući ugrađenoj podršci za jezik upita PromQL. Korištenje zavisnih metrika omogućuje prikupljanje i obradu podataka na najučinkovitiji način: jednom se pozovemo za podatke, a zatim ih raspodijelimo prema potrebnim metrikama.

Izašao Zabbix 4.2
Dobijamo vrijednost konkretne metrike

Važno je napomenuti da nisko-nivo detektiranje može koristiti prikupljene podatke za automatsko stvaranje metrika. U tom slučaju, Zabbix pretvara dobivene podatke u JSON format, s kojim je vrlo jednostavno raditi.

Izašao Zabbix 4.2
Pronalazimo metrike koristeći filter na jeziku upita PromQL

Trenutno postoji više od 300 integracija i recepta za praćenje spoljnih usluga i aplikacija putem Zabbixa. Podrška za Prometheus omogućit će dodavanje cijelog niza aplikacija koje imaju službene ili zajednički podržane Prometheus izvođače. Ovo je praćenje popularnih usluga, kontejnera i cloud resursa.

Efikasno visoko frekventno praćenje

Želimo li otkrivati probleme što je brže moguće? Naravno, nema sumnje! Najčešće takav pristup dovodi do toga da moramo prečesto ispitivati uređaje i prikupljati podatke, što opet stvara veću opterećenost na sistemu za praćenje. Kako to izbjeći?

Implementirali smo mehanizam throttlinga u pravilima preprocesiranja. Throttling, u osnovi, omogućava propuštanje istih vrijednosti.

Pretpostavimo da pratimo stanje kritične aplikacije. Svake sekunde provjeravamo funkcioniše li naša aplikacija ili ne. U tom slučaju, u Zabbix dolazi neprekidan tok podataka od 1 (radi) i 0 (ne radi). Na primer: 1111111111110001111111111111…

Kada je s našom aplikacijom sve u redu, u Zabbix dolazi tok samo jedinica. Trebaju li se obraditi? U osnovi, ne, jer nas zanimaju samo promjene stanja aplikacije, ne želimo prikupljati i skladištiti toliko podataka. Pa, throttling omogućava propuštanje vrijednosti ako je identična prethodnoj. Na kraju ćemo dobiti samo podatke o promjeni stanja, na primjer, 01010101… Sasvim dovoljno informacija za otkrivanje problema!

Propuštene vrijednosti Zabbix jednostavno ignorira, ne zapisuju se u povijest i ne utiču na triggere. Iz perspektive Zabbixa, propuštene vrijednosti ne postoje.

Izašao Zabbix 4.2
Ignorišemo ponovljene vrijednosti

Odlično! Sada možemo vrlo često ispitivati uređaje, a istovremeno odmah otkrivati probleme bez pohrane nepotrebnih informacija u bazi podataka.

A što je s grafikonima? Oni će biti prazni zbog nedostatka podataka! Kako možemo znati prikuplja li Zabbix podatke ako će većina tih podataka biti propuštena?

I o tome smo razmišljali! Zabbix nudi još jedan oblik throttlinga, throttling s kontrolnim točkama (throttling with heartbeat).

Izašao Zabbix 4.2
Provjeravamo svake minute je li metrika živa

U ovom slučaju, Zabbix će, unatoč ponavljajućem toku podataka, zadržati barem jednu vrijednost u zadanom vremenskom intervalu. Ako se podaci prikupljaju svake sekunde, a interval je postavljen na jednu minutu, Zabbix će pretvoriti svakosekundni tok jedinica u svakominutni tok. Nije teško primijetiti da ovo dovodi do 60 puta manjeg volumena podataka.

Sada smo sigurni da se podaci prikupljaju, funkcija trigera nodata() radi i s grafikonima je sve u redu!

Validacija prikupljenih podataka i obrada grešaka

Nitko od nas ne želi prikupljati grešne ili nepouzdane podatke. Na primjer, znamo da senzor temperature treba vraćati podatke u rasponu od 0°C do 100°C i svaka druga vrijednost trebala bi se smatrati greškom i/ili se ignorirati.

Sada je to moguće s pomoću ugrađenih pravila u preprocesiranju za validaciju podataka prema ili nesukladnosti s regularnim izrazima, rasponom vrijednosti, JSONPath i XMLPath.

Sada možemo upravljati reakcijama na greške. Ako je temperatura izvan raspona, možemo jednostavno ignorirati takvu vrijednost, postaviti zadanu vrijednost (na primjer, 0°C), ili definirati vlastitu poruku o grešci, poput "Senzor je oštećen" ili "Zamijenite bateriju."

Izašao Zabbix 4.2
Temperatura mora biti od 0 do 100, ostalo ignoriramo

Dobar primjer korištenja validacije je mogućnost provjere ulaznih podataka na prisutnost poruke o grešci i postavljanje te greške za cijelu metriku. Ovo je vrlo korisna funkcionalnost pri dobivanju podataka iz vanjskih API-ja.

Svaka transformacija podataka pomoću JavaScripta

Ako ugrađena pravila preprocesiranja nisu dovoljna, sada nudimo potpunu slobodu korištenjem proizvoljnih skripti u JavaScriptu!

Izašao Zabbix 4.2
Samo jedan redak koda za pretvaranje stupnjeva Fahrenheita u stupnjeve Celzijusa

To otvara neograničene mogućnosti obrade dolaznih podataka. Praktična korist ove funkcionalnosti je u tome što nam više nisu potrebni vanjski skripti koji smo koristili za bilo kakve operacije s podacima. Sada sve to možemo učiniti pomoću JavaScripta.

Sada su mogući transformacija podataka, agregacija, filtri, aritmetičke i logičke operacije i mnogo, mnogo više!

Izašao Zabbix 4.2
Izvlačimo korisne informacije iz izlaza Apache mod_status!

Testiramo preprocesiranje

Sada ne moramo nagađati kako funkcionišu naši složeni scenariji preprocesiranja. Pojavila se jednostavna provjera ispravnosti rada preprocesiranja direktno iz sučelja!

Izašao Zabbix 4.2

Obrađujemo milijune metrike u sekundi!

Do Zabbix 4.2 preprocesiranjem se isključivo bavio Zabbix server, što je ograničavalo mogućnosti primjene proxyja za raspodjelu opterećenja.

Počevši od verzije Zabbix 4.2, dobijamo nevjerojatno učinkovito skaliranje opterećenja zahvaljujući podršci preprocesiranja na strani proxyja. Sada se time bave proxyji!

Izašao Zabbix 4.2

U kombinaciji s throttlingom, takav pristup omogućuje izvođenje visoko frekventnog skalabilnog nadzora i obavljanje milijuna provjera u sekundi, a da pri tome ne opterećujemo središnji Zabbix server. Proxyji obrađuju ogromne količine podataka, pri čemu do Zabbix servera zahvaljujući throttlingu dolazi samo mali dio, jedno do dva reda manji.

Jednostavnije nisko nivo detekcija

Podsjetimo, nisko nivo detekcija (LLD) je vrlo moćan mehanizam za automatsko otkrivanje bilo koje vrste resursa za nadzor (datotečnih sistema, procesa, aplikacija, servisa itd.) i automatsko kreiranje na njihovoj osnovi elemenata podataka, okidača, mrežnih čvorova i drugih objekata. To nevjerojatno štedi vrijeme, pojednostavljuje konfiguraciju i omogućuje korištenje jednog predloška za mrežne čvorove koji imaju različite resurse za nadzor.

Nisko nivo detekcija zahtijevala je specijalno oblikovani JSON kao ulaz. To više neće biti slučaj!

Zabbix 4.2 omogućava nisko-nivo otkrivanje (LLD) da koristi proizvoljno formatirane podatke u JSON formatu. Zašto je to važno? To omogućava komunikaciju s vanjskim API-ima bez korištenja skripti i korištenje dobivenih informacija za automatsko kreiranje mrežnih čvorova, elemenata podataka i okidača.

U kombinaciji s podrškom za JavaScript, to stvara fantastične mogućnosti za kreiranje uzoraka rada s raznim izvorima podataka, poput, na primjer, cloud API-a, API-a aplikacija, podataka u formatima XML, CSV i slično.

Izašao Zabbix 4.2
Povezujemo JSON s informacijama o procesima uz LLD

Mogućnosti su zaista beskrajne!

Podrška za TimescaleDB

Izašao Zabbix 4.2

Što je TimescaleDB? To je obični PostgreSQL plus proširenje modula od tima TimescaleDB. TimescaleDB obećava bolju učinkovitost zahvaljujući efikasnijim algoritmima i strukturi podataka.

Osim toga, još jedna prednost TimescaleDB-a je automatsko particioniranje tablica s historijom. TimescaleDB je brzina i jednostavnost održavanja! Iako, moram napomenuti da naš tim još uvijek nije provodio ozbiljno poređenje performansi s običnim PostgreSQL-om.

Trenutno je TimescaleDB relativno mlad i brzo rastući proizvod. Koristite s oprezom!

Jednostavno upravljanje oznakama

Ako se ranije oznakama moglo upravljati samo na razini okidača, sada je upravljanje oznakama mnogo fleksibilnije. Zabbix podržava oznake za uzorke i mrežne čvorove!

Sve otkrivene probleme dobivaju oznake ne samo okidača, već i mrežnog čvora, kao i uzoraka ovog mrežnog čvora.

Izašao Zabbix 4.2
Definiramo oznake za mrežni čvor

Fleksibilnija automatska registracija

Zabbix 4.2 omogućava filtriranje mrežnih čvorova po imenu, koristeći regularne izraze. To omogućava kreiranje raznih scenarija otkrivanja za različite grupe mrežnih čvorova. Posebno je korisno ako se koriste složena pravila imenovanja uređaja.

Fleksibilnije otkrivanje mreže

Još jedno poboljšanje odnosi se na imenovanje mrežnih čvorova. Pojavila se mogućnost upravljanja imenima uređaja prilikom otkrivanja mreže i dobivanja imena uređaja iz vrijednosti metrike.

To je veoma potrebna funkcionalnost, posebno prilikom otkrivanja mreže pomoću SNMP-a i Zabbix agenta.

Izašao Zabbix 4.2
Automatski dodjeljujemo lokalno ime mrežnog čvora vidljivom imenu

Provjera funkcionalnosti metoda obavještavanja

Sada možete iz web sučelja poslati testnu poruku i provjeriti radi li metoda obavještavanja. Ova funkcionalnost je posebno korisna za provjeru skripti integracije Zabbixa s raznim sustavima obavještavanja, sustavima zadataka i drugim vanjskim programima i API-ima.

Izašao Zabbix 4.2

Udaljeno nadgledanje komponenata infrastrukture Zabbix

Pojavila se mogućnost udaljenog nadgledanja internih metrika Zabbix servera i proxyja (metrika performansi i funkcionalnosti komponenata Zabbix).

Zašto je to potrebno? Ova funkcionalnost omogućava pratiti interne metrike servera i proxyja, brzo otkrivati i obavještavati o problemima, čak i kada su sami komponente preopterećene ili, na primjer, kada proxy sadrži veliki volumen neodposlanih podataka.

Podrška za HTML format u e-mail porukama

Sada nismo ograničeni samo na običan tekst i možemo stvarati lijepe e-mail poruke zahvaljujući podršci za HTML format. Vrijeme je za proučavanje HTML + CSS!

Izašao Zabbix 4.2
Poruke su lakše za percipiranje čak i uz minimalnu upotrebu HTML-a

Pristup vanjskim sustavima iz mrežnih karata

Pojavila se podrška za cijeli niz novih makroa u korisničkim URL-ovima za bolju integraciju karata s vanjskim sustavima. To omogućuje otvaranje, primjerice, tiketa u sustavu zadataka jednim ili dva klika na ikonu čvora mreže.

Izašao Zabbix 4.2
Jednim klikom otvaramo tiket u Jiri

Pravila otkrivanja mogu biti zavisni elementi podataka

Zašto je to potrebno — upitat ćete. To omogućuje korištenje podataka osnovne metrike za otkrivanje i za direktno prikupljanje podataka. Na primjer, u slučaju prikupljanja podataka s Prometheus izvođača, Zabbix će izvršiti jedan HTTP zahtjev i odmah iskoristiti dobivene informacije za sve zavisne elemente podataka: vrijednosti metrika i pravila niskonivoj otkrivanja.

Novi način vizualizacije problema na kartama

Pojavila se podrška za animirane GIF slike na kartama za uočljiviju vizualizaciju problema.

Izašao Zabbix 4.2
Problematične uređaje postali su uočljiviji

Izvlačenje podataka iz HTTP zaglavlja u Web nadzoru

U Web nadzoru dodana je mogućnost odabira podataka iz dobivenog HTTP zaglavlja.

To omogućuje stvaranje višestepeni scenarija web-monitoringa ili nadzora vanjskih API-a, koristeći token autorizacije dobiven u jednom od koraka.

Izašao Zabbix 4.2
Izdvajamo AuthID iz HTTP zaglavlja

Zabbix Sender koristi sve IP adrese

Zabbix Sender sada šalje podatke putem svih IP adresa iz parametra ServerActive konfiguracijske datoteke agenta.

Izašao Zabbix 4.2

Zgodni novi filtar u konfiguraciji okidača

Stranica konfiguracije okidača sada sadrži prošireni filtar za brzi i jednostavni odabir okidača prema zadanim kriterijima.

Izašao Zabbix 4.2
Odabiremo okidače vezane uz K8S servis

Prikazujemo točno vrijeme

Ovdje je sve jednostavno, sada Zabbix prikazuje točno vrijeme kada pređete mišem preko grafikona.

Izašao Zabbix 4.2

Ostale novine

  • Implementiran je predvidljiviji algoritam za promjenu redoslijeda widgeta na nadzornoj ploči
  • Mogućnost masovnog mijenjanja postavki prototipa elementa podataka
  • Podrška za IPv6 za DNS provjere: „net.dns“ i „new.dns.record“
  • Dodana opcija „skip“ za provjere „vmware.eventlog“
  • Greška u izvršenju koraka preprocesiranja uključuje broj koraka

Kako se ažurirati?

Za prelazak s ranijih verzija potrebna je samo instalacija novih binarnih datoteka (poslužitelji i proxy) i novog sučelja. Zabbix će automatski provesti postupak ažuriranja baze podataka. Instalacija novih agenata neće biti potrebna.

Organiziramo besplatne webinare za sve koji žele saznati više o Zabbix 4.2 i imati priliku postaviti pitanja timu Zabbix. Prijavite se!

Ne zaboravite na popularni Telegram kanal Zabbix zajednice, gdje uvijek možete dobiti savjet i odgovore na svoja pitanja na ruskom jeziku od iskusnijih kolega, a ako imate sreće, i od samih Zabbix developera. Novajlijama preporučujemo grupu za novajlije.

Koristitne veze

— Release notes
— Upgrade notes
— Izvorni članak

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster