Ekipi ynë është shumë i lumtur të ndajnë lajmin se është lëshuar një sistem monitorimi me burim të hapur. !

A është versioni 4.2 përgjigja ndaj pyetjes kryesore të jetës, universit dhe monitorimit në tërësi? Le ta shohim!
Kujtojmë se Zabbix është një sistem universale për monitorimin e performancës dhe disponueshmërisë së serverëve, pajisjeve inxhinierike dhe rrjetërore, aplikacioneve, bazave të të dhënave, sistemeve të virtualizimit, konteinerëve, shërbimeve IT, shërbimeve në internet.
Zabbix zbaton një cikël të plotë nga mbledhja e të dhënave, përpunimi dhe transformimi i tyre, analiza e të dhënave të marra, dhe përfundon me ruajtjen e këtyre të dhënave, vizualizimin dhe dërgimin e njoftimeve duke përdorur rregullat e eskalimit. Po ashtu, sistemi ofron mundësi fleksibile për zgjerimin e metodave të mbledhjes së të dhënave dhe njoftimeve, si dhe mundësi automatizimi përmes API. Ndërfaqja e vetme web ofron menaxhim të centralizuar të konfigurimeve të monitorimit dhe shpërndarjen e të drejtave të aksesit për grupe të ndryshme përdoruesish. Kodi i projektit shpërndahet falas nën licencën. .
Zabbix 4.2 është një version i ri jo LTS me një periudhë më të shkurtër mbështetjeje zyrtare. Përdoruesve që shqetësohen për një cikël të gjatë të përdorimit të produkteve softuerike, rekomandojmë të përdorin versionet LTS, të tilla si 3.0 dhe 4.0.
Pra, le të flasim për risitë dhe përmirësimet kryesore të versionit 4.2:
Më shumë platforma zyrtare

Përveç paketave zyrtare ekzistuese, ne gjithashtu ofrojmë ndërtimet e reja për:
- RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
- MSI për agjentët e Windows
- Imazhe Docker
Mbështetje e integruar për Prometheus për monitorimin e aplikacioneve
Zabbix mund të mbledhë të dhëna në mënyra të ndryshme (push/pull) nga burime të ndryshme. Këto janë JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agjentë dhe skriptet dhe burime të tjera. Dhe tani mirëpritni mbështetje për Prometheus!
Në mënyrë strikte, mbledhja e të dhënave nga eksportuesit e Prometheus ishte e mundur edhe më parë përmes llojit të elementeve të dhënave HTTP/HTTPS dhe shprehjeve të rregullta.
Megjithatë, versioni i ri lejon të punosh me Prometheus në mënyrën më efikase falë mbështetjes së integruar për gjuhën e pyetjeve PromQL. Dhe përdorimi i metrikeve të varura lejon mbledhjen dhe përpunimin e të dhënave në mënyrën më efikase: një herë kërkuam të dhënat, dhe më pas i shpërndajmë sipas metrikeve të nevojshme.
Marrim vlerën e një metri të veçantë
Është e rëndësishme të theksohet se tani identifikimi në nivel të ulët mund të përdorë të dhënat e mbledhura për të krijuar automatikisht metri. Në këtë rast, Zabbix e konverton të dhënat e marra në formatin JSON, me të cilin është shumë e lehtë të punosh.
Gjejmë metrikat duke përdorur filtrin në gjuhën e pyetjeve PromQL
Aktualisht ekzistojnë më shumë se e shërbimeve dhe aplikacioneve të palëve të treta përmes Zabbix. Mbështetja për Prometheus do të lejojë shtimin e një grupi të tërë aplikacionesh, të cilat kanë eksportues Prometheus zyrtarë ose të mbështetur nga shoqata. Ky është monitorimi i shërbimeve të njohura, kontejnerëve dhe burimeve cloud.
Monitorimi i efektshëm me frekuencë të lartë
A duam të identifikojmë problemet sa më shpejt të jetë e mundur? Sigurisht, asnjë dyshim! Shpesh, ky qasje na çon në nevojën për të pyetur pajisjet shumë herë dhe të mbledhim të dhëna, gjë që rrit ngarkesën në sistemin e monitorimit. Si ta shmangim këtë?
Ne kemi implementuar një mekanizëm të throtllimit në rregullat e paraprocesimit. Throtllimi, në thelb, na jep mundësinë të kalojmë vlera të njëjta.
Supozoni se ne ndjekim gjendjen e një aplikacioni kritik. Çdo sekondë ne kontrollojmë nëse aplikacioni ynë funksionon apo jo. Në këtë rast, në Zabbix vijnë të dhëna të pandërprera nga 1 (funksionon) dhe 0 (nuk funksionon). Për shembull: 1111111111110001111111111111…
Kur me aplikacionin tonë gjithçka është në rregull, atëherë në Zabbix vjen një rrymë e vetëm njëshave. A është e nevojshme t'i përpunojmë ato? Në përgjithësi jo, për shkak se ne jemi të interesuar vetëm për ndryshimin e gjendjes së aplikacionit, nuk duam të mbledhim dhe ruajmë kaq shumë të dhëna. Pra, throtllimi lejon kalimin e vlerës nëse ajo është identike me atë të mëparshmen. Në fund, ne do të marrim vetëm të dhëna mbi ndryshimin e gjendjes, për shembull, 01010101… Mjaft e djallëzuar informacioni për identifikimin e problemeve!
Vlerat e kapërcyera Zabbix thjesht i injoron, ato nuk regjistrohen në historinë dhe nuk ndikojnë në triggere. Nga pikëpamja e Zabbix, vlerat e kapërcyera nuk ekzistojnë.
Injorojmë vlerat e përsëritur
Shumë mirë! Tani ne mund të pyesim shpesh pajisjet, ndërkohë të zbulonim menjëherë problemet pa ruajtur informacion të panevojshëm në bazën e të dhënave.
Por si e grafikat? Ato do të jenë bosh për shkak të mungesës së të dhënave! Dhe si ta kuptojmë nëse Zabbix mbledh të dhëna, nëse shumica e këtyre të dhënave do të neglizhohet?
Ne e kemi menduar këtë! Zabbix ofron një lloj tjetër të trotlinig-ut, trotlini me pika kontrolli (throttling with heartbeat).
Kontrollojmë në çdo minutë nëse metrika është aktive
Në këtë rast, Zabbix, pavarësisht fluksit të përsëritur të të dhënave, do të ruajë të paktën një vlerë në intervalin e caktuar. Nëse të dhënat mblidhen çdo sekondë, dhe intervali është caktuar për një minutë, atëherë Zabbix do ta kthejë fluksin e çdo sekonde në një fluks minutor. Nuk është e vështirë të shohësh se kjo çon në një kompresim 60 herë të të dhënave të marra.
Tani jemi të sigurt se të dhënat janë mbledhur, funksioni i ngacmimit nodata() punon dhe me grafikat gjithçka është në rregull!
Validimi i të dhënave të mbledhura dhe trajtimi i gabimeve
Askush prej nesh nuk dëshiron të mbledhë të dhëna të gabuara ose të pasakta. Për shembull, ne e dimë se sensori i temperaturës duhet të rikthejë të dhëna në intervalin nga 0°C deri në 100°C dhe çdo vlerë tjetër duhet të konsiderohet si e gabuar dhe/ose të injorohet.
Tani kjo është e mundur përmes rregullave të integruara në përpunimin paraprak për validimin e të dhënave sipas përshtatshmërisë ose mungesës së përshtatshmërisë nga shprehjet regjeks, intervalet e vlerave, JSONPath dhe XMLPath.
Tani ne mund të menaxhojmë reagimin ndaj gabimeve. Nëse temperatura është jashtë intervalit, ne mund ta injorojmë një vlerë të tillë, të caktuar një vlerë parazgjedhjeje (p.sh., 0°C), ose të përcaktojmë një mesazh të vetin të gabimit, për shembull, "Sensori është i dëmtuar" ose "Zëvendësoni baterinë."
Temperatura duhet të jetë nga 0 në 100, pjesa tjetër injorohet
Një shembull i mirë i përdorimit të validimit është mundësia për të kontrolluar të dhënat e hyrjes për praninë e një mesazhi gabimi dhe për të vendosur këtë gabim për të gjithë metrikën. Kjo është një funksionalitet shumë e dobishme kur marrim të dhëna nga API të jashtme.
Çdo transformim të dhënash duke përdorur JavaScript
Nëse rregullat e integruara të përpunimit paraprak nuk mjaftojnë, tani ne ofrojmë lirinë e plotë duke përdorur skriptet sipas dëshirës në gjuhën JavaScript!
Vetëm një rresht kodi për të konvertuar gradët Fahrenheit në gradët Celsius
Kjo hap mundësi të pakufizuara për trajtimin e të dhënave hyrëse. Përfitimi praktik i kësaj funksionaliteti është se tani nuk na nevojiten skenarë të jashtëm që kemi përdorur për çdo operacion me të dhënat. Tani gjithçka mund të bëhet me JavaScript.
Tani janë të mundshme transformimi i të dhënave, agregimi, filtrat, operacionet aritmetike dhe logjike dhe shumë shumë më tepër!
Nxjerrim informacione të dobishme nga dalja e Apache mod_status!
Testojmë para-përpunimin
Tani nuk na nevojitet të hamendësim se si funksionojnë skenaret tanë të ndërlikuara të para-përpunimit. Ka një kontroll të përshtatshëm për saktësinë e funksionimit të para-përpunimit direkt nga ndërfaqja!
Trajtojmë miliona metrika në sekondë!
Deri në Zabbix 4.2, para-përpunimi është menaxhuar vetëm nga serveri Zabbix, çka kufizonte mundësitë e përdorimit të proksive për shpërndarjen e ngarkesës.
Duke filluar nga versioni Zabbix 4.2, ne marrim një shkallëzim të jashtëzakonshëm të ngarkesës përmes mbështetjes së para-përpunimit në anën e proksit. Tani kjo kryhet nga proksit!
Në kombinim me rregullimin, ky qasje lejon realizimin e monitorimit të lartë frekuencës dhe bëri miliona kontrollime në sekondë, pa ngarkuar serverin qendror Zabbix. Proksit përpunojnë volumet e mëdha të të dhënave, dhe deri te serveri Zabbix përmes rregullimit arrin vetëm një pjesë e vogël, një deri dy renditje më pak.
Zbulim më të thjeshtë të nivelit të ulët
Të kujtojmë se zbulimi i nivelit të ulët (LLD) është një mekanizëm shumë i fuqishëm për zbulimin automatik të çdo lloji burimesh për monitorim (sistemet e skedarëve, proceset, aplikacionet, shërbimet, etj.) dhe krijimin automatik të elementeve të dhënash, nxitësve, nyjeve të rrjetit dhe objekteve të tjera mbi bazën e tyre. Kjo kursen jashtëzakonisht kohë, thjeshton konfigurimin dhe lejon përdorimin e një shablloni për nyjet e rrjetit që kanë burime të ndryshme për monitorim.
Zbulimi i nivelit të ulët kërkonte si hyrje një JSON të formatuar në mënyrë të veçantë. Tani, ashtu nuk do të jetë më!
Zabbix 4.2 lejon lejon që zbulimi i nivelit të ulët (LLD) të përdorë të dhëna me format të lirë në formatin JSON. Pse është kjo e rëndësishme? Kjo lejon komunikimin, për shembull, me API të jashtme dhe përdorimin e informacionit të marrë për të krijuar automatikisht nodet e rrjetit, elementet e të dhënave dhe nxitësit.
Në kombinim me mbështetje për JavaScript, kjo krijon mundësi fantastike për krijimin e modeleve të punës me burime të ndryshme të të dhënave, si për shembull, API të cloud-it, API të aplikacioneve, të dhëna në formate XML, CSV dhe të tjera.
Lidhim JSON me informacionin mbi proceset me LLD
Mundësitë janë vërtet të pakufizuara!
Mbështetje për TimescaleDB
Çfarë është TimescaleDB? Është PostgreSQL i zakonshëm plus një modul zgjerimi nga ekipi i TimescaleDB. TimescaleDB premton performancë më të mirë përmes algoritmave më efikas dhe strukturave të dhënash.
Përveç kësaj, një tjetër avantazh i TimescaleDB është particionimi automatik i tabelave me histori. TimescaleDB ofron shpejtësi dhe lehtësi në mirëmbajtje! Megjithatë, unë duhet të theksoj se ekipi ynë ende nuk ka realizuar një krahasim të rëndësishëm të performancës me PostgreSQL-in e zakonshëm.
Aktualisht, TimescaleDB është një produkt mjaft i ri dhe në zhvillim të shpejtë. Përdoreni me kujdes!
Menaxhim i lehtë i etiketave
Nëse më parë etiketat mund të menaxhoheshin vetëm në nivelin e nxitësve, tani menaxhimi i etiketave është shumë më fleksibël. Zabbix mbështet etiketat për modele dhe nodet e rrjetit!
Të gjitha problemet e zbuluara marrin etiketa jo vetëm nga nxitësi, por edhe nga nodi i rrjetit, si dhe modelet e këtij nodi të rrjetit.
Përcaktojmë etiketa për nodin e rrjetit
Autoregistrim më fleksibël
Zabbix 4.2 lejon filtrimin e nodëve të rrjetit sipas emrit, duke përdorur shprehje të rregullta. Kjo jep mundësinë për të krijuar skenarë të ndryshëm zbulimi për grupe të ndryshme nodesh të rrjetit. Sidomos e dobishme është kur përdorim rregulla të ndërlikuara për emërtimin e pajisjeve.
Zbulim më fleksibël të rrjetit
Një përmirësim tjetër është i lidhur me emërimin e nodëve të rrjetit. Tani ka mundësinë për të menaxhuar emrat e pajisjeve gjatë zbulimit të rrjetit dhe për të marrë emrin e pajisjes nga vlera e metrikës.
Kjo është një funksionalitet shumë i nevojshëm, veçanërisht gjatë zbulimit të rrjetit me SNMP dhe agjentin Zabbix.
Automatikisht caktojmë emrin lokal të nodit të rrjetit si emrin e dukshëm
Kontrollimi i funksionalitetit të mënyrave të njoftimit
Tani mund të dërgoni një mesazh testi drejtpërdrejt nga ndërfaqja e internetit dhe të kontrolloni nëse mënyra e njoftimit funksionon. Kjo funksionalitet është veçanërisht e dobishme për të kontrolluar skriptet e integrimit të Zabbix me sisteme të ndryshme njoftimi, sisteme detyrash dhe programe dhe API të tjera të jashtme.
Monitorimi i largët i komponentëve të infrastrukturës Zabbix
Ka një mundësi për monitorimin e largët të metrikave të brendshme të serverit dhe proxy Zabbix (metrikave të performancës dhe funksionalitetit të komponentëve të Zabbix).
Për çfarë ka nevojë? Funksionaliteti lejon të ndiqni metrikat e brendshme të serverëve dhe proxy-ve nga distanca, që lejon të zbuloni dhe njoftoni shpejt për problemet edhe nëse komponentët e vetë janë të ngarkuar, ose, për shembull, në proxy ka një volum të madh të dhënash që nuk janë dërguar.
Mbështetje për formatin HTML për mesazhet email
Tani nuk jemi të kufizuar në tekstin e thjeshtë dhe mund të krijojmë mesazhe e-mail të bukura, falë mbështetjes për formatin HTML. Është koha të mësojmë HTML + CSS!
Mesazhet më lehtë perceptohen edhe me përdorim minimal të HTML
Q’accès à sisteme të jashtme nga hartat rrjetore
Ka mbështetje për një grup të tërë të ri makrosh në URL-të e personalizuara për një integrim më të mirë të hartave me sistemet e jashtme. Kjo lejon të hapni, për shembull, një biletë në sistemin e detyrave me një ose dy klikime mbi ikonën e nyjës së rrjetit.
Hapni një biletë në Jira me një klik
Rregulli i zbulimit mund të jetë një element të dhënash të varur
Pse është kjo e nevojshme - mund të pyesni. Kjo lejon të përdorni të dhënat e metrikës kryesore si për zbulimin ashtu edhe për mbledhjen e drejtpërdrejt të të dhënave. Për shembull, në rastin e mbledhjes së të dhënave nga eksportuesi Prometheus, Zabbix do të kryejë një kërkesë HTTP dhe menjëherë do të përdorë informacionin e marrë për të gjitha elementët e dhënash të varur: vlerat e metrikave dhe rregullat e zbulimit të nivelit të ulët.
Një mënyrë e re për vizualizimin e problemeve në harta
Ka mbështetje për imazhe të animuara GIF në harta për një vizualizim më të dukshëm të problemeve.
Pajisjet problematike janë bërë më të dukshme
Nxjerrim të dhëna nga titujt HTTP në monitorimin e internetit
Në monitorimin e internetit është shtuar mundësia për të zgjedhur të dhëna nga titulli HTTP të marrë.
Kjo lejon krijimin e skenarëve të shumtë hap pas hapi për monitorimin e faqeve të internetit apo monitorimin e API-ve të palëve të treta, duke përdorur një token autorizimi të marrë në një nga hapat.
Nxjerrim AuthID nga header-i HTTP
Zabbix Sender përdor të gjitha adresat IP
Zabbix Sender tani dërgon të dhënat për të gjitha adresat IP nga parametri ServerActive i skedarit të konfigurimit të agentit.
Filter i ri i përshtatshëm në konfigurimin e triggerëve
Faqja e konfigurimit të triggerëve ka marrë një filter të avancuar për të bërë një përzgjedhje të shpejtë dhe të lehtë të triggerëve sipas kritereve të caktuara.
Zgjedhim triggerët që i përkasin shërbimit K8S
Tregohet koha e saktë
Këtu është e thjeshtë, tani Zabbix tregon kohën e saktë kur kaloni mouse-in mbi grafik.

Risi të tjera
- Është zbatuar një algoritëm më i parashikueshëm për të ndryshuar rendin e vendosjes së widget-eve në dashboard.
- Mundësia për ndryshimin masiv të parametra të prototipëve të elementeve të dhënash
- Mbështetje për IPv6 për kontrollet DNS: "net.dns" dhe "new.dns.record"
- Ka shtuar parametrin "skip" për kontrollimet "vmware.eventlog"
- Gabimi gjatë ekzekutimit të hapit të përpunimit të parakohshëm përfshin numrin e hapit
Si të përmirësohet?
Për kalimin nga versione më të hershme, mjafton të instaloni (serverat dhe proksi) dhe ndërfaqen e re. Zabbix automatikisht do të kryejë procedurën e përmirësimit të bazës së të dhënave. Instalimi i agjentëve të rinj nuk do të jetë e nevojshme.
Ne ofrojmë webinare falas për ata që dëshirojnë të mësojnë më shumë rreth Zabbix 4.2 dhe të kenë mundësinë të bëjnë pyetje ekipit të Zabbix.
Mos haroni kanalin e njohur grupin për fillestarët .
Useful links
—
—
—
Burimi: habr.com
