Csapatunk nagyon örül, hogy megoszthatja a hírt arról, hogy megjelent egy nyílt forráskódú felügyeleti rendszer. !

A 4.2-es verzió válasz-e az élet, a világmindenség és a felügyelet legfontosabb kérdésére? Nézzük meg!
Emlékeztetőül: a Zabbix egy univerzális rendszer a szerverek, mérnöki és hálózati berendezések, alkalmazások, adatbázisok, virtualizációs rendszerek, konténerek, IT-szolgáltatások, webszolgáltatások teljesítményének és elérhetőségének felügyeletére.
A Zabbix teljes ciklust valósít meg az adatok gyűjtésétől, feldolgozásától és átalakításától kezdve az adatok elemzésén át, egészen az adatok tárolásáig, vizualizációjáig és a riasztások küldéséig, amelyeket kiemelési szabályok segítségével végez. A rendszer rugalmas lehetőségeket kínál az adatgyűjtési és riasztási módszerek bővítésére, valamint automatizálásra API-n keresztül. Az egységes webes felület központosított konfigurációkezelést és különböző felhasználói csoportokhoz való hozzáférési jogok elosztását valósítja meg. A projekt kódja szabadon terjeszthető a licenc alatt. .
A Zabbix 4.2 egy új nem LTS verzió, rövidebb hivatalos támogatási időszakkal. Azoknak a felhasználóknak, akik hosszú távú üzemeltetési ciklusra orientálódnak, javasoljuk az LTS verziók, például a 3.0 és a 4.0 használatát.
Tehát, beszéljünk a 4.2-es verzió újdonságairól és főbb fejlesztéseiről:
Több hivatalos platform

A már létező hivatalos csomagok mellett új build-eket is kínálunk a következőkhöz:
- RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
- Windows ügynökhöz MSI
- Docker képek
Beépített támogatás a Prometheus számára az alkalmazások felügyeletéhez
A Zabbix képes különböző módokon (push/pull) adatokat gyűjteni különböző adatforrásokból. Ezek JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, ügynökök és szkriptek és más források. Most bemutatjuk a Prometheus támogatását!
Szó szerint, az adatok gyűjtése a Prometheus exportőreitől korábban is lehetséges volt az HTTP/HTTPS adatélémtípus és reguláris kifejezések segítségével.
Azonban az új verzió lehetővé teszi, hogy a Prometheusszal a leghatékonyabban dolgozzunk, köszönhetően a beépített PromQL lekérdező nyelv támogatásának. A függő metrikák használata lehetővé teszi az adatok hatékonyabb gyűjtését és feldolgozását: egyszer gyűjtjük az adatokat, majd azokat a szükséges metrikák szerint felosztjuk.
Egy adott metrika értékét kapjuk meg
Fontos megjegyezni, hogy a mélyreható észlelés jelenleg felhasználhatja az összegyűjtött adatokat a metrikák automatikus létrehozására. Ebben az esetben a Zabbix a kapott adatokat JSON formátumba alakítja, amely rendkívül kényelmesen kezelhető.
A metrikák keresése PromQL lekérdezési nyelvű szűrő alkalmazásával
Jelenleg több mint külső szolgáltatások és alkalmazások Zabbix segítségével történő megfigyelésére. A Prometheus támogatás lehetővé teszi, hogy egy teljes alkalmazáskészletet hozzáadjunk, amelyek rendelkeznek hivatalos vagy közösségi támogatott Prometheus exportálókkal. Ez lehetővé teszi népszerű szolgáltatások, konténerek és felhőerőforrások megfigyelését.
Hatékony, nagy gyakoriságú megfigyelés
Szeretnénk minél gyorsabban észlelni a problémákat? Természetesen, nincs kétség! A legtöbbször ez a megközelítés arra vezet, hogy túl gyakran kell lekérdeznünk az eszközöket és adatokat gyűjtenünk, ami nagyobb terhelést okoz a megfigyelőrendszeren. Hogyan kerülhetjük ezt el?
A pre-processzálási szabályokban megvalósítottuk a throttling mechanizmust. A throttling lényegében lehetővé teszi, hogy kihagyjuk az azonos értékeket.
Tegyük fel, hogy egy kritikus alkalmazás állapotát figyeljük. Másodpercenként ellenőrizzük, hogy az alkalmazásunk működik-e vagy sem. Közben a Zabbix folyamatos adatáramot kap 1 (működik) és 0 (nem működik) értékekből. Például: 1111111111110001111111111111…
Amikor az alkalmazásunk rendben van, a Zabbix csak 1-eseket kap. Kellenek nekik? Alapjában véve nem, hiszen csak az alkalmazás állapotának megváltozása érdekel minket, nem akarunk túl sok adatot gyűjteni és tárolni. Tehát a throttling lehetővé teszi, hogy kihagyjunk egy értéket, ha az megegyezik az előzővel. Végső soron csak az állapotváltozásokról kapunk adatokat, például 01010101… Ez elegendő információ a problémák észleléséhez!
A Zabbix egyszerűen figyelmen kívül hagyja a kihagyott értékeket, azok nem kerülnek rögzítésre a történelemben, és semmilyen hatással nincsenek a triggerekről. A Zabbix szempontjából a kihagyott értékek nem léteznek.
Kihagyjuk az ismétlődő értékeket
Szuper! Mostantól gyakran kérdezhetjük le az eszközöket, miközben azonnal észlelhetjük a problémákat anélkül, hogy felesleges információt tárolnánk az adatbázisban.
De mi a grafikonokkal? Üresek lesznek az adatok hiánya miatt! És hogyan tudjuk megérteni, hogy a Zabbix gyűjti az adatokat, ha ezek többsége hiányzik?
Mi is gondoltunk erre! A Zabbix egy másik típusú throttlingot kínál, a szívverés alapú throttlingot.
Egy percenként ellenőrizzük, hogy él-e a metrika
Ebben az esetben a Zabbix, a megismétlődő adatfolyam ellenére, legalább egy értéket fog megőrizni a megadott időintervallumban. Ha az adatok másodpercenként érkeznek, és az intervallum egy perc, akkor a Zabbix az egyes másodperces adatfolyamokat egy percre kiterjeszti. Nem nehéz észrevenni, hogy ez 60-szoros tömörítést eredményez a kapott adatokban.
Most már biztosak vagyunk benne, hogy az adatok gyűjtése folyamatban van, a nodata() trigger funkció működik, és a grafikonok rendben vannak!
A gyűjtött adatok érvényesítése és hibaellenőrzés
Senki sem akar hibás vagy megbízhatatlan adatokat gyűjteni. Például tudjuk, hogy a hőmérséklet-érzékelőnek 0 °C és 100 °C közötti értékeket kell visszaadnia, és minden más értéket hibásnak kell tekinteni és/vagy figyelmen kívül hagyni.
Ez most lehetséges a beépített adatérvényesítő szabályokkal a pre-processing során, a reguláris kifejezések, értéktartományok, JSONPath és XMLPath illeszkedésének ellenőrzésére.
Most már tudjuk kezelni a hibákra adott reakciókat. Ha a hőmérséklet a tartományon kívül esik, egyszerűen figyelmen kívül hagyhatjuk az ilyen értékeket, beállíthatunk egy alapértelmezett értéket (például 0 °C), vagy megadhatunk egy saját hibaüzenetet, például: "Az érzékelő sérült" vagy "Cserélje ki az elemet."
A hőmérsékletnek 0 és 100 között kell lennie, a többit figyelmen kívül hagyjuk
Jó példa az érvényesítés használatára az, amikor az egyes bemeneti adatokon ellenőrizzük a hibaüzenetek meglétét, és ezt a hibát az egész metrikára alkalmazzuk. Ez nagyon hasznos funkció, amikor külső API-kból nyerünk adatokat.
Bármilyen adattranszformáció JavaScript segítségével
Ha a beépített pre-processzálási szabályok nem elegendőek, akkor most teljes szabadságot kínálunk szabadon választható JavaScript szkriptek használatával!
Csak egy sor kód szükséges a Fahrenheit fokok Celsius fokokká történő átváltásához
Ez határtalan lehetőségeket nyit meg a bejövő adatok feldolgozásában. Ennek a funkciónak a gyakorlati haszna az, hogy mostantól nem szükségesek külső scriptek, amelyeket adatkezelési műveletekhez használtunk. Mindezt most már JavaScript segítségével is elvégezhetjük.
Mostantól lehetséges az adatok átalakítása, aggregálása, szűrés, aritmetikai és logikai műveletek, és még sok más!
Hasznos információt nyerünk ki az Apache mod_status kimenetéből!
Teszteljük a preprocesszálást
Most már nem kell találgatnunk, hogyan működnek bonyolult preprocesszálási forgatókönyveink. Kényelmes ellenőrzést kaptunk a preprocesszálás helyességéről közvetlenül a felületről!
Másodpercenként millió metrikát dolgozunk fel!
A Zabbix 4.2 verzió előtt a preprocesszálást kizárólag a Zabbix szerver végezte, ami korlátozta a proxyk terheléselosztási lehetőségeit.
A Zabbix 4.2 verziótól kezdve hihetetlenül hatékony terhelés-skálázást kapunk a proxyk oldalán végzett preprocesszálás támogatásának köszönhetően. Mostantól ezeket a proxyk kezelik!
Együtt a throttlinggal ez a megközelítés lehetővé teszi a nagy frekvenciájú, skálázható megfigyelést és másodpercenként millió ellenőrzés végrehajtását anélkül, hogy a központosított Zabbix szervert terhelnénk. A proxyk hatalmas mennyiségű adatot dolgoznak fel, miközben a Zabbix szerverhez a throttling révén csak kis rész jut el, egy-két nagyságrenddel kevesebb.
Egyszerűbb alacsony szintű felfedezés
Emlékeztetünk arra, hogy az alacsony szintű felfedezés (LLD) egy nagyon erőteljes mechanizmus automatikus érzékeléshez mindenféle monitorozási forráshoz (fájl rendszerek, folyamatok, alkalmazások, szolgáltatások, stb.) és az azok alapján történő automatikus adatobjektumok, riasztók, hálózati csomópontok és egyéb objektumok létrehozásához. Ez hihetetlenül sok időt takarít meg, egyszerűsíti a konfigurálást, és lehetővé teszi egy sablon használatát a különböző monitorozási forrásokkal rendelkező hálózati csomópontok számára.
Az alacsony szintű felfedezés speciálisan formázott JSON-t igényelt bemenetként. Ez mostantól már nem így lesz!
A Zabbix 4.2 lehetővé teszi az alacsony szintű felfedezést (LLD), hogy szabadon formázott adatokat használjon JSON formátumban. Miért fontos ez? Ez lehetővé teszi, hogy például külső API-kkal kommunikáljunk, anélkül hogy szkriptekhez folyamodnánk, és az így kapott információt automatikusan használjuk a hálózati csomópontok, adat elemek és riasztások létrehozásához.
A JavaScript támogatásával fantasztikus lehetőségeket teremt a különféle adatszolgáltatásokkal való munkához, mint például a felhő API-k, alkalmazás API-k, XML, CSV formátumú adatok és hasonlók.
Kötjük össze a JSON-t az LLD folyamataival kapcsolatos információkkal
A lehetőségek valóban korlátlanok!
TimescaleDB támogatás
Mi az a TimescaleDB? Ez egy hagyományos PostgreSQL, amelyhez a TimescaleDB csapata kiterjesztést készített. A TimescaleDB jobb teljesítményt ígér hatékonyabb algoritmusokkal és adatstruktúrával.
Ezen kívül a TimescaleDB egyik előnye az automatikus táblaparticionálás a történeti adatokkal. A TimescaleDB gyorsaságot és könnyű karbantartást jelent! Bár meg kell jegyeznem, hogy csapatunk még nem végzett komoly teljesítmény összehasonlítást a hagyományos PostgreSQL-hez képest.
Jelenleg a TimescaleDB egy viszonylag fiatal és gyorsan fejlődő termék. Használja óvatosan!
Egyszerű címke kezelés
Ha korábban a címkéket csak riasztás szinten lehetett kezelni, most már a címkék kezelése sokkal rugalmasabb. A Zabbix támogatja a címkéket sablonok és hálózati csomópontok esetén!
Minden észlelt probléma nemcsak a riasztás, hanem a hálózati csomópont és a hálózati csomópont sablonja által is címkézve van.
Címkék definiálása a hálózati csomópontra
Rugalmasabb automatikus regisztráció
A Zabbix 4.2 lehetővé teszi a hálózati csomópontok név szerinti szűrését reguláris kifejezések segítségével. Ez lehetővé teszi, hogy különböző felfedezési forgatókönyveket hozzunk létre különböző hálózati csomópont csoportok számára. Különösen hasznos, ha bonyolult eszköznevezési szabályokat alkalmazunk.
Rugalmasabb hálózati felfedezés
Egy másik fejlesztés a hálózati csomópontok névadásával kapcsolatos. Lehetőség nyílt az eszköznevek kezelésére a hálózati felfedezés során, és az eszköz nevét a metrikák értékéből lehet nyerni.
Ez egy nagyon hasznos funkció, különösen SNMP és Zabbix ügynök általi hálózati felfedezés esetén.
Automatikusan hozzárendeljük a hálózati csomópont helyi nevét a látható névhez
Az értesítési módok működésének ellenőrzése
Mostantól közvetlenül a webes felületről küldhetünk magunknak tesztüzenetet, és ellenőrizhetjük, hogy működik-e az értesítési mód. Ez a funkció különösen hasznos a Zabbix összesítő szkriptek és különböző értesítési rendszerek, feladatkezelők és más külső programok és API-k ellenőrzéséhez.
Zabbix infrastruktúraelemeinek távoli monitorozása
Lehetőség nyílt a Zabbix szerver és proxy belső metrikáinak távoli monitorozására (teljesítmény- és működési metrikák).
Miért van erre szükség? A funkció lehetővé teszi, hogy kívülről követhessük a szerverek és proxyk belső metrikáit, gyorsan felfedezhetjük és értesíthetjük a problémákról, akkor is, ha maguk az elemek leterheltek, vagy például ha a proxy-n nagy mennyiségű el nem küldött adat található.
HTML formátum támogatása e-mail üzenetekhez
Mostantól nem vagyunk korlátozva az egyszerű szövegre, és szép e-mail üzeneteket létrehozhatunk a HTML formátum támogatásának köszönhetően. Itt az ideje megismerkedni a HTML + CSS-el!
Az üzenetek még a minimális HTML használat mellett is könnyebben érthetők
Hozzáférés külső rendszerekhez a hálózati térképekből
Új makrók egész sorának támogatása jelent meg a felhasználói URL-ekhez a térképek külső rendszerekhez való jobb integrálása érdekében. Ez lehetővé teszi, hogy mindössze egy-két kattintással a hálózati csomópont ikonjára, például egy jegyet nyissunk a feladatkezelő rendszerben.
Egy kattintással megnyitjuk a jegyet a Jirában
A felfedezési szabályok adatfüggetlen elemek lehetnek
Miért van erre szükség — kérdezheti. Ez lehetővé teszi, hogy a fő metrika adatait felfedezésre és az adatok közvetlen gyűjtésére is használhassuk. Például, ha a Prometheus exportálóval adatokat gyűjtünk, a Zabbix egy HTTP kérést hajt végre, és azonnal felhasználja a kapott információt minden függő adatfolyamatban: metrikák értékeibe és alacsony szintű felfedezési szabályokba.
Új problémaábrázolási mód a térképeken
Támogatást nyert a GIF animált képek megjelenítése a térképeken a problémák hangsúlyosabb ábrázolása érdekében.
A problémás eszközök mostantól könnyebben észlelhetők
HTTP fejlécadatok kinyerése webes monitorozás során
A webes monitorozásban lehetővé vált, hogy válasszunk adatokat a kapott HTTP fejlécből.
Ez lehetővé teszi több lépcsős webes megfigyelési vagy harmadik fél API megfigyelési forgatókönyvek létrehozását, a hitelesítési tokent felhasználva, amelyet az egyik lépésben kaptunk.
Kivonjuk az AuthID-t a HTTP fejlécből.
A Zabbix Sender minden IP-címet használ.
A Zabbix Sender mostantól a konfigurációs fájlban megadott ServerActive paraméter összes IP-címére küldi az adatokat.
Kényelmes új szűrő a trigger konfigurációjában.
A trigger konfigurálási oldala kibővített szűrővel rendelkezik a gyors és kényelmes kiválasztáshoz a megadott kritériumok szerint.
Trigger-ek kiválasztása a K8S szolgáltatás vonatkozásában.
Pontosan mutatjuk az időt.
Itt minden egyszerű, a Zabbix most már pontos időt mutat, amikor az egérrel a grafikonra lépünk.

További újdonságok.
- Megvalósítottunk egy előrejelzhetőbb algoritmust a widgetek elhelyezésének megváltoztatásához a dashboardon.
- Lehetőség tömeges paraméterváltoztatására az adatmegjelenítő prototípusok esetében.
- IPv6 támogatás DNS ellenőrzésekhez: «net.dns» és «new.dns.record».
- Új paraméter «skip» került bevezetésre a «vmware.eventlog» ellenőrzésekhez.
- A preprocesszálási lépés végrehajtásának hibája tartalmazza a lépés számát.
Hogyan frissüljünk?
A korábbi verziókról való áttéréshez csak az új (szerverek és proxyk) és az új felület. A Zabbix automatikusan végrehajtja az adatbázis frissítési eljárását. Új ügynökök telepítése nem szükséges.
Ingyenes webináriumokat tartunk mindazok számára, akik többet szeretnének megtudni a Zabbix 4.2-ről, és lehetőségük van kérdéseket feltenni a Zabbix csapatának.
Ne feledkezzünk meg a népszerű A Zabbix közösséghez, ahol mindig lehet konzultációt kapni és válaszokat kapni kérdéseinkre oroszul tapasztalt kollegáktól, és ha szerencsénk van, még maguk a Zabbix fejlesztők is válaszolnak. Kezdőknek ajánljuk a .
Hasznos linkek
—
—
—
Forrás: habr.com
