Naš tim sa velikim zadovoljstvom dijeli vijest da je pušten besplatan sistem za praćenje otvorenog koda !

Da li je verzija 4.2 odgovor na glavno pitanje života, univerzuma i praćenja uopšte? Hajde da pogledamo!
Podsjetimo, Zabbix je univerzalni sustav za praćenje performansi i dostupnosti servera, inženjerske i mrežne opreme, aplikacija, baza podataka, virtualizacijskih sistema, kontejnera, IT servisa i web servisa.
Zabbix implementira puni ciklus od prikupljanja podataka, njihove obrade i transformacije, analize primljenih podataka, do pohranjivanja ovih podataka, vizualizacije i slanja upozorenja korištenjem pravila eskalacije. Sistem takođe pruža fleksibilne opcije za proširenje metoda prikupljanja podataka i upozorenja, kao i mogućnosti automatizacije putem API-ja. Jedinstveni web interfejs implementira centralizovano upravljanje konfiguracijama nadgledanja i distribucijom prava pristupa različitim grupama korisnika. Projektni kod se slobodno distribuira pod licencom .
Zabbix 4.2 je nova ne-LTS verzija sa skraćenim periodom službene podrške. Za korisnike koji su fokusirani na dug radni ciklus softverskih proizvoda, preporučujemo korištenje LTS verzija, kao što su 3.0 i 4.0.
Dakle, hajde da pričamo o novim funkcijama i velikim poboljšanjima u verziji 4.2:
Više zvaničnih platformi

Pored postojećih zvaničnih paketa, nudimo i nove verzije za:
- RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
- MSI za Windows agent
- Docker slike
Ugrađena Prometheus podrška za praćenje aplikacija
Zabbix može prikupljati podatke na različite načine (push/pull) iz različitih izvora podataka. To su JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenti i skripte i drugi izvori. Sada upoznajte podršku Prometheusa!
Strogo govoreći, prikupljanje podataka od Prometheus izvoznika bilo je moguće u prošlosti zahvaljujući HTTP/HTTPS tipu elementa podataka i regularnim izrazima.
Međutim, nova verzija vam omogućava da radite sa Prometheusom što je moguće efikasnije zahvaljujući ugrađenoj podršci za PromQL jezik upita. A upotreba zavisnih metrika omogućava vam da prikupljate i obrađujete podatke najefikasnije: tražite podatke jednom, a onda ih mi sortiramo prema potrebnim metrikama.
Dobivanje vrijednosti određene metrike
Važno je napomenuti da otkrivanje niskog nivoa sada može koristiti prikupljene podatke za automatsko generiranje metrike. U ovom slučaju Zabbix konvertuje primljene podatke u JSON format, što je vrlo pogodno za rad.
Pronalaženje metrike pomoću filtera u PromQL jeziku upita
Trenutno ih ima više usluge i aplikacije trećih strana koje koriste Zabbix. Prometheus podrška će vam omogućiti da dodate čitav skup aplikacija koje imaju zvanične ili podržane Prometheus izvoznike. Ovo je praćenje popularnih servisa, kontejnera i cloud resursa.
Efikasno visokofrekventno praćenje
Da li želimo da otkrijemo probleme što je brže moguće? Naravno, bez sumnje! Češće nego ne, ovaj pristup dovodi do toga da moramo prečesto ispitivati uređaje i prikupljati podatke, što dodatno opterećuje sistem praćenja. Kako to izbjeći?
Implementirali smo mehanizam prigušivanja u pravila predobrade. Prigušivanje nam, u suštini, daje mogućnost da preskočimo identične vrijednosti.
Pretpostavimo da pratimo stanje kritične aplikacije. Svake sekunde provjeravamo da li naša aplikacija funkcionira ili ne. U isto vrijeme, Zabbix prima kontinuirani tok podataka od 1 (radi) i 0 (ne radi). Na primjer: 1111111111110001111111111111…
Kada je sve u redu s našom aplikacijom, tada Zabbix prima tok samo jedne. Da li ih treba obraditi? Općenito, ne, jer nas zanima samo promjena stanja aplikacije, ne želimo prikupljati i pohranjivati toliko podataka. Dakle, prigušivanje vam omogućava da preskočite vrijednost ako je identična prethodnoj. Kao rezultat toga, dobićemo samo podatke o promjeni stanja, na primjer 01010101... Ovo je sasvim dovoljno informacija za otkrivanje problema!
Zabbix jednostavno ignorira vrijednosti koje nedostaju, one se ne bilježe u historiji i ni na koji način ne utiču na okidače. Sa Zabbix-ove tačke gledišta, nema vrednosti koje nedostaju.
Zanemari duple vrijednosti
Odlično! Sada možemo vrlo često anketirati uređaje i odmah otkriti probleme bez pohranjivanja nepotrebnih informacija u bazu podataka.
Šta je sa grafikom? Oni će biti prazni zbog nedostatka podataka! I kako možete reći da li Zabbix prikuplja podatke ako većina ovih podataka nedostaje?
Razmišljali smo i o tome! Zabbix nudi drugu vrstu prigušenja, prigušivanje otkucajima srca.
Jednom u minuti provjeravamo da li je metrika živa
U ovom slučaju, Zabbix će, uprkos ponavljajućem toku podataka, pohraniti najmanje jednu vrijednost u određenom vremenskom intervalu. Ako se podaci prikupljaju jednom u sekundi, a interval je postavljen na jednu minutu, tada će Zabbix pretvoriti svaki drugi tok jedinica u tok svake minute. Lako je vidjeti da to dovodi do 60-struke kompresije primljenih podataka.
Sada smo sigurni da se podaci prikupljaju, funkcija okidača nodata() radi i da je sve u redu sa grafovima!
Validacija prikupljenih podataka i rukovanje greškama
Niko od nas ne želi prikupljati pogrešne ili nepouzdane podatke. Na primjer, znamo da temperaturni senzor treba da vraća podatke između 0°C i 100°C, a bilo koju drugu vrijednost treba smatrati lažnom i/ili zanemariti.
Sada je to moguće korištenjem pravila za provjeru valjanosti podataka ugrađenih u pretprocesu radi usklađenosti ili neusklađenosti s regularnim izrazima, rasponima vrijednosti, JSONPath i XMLPath.
Sada možemo kontrolisati reakciju na grešku. Ako je temperatura izvan opsega, onda možemo jednostavno zanemariti takvu vrijednost, postaviti zadanu vrijednost (na primjer, 0°C) ili definirati vlastitu poruku o grešci, na primjer, “Sensor oštećen” ili “Zamijeni bateriju”.
Temperatura bi trebala biti od 0 do 100, ostalo zanemarite
Dobar primjer upotrebe provjere valjanosti je mogućnost provjere ulaznih podataka na prisutnost poruke o grešci i postavljanje ove greške za cijelu metriku. Ovo je vrlo korisna funkcija pri preuzimanju podataka iz vanjskih API-ja.
Bilo koja transformacija podataka koristeći JavaScript
Ako nam ugrađena pravila za prethodnu obradu nisu bila dovoljna, sada nudimo potpunu slobodu koristeći prilagođene JavaScript skripte!
Samo jedan red koda za pretvaranje Farenhajta u Celzijus
Ovo otvara beskrajne mogućnosti za obradu dolaznih podataka. Praktična prednost ove funkcionalnosti je da nam više nisu potrebne vanjske skripte koje smo koristili za bilo kakvu manipulaciju podacima. Sada se sve ovo može uraditi koristeći JavaScript.
Sada je moguća transformacija podataka, agregacija, filteri, aritmetičke i logičke operacije i još mnogo toga!
Izvlačenje korisnih informacija iz Apache mod_status izlaza!
Testiranje predprocesiranja
Sada ne moramo da nagađamo kako rade naše složene skripte za prethodnu obradu. Sada postoji zgodan način da provjerite da li predobrada radi ispravno direktno iz interfejsa!
Obrađujemo milione metrika u sekundi!
Prije Zabbixa 4.2, preprocesiranjem je upravljao isključivo Zabbix server, što je ograničilo mogućnost korištenja proksija za distribuciju opterećenja.
Počevši od Zabbixa 4.2, dobijamo neverovatno efikasno skaliranje opterećenja kroz podršku za pretprocesiranje na proxy strani. Sada to rade proksiji!
U kombinaciji sa prigušivanjem, ovaj pristup omogućava visokofrekventno, opsežno praćenje i milione provjera u sekundi, bez učitavanja centralnog Zabbix servera. Proksiji obrađuju gigantske količine podataka, dok samo mali dio njih dolazi do Zabbix servera zbog throttlinga, jedan ili dva reda veličine manje.
Lakše otkrivanje niskog nivoa
Podsjetimo da je otkrivanje niskog nivoa (LLD) vrlo moćan mehanizam za automatsko otkrivanje bilo koje vrste nadzornih resursa (sistema datoteka, procesa, aplikacija, usluga, itd.) i automatskog kreiranja podataka, pokretača, mrežnih čvorova na temelju njih i drugih objekata. Ovo štedi nevjerovatno vrijeme, pojednostavljuje konfiguraciju i omogućava korištenje jednog predloška na svim hostovima s različitim resursima za praćenje.
Otkrivanje niskog nivoa zahtijeva posebno formatiran JSON kao ulaz. To je to, to se više neće desiti!
Zabbix 4.2 omogućava otkrivanje niskog nivoa (LLD) za korištenje proizvoljnih podataka u JSON formatu. Zašto je to važno? Ovo vam omogućava da komunicirate, na primjer, s vanjskim API-jima bez pribjegavanja skriptama i korištenje primljenih informacija za automatsko kreiranje hostova, elemenata podataka i pokretača.
Zajedno sa podrškom za JavaScript, ovo stvara fantastične mogućnosti za kreiranje predložaka za rad sa različitim izvorima podataka, kao što su, na primer, API-ji u oblaku, API-ji aplikacija, podaci u XML, CSV formatima i tako dalje i tako dalje.
Povezivanje JSON-a sa informacijama o procesima sa LLD
Mogućnosti su zaista beskrajne!
TimescaleDB podrška
Šta je TimescaleDB? Ovo je običan PostgreSQL plus modul proširenja iz TimescaleDB tima. TimescaleDB obećava bolje performanse zbog efikasnijih algoritama i strukture podataka.
Dodatno, još jedna prednost TimescaleDB-a je automatsko particioniranje tabela sa istorijom. TimescaleDB je brz i lak za održavanje! Ipak, moram napomenuti da naš tim još nije napravio ozbiljno poređenje performansi sa regularnim PostgreSQL-om.
U ovom trenutku, TimescaleDB je prilično mlad proizvod koji se brzo razvija. Koristite oprezno!
Jednostavno upravljanje oznakama
Ako se ranije oznakama moglo upravljati samo na nivou okidača, sada je upravljanje oznakama mnogo fleksibilnije. Zabbix podržava oznake za šablone i hostove!
Svi otkriveni problemi dobijaju oznake ne samo okidača, već i hosta, kao i šablona ovog hosta.
Definiranje oznaka za mrežni čvor
Fleksibilnija automatska registracija
Zabbix 4.2 vam omogućava da filtrirate hostove po imenu koristeći regularne izraze. Ovo omogućava kreiranje različitih scenarija detekcije za različite grupe mrežnih čvorova. Posebno je zgodno ako koristimo složena pravila imenovanja uređaja.
Fleksibilnije otkrivanje mreže
Još jedno poboljšanje odnosi se na imenovanje mrežnih čvorova. Sada je moguće upravljati imenima uređaja tokom otkrivanja mreže i dobiti ime uređaja iz metričke vrijednosti.
Ovo je vrlo neophodna funkcionalnost, posebno za otkrivanje mreže koristeći SNMP i Zabbix agent.
Automatski dodijelite lokalno ime hosta vidljivom imenu
Provjera funkcionalnosti metoda obavještavanja
Sada možete sebi poslati probnu poruku direktno sa web sučelja i provjeriti funkcionira li metoda obavještavanja. Ova funkcionalnost je posebno korisna za testiranje skripti za kombinovanje Zabbixa sa različitim sistemima upozorenja, sistemima zadataka i drugim eksternim programima i API-jima.
Daljinsko praćenje komponenti Zabbix infrastrukture
Sada je moguće daljinski pratiti interne metrike Zabbix servera i proxyja (metrika performansi i zdravlje Zabbix komponenti).
čemu služi? Funkcionalnost vam omogućava da nadgledate interne metrike servera i proxy servera izvana, omogućava vam da brzo otkrijete i obavijestite o problemima čak i ako su same komponente preopterećene ili, na primjer, postoji velika količina neposlanih podataka na proxyju.
Podrška za HTML format za poruke e-pošte
Sada nismo ograničeni na običan tekst i možemo kreirati prekrasne e-poruke, zahvaljujući podršci HTML formata. Vrijeme je da naučite HTML + CSS!
Poruke je lakše razumjeti čak i uz minimalnu upotrebu HTML-a
Pristup eksternim sistemima sa mrežnih kartica
Postoji podrška za čitav skup novih makroa u prilagođenim URL-ovima za bolju integraciju mapa sa eksternim sistemima. Ovo vam omogućava da otvorite, na primjer, tiket u sistemu zadataka jednim ili dva klika na ikonu mrežnog čvora.
Otvorite kartu u Jira jednim klikom
Pravilo otkrivanja može biti zavisna stavka podataka
Zašto je to potrebno - pitate se. Ovo omogućava da se osnovni metrički podaci koriste za otkrivanje i direktno prikupljanje podataka. Na primjer, u slučaju prikupljanja podataka od Prometheus izvoznika, Zabbix će napraviti jedan HTTP zahtjev i odmah koristiti primljene informacije za sve zavisne elemente podataka: metričke vrijednosti i pravila otkrivanja niskog nivoa.
Novi način za vizualizaciju problema na kartama
Sada postoji podrška za animirane GIF slike na mapama za vidljiviju vizualizaciju problema.
Problematični uređaji su postali vidljiviji
Ekstrahiranje podataka iz HTTP zaglavlja u web nadgledanju
U Web Monitoring je dodana mogućnost odabira podataka iz primljenog HTTP zaglavlja.
Ovo vam omogućava da kreirate scenarije nadgledanja weba u više koraka ili scenarija praćenja API-ja treće strane koristeći token autorizacije dobiven u jednom od koraka.
Ekstrahiranje AuthID-a iz HTTP zaglavlja
Zabbix Sender koristi sve IP adrese
Zabbix Sender sada šalje podatke na sve IP adrese iz ServerActive parametra u konfiguracijskoj datoteci agenta.
Zgodan novi filter u konfiguraciji okidača
Stranica konfiguracije okidača sada ima prošireni filter za brz i praktičan odabir okidača na osnovu specificiranih kriterija.
Odabir okidača vezanih za K8S uslugu
Pokažite tačno vrijeme
Ovdje je sve jednostavno, sada Zabbix pokazuje tačno vrijeme kada pređete mišem preko grafikona.

Ostale inovacije
- Implementiran je predvidljiviji algoritam za promjenu redoslijeda widgeta na kontrolnoj tabli
- Sposobnost masovne promjene parametara prototipova podataka
- IPv6 podrška za DNS provjere: "net.dns" i "new.dns.record"
- Dodan parametar "skip" za provjere "vmware.eventlog".
- Greška u izvršenju koraka prethodne obrade uključuje broj koraka
Kako ažurirati?
Za nadogradnju sa ranijih verzija, trebate samo instalirati (serveri i proksiji) i novi interfejs. Zabbix će automatski ažurirati bazu podataka. Nema potrebe za instaliranjem novih agenata.
Organizujemo besplatne webinare za one koji žele da saznaju više o Zabbixu 4.2 i imaju priliku da postavljaju pitanja Zabbix timu.
Ne zaboravite na popularne Zabbix zajednica, gdje uvijek možete dobiti savjete i odgovore na svoja pitanja na ruskom jeziku od iskusnijih kolega, a ako imate sreće i od samih Zabbix programera. Preporučuje se za početnike .
korisni linkovi
-
-
-
izvor: www.habr.com
