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

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 .
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

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.
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.
Pronalazimo metrike koristeći filter na jeziku upita PromQL
Trenutno postoji više od 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.
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).
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."
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!
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!
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!
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!
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.
Povezujemo JSON s informacijama o procesima uz LLD
Mogućnosti su zaista beskrajne!
Podrška za TimescaleDB
Š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.
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.
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.
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!
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.
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.
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.
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.
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.
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.

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 (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.
Ne zaboravite na popularni 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 .
Koristitne veze
—
—
—
Izvor: habr.com
