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
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í
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
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.
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.
V současné době je jich více
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.
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.
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“.
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!
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!
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ě!
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!
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.
Možnosti jsou opravdu nekonečné!
TimescaleDB podpora
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.
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.
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.
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!
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.
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ů.
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ů.
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.
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í.
Ukaž přesný čas
Zde je vše jednoduché, nyní Zabbix ukazuje přesný čas, když najedete myší na graf.
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
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.
Nezapomeňte na populární
Užitečné odkazy
-
-
-
Zdroj: www.habr.com