Vydán Zabbix 4.2

Náš tým s velkým potěšením sdílí zprávu, že byl uvolněn bezplatný monitorovací systém s otevřeným zdrojovým kódem Zabbix 4.2!

Vydán Zabbix 4.2

Je verze 4.2 odpovědí na hlavní otázku života, vesmíru a monitorování obecně? Pojďme se podívat!

Připomeňme, že Zabbix je univerzální systém pro sledování výkonu a dostupnosti serverů, inženýrských a síťových zařízení, aplikací, databází, virtualizačních systémů, kontejnerů, IT služeb a webových služeb.

Zabbix implementuje celý cyklus od sběru dat, jejich zpracování a transformace, analýzy přijatých dat a konče ukládáním těchto dat, vizualizací a zasíláním upozornění pomocí pravidel eskalace. Systém také poskytuje flexibilní možnosti pro rozšíření sběru dat a metod upozorňování, stejně jako možnosti automatizace prostřednictvím API. Jednotné webové rozhraní implementuje centralizovanou správu konfigurací monitorování a distribuci přístupových práv různým skupinám uživatelů. Kód projektu je volně šířen pod licencí GPLv2.

Zabbix 4.2 je nová verze bez LTS se zkrácenou dobou oficiální podpory. Pro uživatele, kteří se zaměřují na dlouhý životní cyklus softwarových produktů, doporučujeme používat verze LTS, například 3.0 a 4.0.

Pojďme si tedy promluvit o nových funkcích a hlavních vylepšeních ve verzi 4.2:

Více oficiálních platforem

Vydán Zabbix 4.2
Kromě stávajících oficiálních balíčků nabízíme také nová sestavení pro:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • Agent MSI pro Windows
  • Docker obrázky

Vestavěná podpora Prometheus pro monitorování aplikací

Zabbix může sbírat data různými způsoby (push/pull) z různých zdrojů dat. Jedná se o JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenty a skripty a další zdroje. Nyní se seznamte s podporou Prometheus!

Přísně vzato, sběr dat od exportérů Prometheus byl v minulosti možný díky typu datového prvku HTTP/HTTPS a regulárním výrazům.

Nová verze vám však umožňuje pracovat s Prometheem co nejefektivněji díky vestavěné podpoře dotazovacího jazyka PromQL. A použití závislých metrik umožňuje shromažďovat a zpracovávat data nejúčinněji: jednou požádáte o data a my je pak roztřídíme podle potřebných metrik.

Vydán Zabbix 4.2
Získání hodnoty konkrétní metriky

Je důležité si uvědomit, že nízkoúrovňové zjišťování nyní může používat shromážděná data k automatickému generování metrik. Zabbix v tomto případě převádí přijatá data do formátu JSON, se kterým se velmi pohodlně pracuje.

Vydán Zabbix 4.2
Hledání metrik pomocí filtru v dotazovacím jazyce PromQL

V současné době je jich více 300 integrací a monitorovacích receptur služby a aplikace třetích stran využívající Zabbix. Podpora Prometheus vám umožní přidat celou sadu aplikací, které mají oficiální nebo komunitou podporované exportéry Prometheus. Jedná se o monitorování oblíbených služeb, kontejnerů a cloudových zdrojů.

Efektivní vysokofrekvenční monitorování

Chceme odhalit problémy co nejrychleji? Samozřejmě, není pochyb! Tento přístup často vede k tomu, že potřebujeme příliš často dotazovat zařízení a sbírat data, což více zatěžuje monitorovací systém. Jak se tomu vyhnout?

V pravidlech předběžného zpracování jsme implementovali mechanismus omezení. Throttling nám v podstatě dává možnost přeskakovat stejné hodnoty.

Předpokládejme, že sledujeme stav kritické aplikace. Každou sekundu kontrolujeme, zda naše aplikace funguje nebo ne. Zároveň Zabbix přijímá nepřetržitý proud dat od 1 (funguje) a 0 (nepracuje). Například: 1111111111110001111111111111…

Když je vše v pořádku s naší aplikací, pak Zabbix obdrží tok pouze jedniček. Je třeba je zpracovat? Obecně ne, protože nás zajímá pouze změna stavu aplikace, nechceme sbírat a ukládat tolik dat. Omezení tedy umožňuje přeskočit hodnotu, pokud je totožná s předchozí. Ve výsledku tak dostaneme pouze data o změně stavu, např. 01010101... To je celkem dost informací k odhalení problémů!

Zabbix jednoduše ignoruje chybějící hodnoty, nezapisují se do historie a nijak neovlivňují triggery. Z pohledu Zabbixu nechybí žádné hodnoty.

Vydán Zabbix 4.2
Ignorovat duplicitní hodnoty

Skvělý! Nyní můžeme velmi často dotazovat zařízení a okamžitě detekovat problémy, aniž bychom ukládali zbytečné informace do databáze.

A co grafika? Kvůli nedostatku dat budou prázdné! A jak můžete zjistit, zda Zabbix shromažďuje data, pokud většina těchto dat chybí?

I na to jsme mysleli! Zabbix nabízí další typ škrcení, škrcení tepem.

Vydán Zabbix 4.2
Jednou za minutu kontrolujeme, zda je metrika aktuální

V tomto případě Zabbix i přes opakující se datový tok uloží alespoň jednu hodnotu ve stanoveném časovém intervalu. Pokud jsou data sbírána jednou za sekundu a interval je nastaven na jednu minutu, pak Zabbix změní každý druhý proud jednotek na každou minutu. Je snadné vidět, že to vede k 60násobné kompresi přijímaných dat.

Nyní jsme si jisti, že se data shromažďují, spouštěcí funkce nodata() funguje a s grafy je vše v pořádku!

Validace shromážděných dat a řešení chyb

Nikdo z nás nechce shromažďovat chybná nebo nespolehlivá data. Například víme, že teplotní senzor by měl vracet data mezi 0°C a 100°C a jakákoli jiná hodnota by měla být považována za nepravdivou a/nebo by měla být ignorována.

Nyní je to možné pomocí pravidel ověřování dat zabudovaných do předběžného zpracování pro soulad nebo nedostatek souladu s regulárními výrazy, rozsahy hodnot, JSONPath a XMLPath.

Nyní můžeme ovládat reakci na chybu. Pokud je teplota mimo rozsah, můžeme takovou hodnotu jednoduše ignorovat, nastavit výchozí hodnotu (například 0 °C) nebo definovat vlastní chybovou zprávu, například „Senzor poškozený“ nebo „Vyměňte baterii“.

Vydán Zabbix 4.2
Teplota by měla být od 0 do 100, zbytek ignorujte

Dobrým příkladem využití validace je možnost kontrolovat vstupní data na přítomnost chybového hlášení a nastavit tuto chybu pro celou metriku. Toto je velmi užitečná funkce při získávání dat z externích API.

Jakákoli transformace dat pomocí JavaScriptu

Pokud by nám vestavěná pravidla pro předběžné zpracování nestačila, nabízíme nyní úplnou svobodu pomocí vlastních skriptů JavaScript!

Vydán Zabbix 4.2
Stačí jeden řádek kódu pro převod stupňů Fahrenheita na stupně Celsia

To otevírá nekonečné možnosti pro zpracování příchozích dat. Praktickou výhodou této funkce je, že již nepotřebujeme externí skripty, které jsme používali k jakékoli manipulaci s daty. To vše lze nyní provést pomocí JavaScriptu.

Nyní je možná transformace dat, agregace, filtry, aritmetické a logické operace a mnoho dalšího!

Vydán Zabbix 4.2
Extrahování užitečných informací z výstupu mod_status Apache!

Testovací předzpracování

Nyní už nemusíme hádat, jak fungují naše složité skripty pro předběžné zpracování. Nyní existuje pohodlný způsob, jak přímo z rozhraní zkontrolovat, zda předběžné zpracování funguje správně!

Vydán Zabbix 4.2

Zpracováváme miliony metrik za sekundu!

Před Zabbix 4.2 bylo předběžné zpracování řešeno výhradně serverem Zabbix, což omezovalo možnost používat proxy pro distribuci zátěže.

Počínaje Zabbix 4.2 získáváme neuvěřitelně efektivní škálování zátěže díky podpoře předběžného zpracování na straně proxy. Teď to dělají proxy!

Vydán Zabbix 4.2

V kombinaci s omezováním umožňuje tento přístup vysokofrekvenční, rozsáhlé monitorování a miliony kontrol za sekundu, aniž by bylo nutné zatěžovat centrální server Zabbix. Proxy zpracovávají gigantické objemy dat, přičemž na server Zabbix se díky omezení dostane jen malá část, o jeden nebo dva řády méně.

Snazší objevování na nízké úrovni

Připomeňme, že nízkoúrovňové zjišťování (LLD) je velmi výkonný mechanismus pro automatické zjišťování jakéhokoli druhu zdrojů monitorování (souborové systémy, procesy, aplikace, služby atd.) a automatické vytváření datových položek, spouštěčů, síťových uzlů na jejich základě a dalších objektů. To šetří neuvěřitelný čas, zjednodušuje konfiguraci a umožňuje použití jedné šablony mezi hostiteli s různými zdroji monitorování.

Nízkoúrovňové zjišťování vyžadovalo jako vstup speciálně formátovaný JSON. To je ono, už se to nestane!

Zabbix 4.2 umožňuje nízkoúrovňovému zjišťování (LLD) používat libovolná data ve formátu JSON. Proč je to důležité? To vám umožňuje komunikovat například s externími rozhraními API bez použití skriptů a využívat získané informace k automatickému vytváření hostitelů, datových prvků a spouštěčů.

Ve spojení s podporou JavaScriptu to vytváří fantastické příležitosti pro vytváření šablon pro práci s různými zdroji dat, jako jsou například cloudová API, aplikační API, data ve formátech XML, CSV a tak dále a tak dále.

Vydán Zabbix 4.2
Propojení JSON s informacemi o procesech s LLD

Možnosti jsou opravdu nekonečné!

TimescaleDB podpora

Vydán Zabbix 4.2

Co je TimescaleDB? Toto je běžný PostgreSQL plus rozšiřující modul od týmu TimescaleDB. TimescaleDB slibuje lepší výkon díky efektivnějším algoritmům a datové struktuře.

Další výhodou TimescaleDB je navíc automatické rozdělení tabulek s historií. TimescaleDB je rychlá a snadná na údržbu! I když bych měl poznamenat, že náš tým ještě neprovedl seriózní srovnání výkonu s běžným PostgreSQL.

V současné době je TimescaleDB poměrně mladý a rychle se rozvíjející produkt. Používejte opatrně!

Snadná správa tagů

Pokud dříve bylo možné značky spravovat pouze na úrovni spouštěče, nyní je správa značek mnohem flexibilnější. Zabbix podporuje značky pro šablony a hostitele!

Všechny zjištěné problémy obdrží značky nejen spouštěče, ale také hostitele a také šablony tohoto hostitele.

Vydán Zabbix 4.2
Definování značek pro síťový uzel

Flexibilnější automatická registrace

Zabbix 4.2 umožňuje filtrovat hostitele podle názvu pomocí regulárních výrazů. To umožňuje vytvářet různé scénáře detekce pro různé skupiny síťových uzlů. Je to zvláště výhodné, pokud používáme složitá pravidla pro pojmenování zařízení.

Flexibilnější zjišťování sítě

Další vylepšení se týká pojmenování síťových uzlů. Nyní je možné spravovat názvy zařízení během zjišťování sítě a získat název zařízení z metrické hodnoty.

Jedná se o velmi potřebnou funkcionalitu, zejména pro zjišťování sítě pomocí SNMP a Zabbix agenta.

Vydán Zabbix 4.2
Automaticky přiřaďte název místního hostitele viditelnému názvu

Kontrola funkčnosti metod upozornění

Nyní si můžete odeslat testovací zprávu přímo z webového rozhraní a zkontrolovat, zda metoda upozornění funguje. Tato funkce je zvláště užitečná pro testování skriptů pro kombinaci Zabbixu s různými výstražnými systémy, systémy úloh a dalšími externími programy a API.

Vydán Zabbix 4.2

Vzdálené monitorování komponent infrastruktury Zabbix

Nyní je možné vzdáleně monitorovat interní metriky serveru Zabbix a proxy (metriky výkonu a stav komponent Zabbix).

K čemu to je? Funkcionalita umožňuje zvenčí sledovat interní metriky serverů a proxy, umožňuje rychle detekovat a upozorňovat na problémy i v případě, že jsou samotné komponenty přetížené nebo je například na proxy velké množství neodeslaných dat.

Podpora formátu HTML pro e-mailové zprávy

Nyní se neomezujeme pouze na prostý text a můžeme vytvářet krásné e-mailové zprávy díky podpoře formátu HTML. Je čas naučit se HTML + CSS!

Vydán Zabbix 4.2
Zprávy jsou srozumitelnější i s minimálním použitím HTML

Přístup k externím systémům ze síťových karet

Ve vlastních URL je podpora celé sady nových maker pro lepší integraci map s externími systémy. To vám umožní otevřít například tiket v systému úloh jedním nebo dvěma kliknutími na ikonu síťového uzlu.

Vydán Zabbix 4.2
Otevřete lístek v Jira jedním kliknutím

Pravidlo zjišťování může být závislou datovou položkou

Proč je to nutné - ptáte se. To umožňuje použití základních metrických dat pro zjišťování i přímý sběr dat. Například v případě shromažďování dat od exportéra Prometheus provede Zabbix jeden HTTP požadavek a okamžitě použije přijaté informace pro všechny závislé datové prvky: metrické hodnoty a pravidla zjišťování na nízké úrovni.

Nový způsob vizualizace problémů na mapách

Nyní je podpora animovaných obrázků GIF na mapách pro viditelnější vizualizaci problémů.

Vydán Zabbix 4.2
Problematická zařízení se stala viditelnější

Extrahování dat z HTTP hlaviček při monitorování webu

Ve Web Monitoringu přibyla možnost výběru dat z přijaté HTTP hlavičky.

To vám umožní vytvořit vícekrokové webové monitorování nebo scénáře monitorování API třetích stran pomocí autorizačního tokenu získaného v jednom z kroků.

Vydán Zabbix 4.2
Extrahování AuthID z hlavičky HTTP

Zabbix Sender používá všechny IP adresy

Zabbix Sender nyní odesílá data na všechny IP adresy z parametru ServerActive v konfiguračním souboru agenta.

Vydán Zabbix 4.2

Pohodlný nový filtr v konfiguraci spouštění

Stránka konfigurace spouštěče má nyní rozšířený filtr pro rychlý a pohodlný výběr spouštěčů na základě zadaných kritérií.

Vydán Zabbix 4.2
Výběr spouštěčů souvisejících se službou K8S

Ukaž přesný čas

Zde je vše jednoduché, nyní Zabbix ukazuje přesný čas, když najedete myší na graf.

Vydán Zabbix 4.2

Další inovace

  • Implementován předvídatelnější algoritmus pro změnu pořadí widgetů na řídicím panelu
  • Schopnost hromadně měnit parametry prototypů datových položek
  • Podpora IPv6 pro kontroly DNS: "net.dns" a "new.dns.record"
  • Přidán parametr „skip“ pro kontroly „vmware.eventlog“.
  • Chyba provedení kroku předběžného zpracování zahrnuje číslo kroku

Jak upgradovat?

Chcete-li upgradovat ze starších verzí, stačí nainstalovat nové binární soubory (servery a proxy) a nové rozhraní. Zabbix automaticky aktualizuje databázi. Není potřeba instalovat nové agenty.

Pořádáme bezplatné webové semináře pro ty, kteří se chtějí dozvědět více o Zabbix 4.2 a mají možnost klást otázky týmu Zabbix. Přihlásit se!

Nezapomeňte na populární Telegramový kanál Komunita Zabbix, kde vždy můžete získat rady a odpovědi na své otázky v ruštině od zkušenějších kolegů, a pokud budete mít štěstí, i od samotných vývojářů Zabbix. Doporučeno pro začátečníky skupina pro začátečníky.

Užitečné odkazy

- Poznámky k vydání
- Poznámky k upgradu
- Původní článek

Zdroj: www.habr.com

Přidat komentář