Monitorovací systém Zabbix není nutné dlouze představovat. Za dobu své mnohaleté existence si našel místo v řadě IT odvětví. Jeho vývoj došel k dlouho očekávané nové LTS verzi 7.0.
Dne 4. června 2024 byl vydán Zabbix 7.0.0 LTS ve formě zdrojových kódů a balíčků v oficiálním Zabbix repository. Na stránkách dokumentace je velmi podrobný popis všech nových funkcí. Zlomové změny této verze jsou též podrobně popsány v popisu k upgrade.
Licence AGPL-3.0
Software Zabbix je nyní napsán a šířen pod licencí AGPL-3.0 (dříve GPL v2.0).
Kontrola aktualizace softwaru
Do nových i stávajících instalací je nyní ve výchozím nastavení přidána kontrola aktualizací softwaru – frontend Zabbix bude komunikovat s veřejným koncovým bodem Zabbix a kontrolovat aktualizace.
Novinky o dostupných aktualizacích softwaru Zabbix se zobrazují v sekci Reports → System information a (volitelně) ve widgetu Systémové informace.
Kontrolu aktualizací softwaru můžete zakázat nastavením AllowSoftwareUpdateCheck=0
v konfiguraci serveru.
Asynchronní pollery
Byly přidány nové poller procesy, které mohou provádět více kontrol najednou:
agent poller
http agent poller
snmp poller
(forwalk[OID]
andget[OID]
items)
Tyto pollery jsou asynchronní – jsou schopny spouštět nové kontroly bez nutnosti čekat na odpověď, přičemž souběžnost lze konfigurovat až na 1000 souběžných kontrol.
Asynchronní pollery byly vyvinuty proto, že v porovnání s nimi mohou synchronní pollerové procesy provádět pouze jednu kontrolu najednou a většinu času stráví čekáním na odpověď.
Asynchronní agent pollery můžete spustit změnou hodnoty StartAgentPollers
– nový parametr serveru/proxy. HTTP agent pollery lze spustit úpravou hodnoty StartHTTPAgentPollers
, a SNMP pollery lze spustit úpravou parametru StartSNMPPollers
.
Maximální souběžnost pro asynchronní pollery (HTTP agent a SNMP) je definována pomocí MaxConcurrentChecksPerPoller
. Všimněte si, že po aktualizaci budou všechny kontroly agenta, HTTP agenta SNMP walk[OID] přesunuty na asynchronní pollery.
V rámci vývoje byla do kontrol HTTP agenta přidána funkce trvalých připojení cURL.
Browser monitoring
Do Zabbixu byl přidán nový typ položky – Browser item, která umožňuje sledování složitých webových stránek a webových aplikací pomocí prohlížeče. Položky prohlížeče umožňují spouštět uživatelem definovaný kód JavaScriptu, který simuluje akce související s prohlížečem, jako je klikání, zadávání textu, procházení webových stránek atd.
Tato položka shromažďuje data přes HTTP/HTTPS a částečně implementuje standard W3C WebDriver pomocí Selenium Serveru nebo obyčejného WebDriveru (například ChromeDriver) jako testovacího koncového bodu. Tento software je snadno zprovoznitelný v dockeru.
Upozorňujeme, že podpora Browser item je v současné době experimentální!
Kromě toho tato funkce přidává šablonu Website by Browser a nové prvky pro export/import konfigurace, konfigurační soubory serveru/proxy serveru Zabbix, časové limity a nástroj příkazového řádku zabbix_js. Další informace naleznete v části Poznámky k aktualizaci na verzi 7.0.0.
Proxy load balancing
Vyrovnávání zátěže zabbix proxy serverů zavádí nové skupiny proxy serverů. Skupiny poskytují takové funkce, jako je automatické rozdělování hostitelů mezi Zabbix proxy, vyrovnávání zátěže a vysoká dostupnost – když jedena proxy přestane fungovat, jeho hostitelé jsou okamžitě rozděleni mezi ostatní Zabbix proxy ve skupině.
Další informace naleznete v dokumentaci proxy load balancing.
Proxy memory buffer
Pro Zabbix proxy byla vyvinuta vyrovnávací paměť. Vyrovnávací paměť umožňuje ukládat nová data (hodnoty položek, zjišťování sítě, automatickou registraci hostitele) do vyrovnávací paměti a odesílat je na Zabbix server, bez přístupu do databáze.
V instalacích před verzí Zabbix 7.0 se shromážděná data ukládala do databáze před odesláním na Zabbix server. U těchto instalací zůstává toto chování výchozí i po aktualizaci.
Pro optimalizaci výkonu se doporučuje nakonfigurovat použití vyrovnávací paměti na Zabbix proxy. To je možné změnou hodnoty ProxyBufferMode
z „ disk
“ (pevně nastavené výchozí nastavení pro stávající instalace) na „ hybrid
“ (doporučené) nebo „ memory
“. Je také nutné nastavit velikost vyrovnávací paměti (parametr ProxyMemoryBufferSize
).
V hybridním režimu je vyrovnávací paměť chráněna před ztrátou dat tím, že se neodeslaná data zapíší do databáze, pokud je proxy server zastaven, vyrovnávací paměť je plná nebo jsou data příliš stará. Jakmile jsou všechny hodnoty zpracovány z databáze, proxy se vrátí k používání vyrovnávací paměti.
V paměťovém režimu se používá vyrovnávací paměť, ale není zde žádná ochrana proti ztrátě dat. Pokud je proxy server zastaven nebo dojde k přeplnění paměti, neodeslaná data budou zahozena.
Hybridní režim ( ProxyBufferMode=hybrid
) se používá pro všechny nové instalace od verze Zabbix 7.0.
Další parametry, například ProxyMemoryBufferSize
a ProxyMemoryBufferAge
, definují velikost vyrovnávací paměti a maximální stáří dat ve vyrovnávací paměti.
Byly přidány nové interní položky pro sledování vyrovnávací paměti proxy serveru.
JIT user provisioning
Dříve byli uživatelé omezeni pouze na média vytvořená během provisioningu bez možnosti upravovat takové vlastnosti, jako je pracovní doba nebo závažnost.
V Zabbixu je nyní k dispozici větší flexibilita pro poskytované uživatele:
- zajištěná uživatelská média lze zakázat/povolit.
- pole uživatelských médií, jako například
Když je aktivní, Použít při závažnosti a Povoleno, lze upravit ručně
- lze ručně přidávat další uživatelská média (například další e-mailové adresy) pro zajištěné uživatele
- ručně přidaná uživatelská média lze odstranit (zajištěná uživatelská média nikoli).
Kromě toho jsou nyní při konfiguraci mapování uživatelských médií pro provisioning k dispozici pole jako Při aktivitě, Použít při závažnosti a Povoleno
. Upozorňujeme, že změny ve formuláři pro mapování typu uživatelských médií se projeví pouze u nových médií vytvořených během provisioningu.
Konfigurovatelné timeout limity pro jednotlivé položky
Konfigurace časového limitu na položku je nyní k dispozici pro více typů položek (viz podporované typy položek). Kromě nastavení hodnot timeoutu na úrovni položky je možné definovat globální a proxy timeouty pro různé typy položek.
Časové limity nakonfigurované na úrovni položky mají nejvyšší prioritu. Ve výchozím nastavení se globální časové limity použijí pro všechny položky, pokud jsou však nastaveny proxy časové limity, budou mít přednost před globálními.
Oracle DB zastaralá
Podpora databáze Oracle jako backendové databáze byla zrušena a očekává se, že v budoucích verzích bude zcela odstraněna.
Protokol JSON pro pasivní kontroly agentů
Byl implementován protokol založený na JSON pro pasivní kontroly agentů. Kvůli kompatibilitě se staršími agenty byl přidán failover na starý protokol prostého textu. Pokud agent vrátí „ZBX_NOTSUPPORTED“, Zabbix uloží rozhraní do mezipaměti jako starý protokol a zopakuje kontrolu odesláním pouze klíče položky prostého textu.
Zabbix get lze nyní spustit s novou volbou -P --protocol <hodnota>
, kde „hodnota“ je buď:
- auto – připojí se pomocí protokolu JSON, vrátí se zpět a zopakuje pokus s protokolem prostého textu (výchozí)
- json – připojení pomocí klíče protokolu JSON
- plaintext – připojení pomocí protokolu plaintext, kdy se posílá pouze klíč položky.
Jednotné protokoly agent/agent2
Protokoly Zabbix agent a agent2 byly sjednoceny přepnutím Zabbix agent na protokol Zabbix agent2. Rozdíl mezi požadavky/odpověďmi Zabbix agent a Zabbix agent2 je vyjádřen hodnotou značky „varianta“ („1“ – Zabbix agent, „2“ – Zabbix agent2).
Viz také: Pasivní a aktivní kontroly agentů.
Podpora flexibilních/plánovaných intervalů v aktivních kontrolách
Flexibilní plánované intervaly jsou nyní podporovány při aktivních kontrolách Zabbix agent i Zabbix agent2 (dříve pouze Zabbix agent2).
Automatické vypnutí ztracených prostředků
Prostředky, které již nejsou objeveny pomocí nízkoúrovňového zjišťování, lze nyní automaticky zakázat. Lze je zakázat okamžitě, po uplynutí určitého časového období nebo nikdy (viz nový parametr Zakázat ztracené prostředky v konfiguraci pravidla objevování).
Ztracené prostředky (hosts, items, triggers) jsou ve stavovém sloupci označeny informační ikonou. Text nápovědy poskytuje podrobnosti o jejich stavu.
V rámci téhož vývoje byl parametr Doba uchovávání ztracených zdrojů
přejmenován na Odstranit ztracené zdroje s možností odstranit okamžitě, po uplynutí určitého časového období nebo nikdy.
Manuální vložení parametru skriptu uživatelem
Ruční uživatelský vstup pro frontendové skripty umožňuje zadat vlastní parametr při každém spuštění skriptu. Díky tomu není nutné vytvářet více podobných uživatelských skriptů, které se liší pouze jedním parametrem.
Během provádění skriptu můžete například chtít zadat jiné celé číslo nebo jinou adresu URL.
- použijte makro {MANUALINPUT} ve skriptu (příkazy, skript, parametr skriptu), kde je to vyžadováno nebo v poli URL u skriptů URL
- v pokročilé konfiguraci skriptu povolit ruční zadávání uživatelem a nakonfigurovat možnosti zadávání
Pokud je povolen vstup od uživatele, zobrazí se před spuštěním skriptu vyskakovací okno Ruční zadávání, ve kterém je uživatel požádán o zadání vlastní hodnoty. Zadaná hodnota nahradí ve skriptu {MANUALINPUT}.
V závislosti na konfiguraci bude uživatel vyzván k zadání řetězcové hodnoty nebo k výběru hodnoty z rozbalovacího seznamu předem určených možností.
Odesílání dat na server Zabbix přes Zabbix API
Dříve bylo možné odesílat konkrétní data na Zabbix server pomocí nástroje Zabbix sender nebo implementací vlastního komunikačního protokolu založeného na JSON podobného tomu, který se používá v Zabbix sender.
Nyní je také možné odesílat data na Zabbix server prostřednictvím protokolu HTTP pomocí metody API history.push
. Všimněte si, že příjem odeslaných dat vyžaduje nakonfigurovanoý trapper item nebo položku HTTP agent (se zapnutým trappingem).
Kromě toho jsou správné operace history.push
zaznamenávány do Zprávy → Protokol auditu, který má další možnosti filtrování (nová akce Push a zdroj Historie), a metoda API history.push
je také k dispozici v seznamu metod API Povolit/Zakázat při konfiguraci uživatelské role.
Výkon
Rychlejší reakce na aktualizaci v období údržby hostitele
Dříve se údržba přepočítávala pouze každou minutu, což způsobovalo možné zpoždění až 60 sekund při zahájení nebo ukončení údržby. Nyní se údržba stále přepočítává každou minutu nebo ihned po načtení konfigurační mezipaměti, pokud dojde ke změnám v období údržby.
Proces časovače každou sekundu zkontroluje, zda je třeba spustit/zastavit údržbu na základě toho, zda došlo ke změnám v obdobích údržby po aktualizaci konfigurace. Rychlost spouštění/zastavování období údržby tedy závisí na intervalu aktualizace konfigurace (ve výchozím nastavení 10 sekund). Všimněte si, že změny období údržby nezahrnují nastavení Aktivní od/aktivní do. Také pokud je hostitel/skupina hostitelů přidána do existující aktivní periody údržby, budou změny aktivovány procesem časovače až na začátku následující minuty.
Rychlejší kontroly oprávnění
Kontroly oprávnění byly výrazně zrychleny zavedením několika zprostředkujících tabulek pro kontrolu oprávnění neprivilegovaných uživatelů.
Tyto tabulky uchovávají hashe (SHA-256) sad skupin uživatelů a sad skupin hostitelů pro každého uživatele/hostitele. Kromě toho existuje tabulka oprávnění, která uchovává pouze přístupné kombinace uživatelů a hostitelů, specifikované pomocí hash ID.
Díky tomuto vylepšení je načítání frontendových stránek (tj. hostitelů, problémů), které jsou náročné na oprávnění, mnohem rychlejší. Všimněte si, že hashe a oprávnění se nepočítají pro uživatele Super admin.
Rychlejší provádění trigger akcí
Spouštěcí operace, operace obnovy a aktualizace na Zabbix serveru nyní probíhají okamžitě (méně než 100 milisekund) po změně stavu spouštěče, zatímco dříve mohli uživatelé zaznamenat až 4sekundové zpoždění.
Snížení latence je možné díky implementaci mechanismů meziprocesové komunikace (IPC) mezi více procesy (escalator and escalation initiator, escalator and alerter, preprocessing manager and history syncer).
Widgety
V nové verzi přibylo několik nových widgetů a u ostatních byla rozšířena dostupná funkčnost. Widgety ovládacího panelu se nyní navíc mohou vzájemně propojovat a komunikovat, takže widgety a ovládací panely jsou dynamičtější.
Gauge
Do widgetů ovládacího panelu byl přidán widget Gauge, který umožňuje zobrazit hodnotu jedné položky jako ukazatel. Další informace naleznete v části Gauge.
Koláčový graf
Do widgetů ovládacího panelu byl přidán widget koláčový graf, který umožňuje zobrazit hodnoty vybraných položek jako
- pie chart
- doughnut chart
V rámci tohoto vývoje bylo do konfigurace widgetu grafu (na kartě Legenda) přidáno zaškrtávací políčko Zobrazit agregační funkci.
Honeycomb
Do widgetů ovládacího panelu byl přidán widget Honeycomb, který nabízí dynamický a živý přehled sledované síťové infrastruktury a prostředků, kde jsou skupiny hostitelů, jako jsou virtuální počítače a síťová zařízení, spolu s příslušnými položkami vizuálně znázorněny jako interaktivní šestiúhelníkové buňky. Další informace naleznete v části Honeycomb.
Top triggers
Do widgetů ovládacího panelu byl přidán widget Top triggers, který umožňuje zobrazit spouštěče s největším počtem problémů.
Historie položek a prostý text
Nový widget Historie položek na ovládacím panelu nahradil widget Obyčejný text a nabízí několik vylepšení.
Na rozdíl od widgetu Plain Text, který zobrazoval pouze nejnovější údaje o položkách v prostém textu, widget Historie položek podporuje různé možnosti zobrazení pro více typů položek (číselné, znakové, logické, textové a binární). Může například zobrazovat ukazatele průběhu nebo indikátory, obrázky pro binární typy dat (užitečné pro Browser items) a zvýrazňovat textové hodnoty (užitečné pro sledování log souborů).
Navigátor hostitele a navigátor položek
Widgety navigátoru hostitele a navigátoru položek byly přidány do widgetů ovládacího panelu. Tyto widgety zobrazují hostitele, resp. položky na základě různých možností filtrování a seskupování a umožňují ovládat informace zobrazené v ostatních widgetech na základě vybraného hostitele nebo položky. Další informace naleznete v části Navigátor hostitele a Navigátor položky.
Komunikační rámec pro widgety
Widgety ovládacího panelu se nyní mohou vzájemně propojovat a komunikovat, takže widgety a ovládací panely jsou dynamičtější. Více widgetů má parametry, které jim umožňují sdílet konfigurační data mezi kompatibilními widgety nebo dashboardy.
Tato funkce přináší následující změny:
- Skupiny hostitelů, hostitelé a parametry položek nyní umožňují vybrat buď příslušné entity, nebo zdroj dat, který je poskytuje
- Parametr Povolit výběr hostitele byl nahrazen parametrem Přepsat hostitele, který umožňuje vybrat zdroj dat, který poskytuje hostitele.
- Do více widgetů byl přidán parametr časového období, který umožňuje vybrat zdroj dat, který poskytuje časové období.
V závislosti na widgetu a jeho parametrech může být zdrojem dat buď kompatibilní widget ze stejného ovládacího panelu, nebo samotný ovládací panel. Další informace naleznete v části Widgety ovládacího panelu.
Změny v šablonách dodávaných Zabbixem naleznete v poznámkách k aktualizaci pro verzi 7.0.0.
Časová období pro agregaci ve widgetech Item value/Top hosts
Časová období lze nyní konfigurovat ve widgetech Item value a Top hosts.
Nyní je také možné zobrazit agregovanou hodnotu ve widgetu hodnoty položky za zvolené období. Agregovanou hodnotu lze zobrazit jako:
- minimum
- maximum
- average
- count
- sum
- first
- last
Tyto přidané funkce jsou užitečné při vytváření widgetů pro porovnávání dat. V jednom widgetu můžete například zobrazit nejnovější hodnotu, zatímco v jiném průměrnou hodnotu za delší období. Nebo lze použít několik widgetů pro porovnání agregovaných hodnot z různých období v minulosti vedle sebe.
Rozšířená dostupnost widgetů v šablonách
Dříve bylo možné v šabloně vytvořit dashboardy pouze s následujícími widgety: Clock, Graph (classic), Graph prototype, Item value, Plain text, URL.
Dashboardy v šabloně nyní podporují vytváření všech widgetů.
Rozšířené třídění ve widgetu Top hosts
Kromě řazení podle hodnoty položky je nyní také možné nastavit název hostitele nebo sloupec Text jako sloupec pořadí ve widgetu Top hostitelé.
Rozšířená funkčnost widgetu Host availability
Widget Host availability nyní umožňuje zobrazit hostitele s rozhraním Zabbix agenta (aktivní kontroly). Byl přidán ještě jeden stav dostupnosti, tj. smíšený, který odpovídá situaci, kdy je alespoň jedno rozhraní nedostupné a alespoň jedno je buď dostupné, nebo neznámé. Dále byla zavedena možnost zobrazit pouze celkový počet hostitelů bez rozdělení podle rozhraní.
Proměnná velikost legendy ve widgetu Graf
Widget Graf nyní podporuje konfiguraci proměnlivého počtu řádků legendy podle počtu nakonfigurovaných položek.
Funkce
Nové funkce
Byly přidány nové funkce pro použití ve spouštěcích výrazech a vypočtených položkách:
- jsonpath() – returns the JSONPath result
- xmlxpath() – returns the XML XPath result
Viz také: Řetězcové funkce
Aktualizované funkce
Bylo aktualizováno několik funkcí:
- Agregační funkce nyní podporují i nečíselné typy pro výpočet. To může být užitečné například u funkcí count a count_foreach.
- Agregační funkce count a count_foreach podporují volitelné parametry operator a pattern, které lze použít k přesnému filtrování položek a započítání pouze těch hodnot, které odpovídají zadaným kritériím.
- Všechny funkce foreach již nezahrnují nepodporované položky do počtu.
- Funkce last_foreach, která byla dříve nastavena tak, aby ignorovala argument časového období, jej nyní přijímá jako nepovinný parametr.
- Podporovaný rozsah hodnot vracených predikčními funkcemi byl rozšířen tak, aby odpovídal rozsahu datového typu double. Funkce timeleft() nyní může přijímat hodnoty až do 1,7976931348623158E+308 a funkce forecast() může přijímat hodnoty v rozsahu od –1,7976931348623158E+308 do 1,7976931348623158E+308.
Items
Konzistentní výchozí doba ukládání historie
Výchozí období pro uchovávání historie položek bylo ve frontendu i v databázi nastaveno na 31 dní. Tato změna se týká konfiguračních formulářů položek, šablon položek a prototypů položek a také přepisu doby uchovávání historie v nízkoúrovňovém zjišťování.
Hodnoty s plovoucí desetinnou čárkou oříznuté pro celočíselné položky
Pokud je nyní přijata hodnota s plovoucí desetinnou čárkou pro prvek s celým číslem bez znaménka, bude tato hodnota oříznuta od desetinné části a uložena jako celé číslo. Dříve by hodnota s plovoucí desetinnou čárkou způsobila, že by celočíselná položka nebyla podporována.
Počítání řádků v protokolu událostí systému Windows
Do agenta/Zabbix agenta2 v systému Windows byla přidána nová položka eventlog.count
. Tato položka vrací celočíselnou hodnotu s počtem řádků v protokolu událostí systému Windows na základě zadaných parametrů.
Asynchronní požadavky SNMP s jedním identifikátorem OID
Byla přidána nová položka get[OID] SNMP, která umožňuje asynchronní dotazování na jednu hodnotu OID.
Internal items
Byly přidány interní položky pro sledování vyrovnávací paměti proxy serveru:
- zabbix[proxy_buffer,buffer,<mode>] – vrátí statistiku využití vyrovnávací paměti proxy serveru.
- zabbix[proxy_buffer,state,changes] – vrací počet změn stavu mezi režimy diskové/paměťové vyrovnávací paměti od spuštění.
- zabbix[proxy_buffer,state,current] – vrací aktuální pracovní stav, ve kterém jsou uložena nová data.
Byly také přidány následující interní položky:
- zabbix[discovery_queue] – umožňuje sledovat počet kontrol discovery ve frontě
- zabbix[vps,written] – umožňuje sledovat celkový počet hodnot historie zapsaných do databáze
Nové a aktualizované položky agentů
Do agenta/Zabbix agenta2 byly přidány nové položky:
- Item net.dns.perf vrací počet sekund strávených čekáním na odpověď od služby, a to podle časového průběhu provádění položky net.dns
- Item net.dns.get Zabbix agent 2 vrací podrobné informace o záznamech DNS.
Byly aktualizovány následující položky Zabbix agent/agent2:
- Items net.dns a net.dns.record nyní při zpětném vyhledávání DNS přijímají název DNS v obráceném i neobráceném formátu
- Item proc.get v režimu „process“ a „summary“ nyní v Linuxu vracejí také paměť PSS (proportional set size)
- Item system.sw.packages a system.sw.packages.get jsou nyní podporovány v systému Gentoo Linux
- Item system.hostname nyní může vracet plně kvalifikované doménové jméno, pokud je v parametru type zadána nová volba fqdn
Items wmi.get a wmi.getall používané s Zabbix agent2 nyní vracejí JSON s logickými hodnotami reprezentovanými jako řetězce (například „RealTimeProtectionEnabled“: „True“ místo dříve vraceného „RealTimeProtectionEnabled“: true), aby odpovídal výstupnímu formátu těchto položek v Zabbix agent2 - Item oracle.ts.discovery Zabbix agent2 nyní vrací nový {#CON_NAME} LLD makro s názvem kontejneru
Item oracle.ts.stats Zabbix agent2 má nový parametr conname pro zadání názvu cílového kontejneru. Byl aktualizován formát JSON vracených dat. Pokud není v parametrech klíče uveden žádný tabulkový prostor, typ ani název conname, budou vrácená data obsahovat další úroveň JSON s názvem kontejneru, což umožní rozlišovat mezi kontejnery.
Simple checks
Item vmware.eventlog nyní podporuje volitelné filtrování podle závažnosti ve třetím parametru.
Item vmware.vm.discovery nyní vrací také údaje o síťových rozhraních virtuálních počítačů. Tyto údaje lze použít ke konfiguraci vlastních hostitelských rozhraní.
Item vmware.vm.net.if.discovery nyní vrací také pole adres síťových rozhraní.
Do následujících položek byl přidán nový parametr možností:
Tento parametr lze použít k určení, zda se s přesměrovanými odpověďmi má zacházet jako s cílovým hostitelem up nebo cílovým hostitelem down. Další podrobnosti naleznete v části simple check.
Protokolování duplicitních identifikátorů SNMPv3 Engine ID
Identifikátory engine se v protokolu SNMPv3 používají jako jedinečné identifikátory zařízení. Někdy jsou identifikátory Engine ID v několika zařízeních stejné z důvodu chybné konfigurace nebo továrního nastavení. Protože standardy SNMP vyžadují, aby identifikátory Engine ID byly jedinečné, položky sdílející stejné Engine ID přestanou být v Zabbixu podporovány, což vede k problémům s dostupností těchto zařízení.
Pro usnadnění řešení takových problémů bude nyní server Zabbix pravidelně zaznamenávat informace o zařízeních SNMPv3 sdílejících stejné ID Engine. Všimněte si, že detekce duplicitního Engine ID funguje v každém SNMP polleru zvlášť.
Odkaz na dokumentaci pro každou standardní položku
Každá standardní položka má nyní přímý odkaz z frontendu na stránku s dokumentací.
Odkazy jsou umístěny pod ikonou otazníku, když otevřete okno pomocníka položky z formuláře konfigurace položky (klikněte na Vybrat vedle pole klíče položky).
Preprocessing
Pokročilé zpracování kořenových příčin nepodporovaného stavu položky
Zpracování chyb v případě, že se nepodařilo načíst hodnotu položky (a ta se tak stala nepodporovanou), dříve neumožňovalo rozlišit důvod nebo fázi běhu, ve které proces selhal. Všechny chyby musely být ošetřeny pomocí jedné a téže možnosti ošetření chyby – buď zahození hodnoty, nastavení určité hodnoty, nebo nastavení určité chybové zprávy.
Chybovou zprávu je nyní možné přiřadit regulárnímu výrazu. Pokud se chyba shoduje (nebo neshoduje), je možné určit, jak má být případ chyby zpracován. Například konkrétní chybové hlášení lze „namapovat“ na obecnější případ, kterému bude odpovídat a který bude zpracován v dalším kroku předzpracování, nebo lze nějaký občasný problém (např. síťové připojení) zpracovat jinak než definitivní nezískání hodnoty položky.
Nyní lze přidat více kroků předzpracování nepodporované hodnoty. Všimněte si, že na konci pipeline může být pouze jeden krok porovnávání „jakákoli chyba“, který sondoval nepodporovaný stav položky. Pokud je přítomen, aktivuje se v případě, že žádná z konkrétních kontrol (ne)odpovídá příslušnému vzoru, nebo bylo přeneseno (upravené) chybové hlášení – tj. nedošlo k přepsání „Zahodit hodnotu“ nebo „Nastavit hodnotu na“.
Viz také: Kontrola nepodporované hodnoty
Lepší použitelnost pro mass updatev kroku processing
Z předchozího návrhu formuláře pro hromadnou aktualizaci položek nebylo dostatečně jasné, zda aktualizace kroku předzpracování přidá nebo nahradí kroky předzpracování. V novém návrhu byla přidána přepínací tlačítka Nahradit a Odebrat vše, takže uživatelům je jasné, co mohou očekávat jako výsledek hromadné aktualizace kroku předzpracování:
Makra
Podpora uživatelských maker v názvech položek a prototypů položek
V názvech položek a prototypů položek jsou nyní podporována uživatelská makra.
Všimněte si, že podpora uživatelských maker byla v systému Zabbix 6.0 z názvů prototypů položek odstraněna. Nyní byla obnovena. Nyní je také podporováno vyhledávání názvu položky s vyřešenými makry, což dříve podporováno nebylo.
Název položky s vyřešenými makry je uložen v samostatné databázové tabulce (item_rtname), která je rozšířením tabulky items. Pro každý záznam v tabulce items je vytvořen odpovídající záznam item_rtname (s výjimkou prototypů položek, položek pravidel zjišťování a položek šablon). Název s vyřešenými makry je omezen na 2048 znaků.
Název položky s vyřešenými makry se zobrazuje na všech místech frontendu kromě sekce Sběr dat.
Byl přidán nový proces pracovního serveru synchronizace konfigurace, který je zodpovědný za překlad a synchronizaci hodnot uživatelských maker v názvech položek.
Rozšířená podpora makro funkcí
Makro funkce jsou nyní podporovány u všech typů maker:
Makro funkce lze použít na všech místech podporujících uvedená makra. To platí, pokud není výslovně uvedeno, že se očekává pouze makro (např. při konfiguraci maker hostitele nebo nízkoúrovňových filtrů pravidel objevování).
Plánované reporty
Funkce plánovaných reportů již není experimentální.
Vícestránkový report
U vícestránkových panelů se nyní vracejí sestavy se všemi stránkami panelu, přičemž každá stránka PDF odpovídá jedné stránce panelu. Dříve byla tato funkce omezena na vrácení pouze první stránky panelu.
Notifikace
Vzdálené příkazy pro aktivní agenty
Nyní je možné provádět vzdálené příkazy na agentovi verze 7.0, který pracuje v aktivním režimu. Jakmile je spuštění vzdáleného příkazu vyvoláno akční operací nebo ručním spuštěním skriptu, bude příkaz zahrnut do konfigurace aktivních kontrol a proveden, jakmile jej aktivní agent obdrží.
Všimněte si, že starší aktivní agenti budou ignorovat všechny vzdálené příkazy zahrnuté do konfigurace aktivních kontrol. Další informace naleznete v části Pasivní a aktivní kontroly agentů.
Podpora zpracování tagů pro interní události
Zpracování značek vrácených skriptem webhook je nyní podporováno i pro interní události.
Pro interní oznámení událostí jsou nyní podporována také makra {EVENT.TAGS.<název značky>}, {EVENT.TAGS}, {EVENT.TAGSJSON}, {EVENT.RECOVERY.TAGS}, {EVENT.RECOVERY.TAGSJSON}.
Tyto změny umožňují používat webhooky pro aktualizaci nebo uzavření externího problému/lístku podpory pomocí interního oznámení o obnovení události.
Databáze
Auditlog převeden do hypertable na TimescaleDB
Tabulka auditlogu byla v nových instalacích převedena na hypertable v TimescaleDB, aby bylo možné využít automatické rozdělení podle času (ve výchozím nastavení 7 dní) a lepší výkon.
Pro úspěšnou aktualizaci stávajících instalací je nutné před spuštěním Zabbix serveru znovu spustit skript timescaledb.sql, který se nachází v adresáři database/postgresql. Pokud je server Zabbix spuštěn bez předchozího spuštění tohoto skriptu, zobrazí se varování.
Viz také:
Samostatná databázová tabulka pro proxy servery
Záznamy proxy serverů byly přesunuty z tabulky hosts a jsou nyní uloženy v nové tabulce proxy serverů.
Provozní údaje proxy serverů (například poslední přístup, verze, kompatibilita) byly přesunuty z tabulky host_rtdata a jsou nyní uloženy v nové tabulce proxy_rtdata.
Procesy
Multithreading
V rámci přechodu na vícevláknovou architekturu bylo provedeno několik změn:
- Byl přidán nový parametr configure:
--with-stacksize
. Tento parametr umožňuje přepsat výchozí velikost zásobníku vláken používanou systémem (v kilobajtech). - Řešení uživatelských maker bylo přesunuto ze správce předzpracování na preprocessing workery.
Server environment hardening
Nyní je možné omezit některé funkce Zabbixu a zvýšit tak bezpečnost prostředí serveru:
- globální spouštění skriptů na serveru Zabbix lze zakázat nastavením
EnableGlobalScripts=0
v konfiguraci serveru. U nových instalací je spouštění globálních skriptů na serveru Zabbix ve výchozím nastavení zakázáno. - ověřování HTTP uživatele lze zakázat nastavením
$ALLOW_HTTP_AUTH=false
v konfiguračním souboru frontendu (zabbix.conf.php
).
Ověřování konfiguračních souborů
Do příkazů pro údržbu Zabbix serveru, proxy serveru, agenta, agenta 2 a webové služby byla přidána možnost ověřování konfiguračních souborů. Ověření lze provést pomocí volby -T --test-config
. V případě úspěšné validace bude výstupní kód „0“; v opačném případě komponenta skončí s nenulovým výstupním kódem a odpovídající chybovou zprávou. Varování (např. v případě zastaralého parametru) nebudou mít na úspěšný výstupní kód vliv.
Detekce funkcí knihovny cURL za běhu
Dříve byly funkce knihovny cURL detekovány při sestavení serveru, proxy serveru nebo agenta Zabbix. Pokud byly funkce cURL aktualizovány, musela být příslušná komponenta Zabbixu překompilována, aby je bylo možné využít.
Nyní je nutné pouze restartovat, aby byly aktualizované funkce knihovny cURL dostupné v Zabbixu. Překompilování již není nutné. To platí pro Zabbix server, proxy nebo agenta.
Viz také poznámky k aktualizaci.
Konfigurace Zabbix agenta2
Velikost bufferu
Výchozí hodnota konfiguračního parametru BufferSize pro Zabbix agent2 byla zvýšena ze 100 na 1000.
Povolené prázdné hodnoty
V konfiguračních parametrech souvisejících se zásuvnými moduly Zabbix agent2 jsou nyní povoleny prázdné hodnoty.
Nastavení typu spuštění služby agenta systému Windows
Byla přidána možnost nastavit typ spuštění služby Zabbix agent/agent2 Windows ( -S --startup-type
). Tato volba umožňuje nastavit, aby se služba agent/agent2 spouštěla automaticky při startu systému Windows (automaticky), po dokončení startu automaticky spouštěných služeb (zpožděně), při ručním spuštění uživatelem nebo aplikací (ručně) nebo aby byla služba zcela zakázána (zakázáno).
Podpora starého číselného typu zrušena
Starý styl hodnot s plovoucí desetinnou čárkou, který byl dříve zastaralý, již není podporován, protože se používají číselné hodnoty s rozšířeným rozsahem.
Přidání parametru předpony trezoru do konfiguračních souborů
Konfigurační soubory zabbix_server.conf
a zabbix_proxy.conf
byly doplněny o nový nepovinný parametr Vault Prefix; soubor zabbix.conf.php
byl doplněn o nepovinný parametr $DB[‚VAULT_PREFIX‘] a soubor setup.php
byl odpovídajícím způsobem aktualizován.
Cesty k trezorům CyberArk a HashiCorp proto již nejsou pevně nastaveny, aby umožňovaly nasazení trezorů s nestandardními cestami.
Discovery
Současnost při objevování sítě
Dříve bylo každé pravidlo zjišťování sítě zpracováváno jedním procesem zjišťování. Všechny kontroly služeb v rámci pravidla tak mohly být prováděny pouze postupně.
V nové verzi byl proces zjišťování sítě přepracován tak, aby umožňoval souběžné kontroly služeb. Byl přidán nový proces správce zjišťování spolu s konfigurovatelným počtem pracovníků zjišťování (nebo vláken).
Správce zjišťování zpracovává pravidla zjišťování a pro každé pravidlo vytváří úlohu zjišťování s úkoly (kontroly služeb). Kontroly služeb jsou přebírány a prováděny pracovníky zjišťování. Postupně jsou naplánovány pouze ty kontroly, které mají stejnou IP a port, protože některá zařízení nemusí povolit souběžná připojení na stejném portu.
Nová interní položka zabbix[discovery_queue]
umožňuje sledovat počet kontrol discovery ve frontě.
Parametr StartDiscoverers
nyní určuje celkový počet dostupných workerů objevování. Výchozí počet StartDiscoverers
byl zvýšen z 1 na 5 a rozsah z 0–250 na 0–1000. Procesy discoverer z předchozích verzí Zabbixu byly zrušeny.
Kromě toho:
- Všechny kontroly služeb jsou nyní prováděny asynchronně, s výjimkou kontrol LDAP
- Počet souběžných asynchronních kontrol pro každý typ kontroly služby (nebo počet dostupných pracovníků pro všechny synchronní kontroly služby) je nyní konfigurovatelný ve frontendu (viz Maximální počet souběžných kontrol pro každý typ). Tento parametr je volitelný.
- Kontrola služby HTTP byla dříve stejná jako kontrola TCP. Nyní se kontrola HTTP/HTTPs provádí prostřednictvím libcurl. Pokud je Zabbix server/proxy zkompilován bez libcurl, pak bude kontrola HTTP fungovat stejně jako dříve (tj. jako kontrola TCP), ale kontrola HTTPS fungovat nebude.
- Chyby v procesu zjišťování sítě se nyní zobrazují ve frontendu (v části Sběr dat → Zjišťování), například: – chyby fpingu; – nesprávné SNMP OID; – nesprávné makro pro časový limit položky – chyby rozsahu adres.
Přidání tagů hosta během objevování a auto-registrace
Pro události zjišťování a automatické registrace jsou nyní k dispozici další operace:
- Add host tags
- Remove host tags
Sdílení objevených hostitelských skupin
Pravidla LLD mohou nyní propojit již objevené a existující skupiny hostitelů s hostiteli vytvořenými stejnými pravidly LLD. To ovlivňuje skupiny hostitelů dříve objevené a vytvořené jinými pravidly LLD na základě zadaných prototypů skupin.
Konektory
Funkce streamování dat již není experimentální.
Streamování selektivních dat a konfigurace intervalů pokusů
Při streamování hodnot položek ze Zabbixu do externích systémů lze nyní nastavit, které hodnoty položek má konektor streamovat na základě jejich typu informace (číselné (unsigned), číselné (float), znakové atd.).
Aby se zabránilo neúspěšným pokusům o přenos hodnot položek nebo událostí (například pokud je koncový bod HTTP obsazen nebo je omezena rychlost), můžete nyní také konfigurovat interval pokusů – jak dlouho má konektor čekat po neúspěšném pokusu o přenos dat.
Kódy odpovědi HTTP 201, 202, 203 a 204 jsou nyní konektory také přijímány jako úspěšné (dříve pouze 200).
Streamování dat do aplikace Apache Kafka
Nyní je k dispozici nový nástroj pro streamování dat do externích systémů – konektor Kafka pro server Zabbix. Konektor Kafka je lehký server napsaný v jazyce Go, který je určen k předávání hodnot položek a událostí ze serveru Zabbix do zprostředkovatele Kafka.
Template
Nové šablony
Byla přidána šablona Website by Browser pro monitorování složitých webových stránek a webových aplikací.
Tuto šablonu můžete získat:
- V části Konfigurace → Šablony v nových instalacích
- Pokud přecházíte z předchozí verze, můžete si nové šablony stáhnout z úložiště Zabbix Git nebo je najít v adresáři zabbix/templates nejnovější verze Zabbixu, kterou jste si stáhli. Poté je můžete v části Konfigurace → Šablony ručně importovat do Zabbixu.
Frontend
Vícefaktorové ověřování
K přihlášení do služby Zabbix lze nyní použít vícefaktorové ověřování (MFA) pomocí metody TOTP (Time-Based One-Time Password) nebo Duo Universal Prompt, které poskytují další úroveň zabezpečení nad rámec uživatelského jména a hesla.
Formát času v USA
Zobrazení času a data ve frontendu nyní odpovídá americkému standardu zobrazení času a data při použití výchozího jazyka frontendu (cs_US).
Before | Now |
---|---|
Zjednodušené klonování
Dříve bylo možné klonovat a plně klonovat hostitele, šablony a mapy.
Nyní byla možnost Klonovat odstraněna a možnost Úplné klonování byla přejmenována na Klonování, přičemž všechny předchozí funkce možnosti Úplné klonování zůstaly zachovány.
Ikony nahrazené písmy
Všechny ikony ve frontendu byly změněny z listů s obrázky ikon na písma.
Modální formuláře
Některé formuláře frontendu se nyní otevírají v modálních (vyskakovacích) oknech:
- Network discovery rule configuration
- Global script configuration
- Event correlation configuration
- Module configuration
- Media type configuration
- Template configuration
- Trigger and trigger prototype configuration
- Item and item prototype configuration
Skládací pokročilá konfigurace
Zaškrtávací políčka pokročilé konfigurace, která slouží k zobrazení pokročilých možností konfigurace, byla nahrazena skládacími bloky (viz například konfigurace konektoru, konfigurace služby, konfigurace widgetu hodin atd.). To zlepšuje uživatelské pohodlí, protože sbalením těchto bloků a uložením konfigurace se již nenastavují nakonfigurované pokročilé možnosti na výchozí hodnoty.
Vylepšená část nabídky pro Top Triggers
Část nabídky pro zobrazení nejčastějších spouštěčů se nyní jmenuje Top 100 triggers. Byla přidána možnost filtrovat spouštěče podle názvu problému a značek. U každého spouštěče se nyní také zobrazuje počet zjištěných problémů namísto počtu změn stavu.
Zvýšený limit znaků pro konfigurační pole
Pole URL
Limit znaků pro všechna pole URL je nyní 2048 znaků. To nyní zahrnuje: URL dlaždice pro nastavení související s geografickými mapami, URL frontendu pro konfiguraci různých parametrů frontendu, URL pro síťové mapy a prvky síťových map, URL A-C pro pole inventáře hostitele a URL pro widget dashboard.
Autentizační pole
Limit znaků pro pole ověřování Uživatelské jméno a Heslo je nyní 255 znaků. To platí pro konfiguraci ověřování HTTP pro položky agenta HTTP, webové scénáře a konektory, stejně jako pro konfiguraci ověřování pro jednoduché kontroly, monitorování ODBC, kontroly SSH, kontroly Telnet a monitorování JMX.
Zkrácení výsledku testu položky a processingu
Při testování položek nebo testování kroků předzpracování jsou nyní hodnoty načtené z hostitele a výsledky testů při odesílání do frontendu zkráceny na maximální velikost 512 KB. Všimněte si, že data větší než 512 KB jsou serverem Zabbix stále plně zpracována.
Karty hostitelských přístrojových panelů
Všechny nakonfigurované ovládací panely hostitele pro vybraného hostitele se nyní zobrazují jako karty pod záhlavím stránky ovládacích panelů hostitele a nahrazují předchozí rozbalovací seznam v pravém horním rohu. To umožňuje snadný přechod mezi různými ovládacími panely hostitele a zlepšuje navigaci v monitorovacích datech.
Audit log
V části Administration → Audit log auditu můžete nyní povolit/zakázat protokolování nízkoúrovňových činností zjišťování, zjišťování sítě a automatické registrace prováděných serverem (uživatel systému).
Výchozí doba ukládání záznamů protokolu auditu před jejich odstraněním správcem byla změněna z 365 dnů na 31 dnů.
Nejnovější filtr dat
V části Monitoring → Latest data se již ve výchozím nastavení nezobrazuje podfiltr a data, pokud není nastaven filtr.
Pokud přecházíte z předchozí verze Zabbixu, podívejte se také na: Poznámky k aktualizaci pro verzi 7.0.0.
Minimální požadovaná verze PHP
Minimální požadovaná verze PHP byla zvýšena z 7.4.0 na 8.0.0.
Přejmenované prvky
- Některé parametry widgetu ovládacího panelu s označením Tagy byly pro větší přehlednost přejmenovány: Značky položek (pro widget Přehled dat), Značky scénářů (pro widget Monitorování webu), Značky problémů (pro widgety Graf, Hostitelé problémů, Problémy, Problémy podle závažnosti a Přehled spouštěčů)
- Akční odkaz na úpravu obsahu mapy, dostupný ze seznamu map v sekci Sledování → Mapy, byl přejmenován z Konstruktor na Upravit
- Pole pro nastavení období ukládání historie a trendů ve formulářích konfigurace položky a prototypu položky byla přejmenována
- V konfiguraci widgetu Top hostitelé byla pole Sloupec pořadí a Počet hostitelů přejmenována na pole Pořadí podle a Limit hostitele, aby lépe popisovala své funkce.
- V konfiguraci widgetu Graf bylo pole legendy Zobrazit min/max/avg přejmenováno na Zobrazit min/avg/max a pole datové sady hostitelský vzor a vzor položky byla přejmenována na hostitelské vzory a vzory položek.
- V nastavení uživatelského profilu byla karta Zprávy přejmenována na Frontend notifications, v níž byla možnost Frontend messaging rovněž přejmenována na Frontend notifications.
Různé
- Byly aktualizovány ikony hlavní nabídky
- Byly aktualizovány zprávy informující o absenci dat nebo nenastavených filtrech (ve widgetech nebo vyskakovacích filtrech bez dat k zobrazení). Kromě toho byla odstraněna zápatí „Zobrazuje se 0 z 0 nalezených“ v případech, kdy nejsou k dispozici žádná data k zobrazení nebo kdy filtrování (nebo použití globálního vyhledávání) nevede k žádné shodě.
- Čísla verzí frontendu Zabbix a serveru Zabbix jsou nyní k dispozici na stránce Systémové informace
- Všechny akce, u kterých je použit typ média, se nyní zobrazují v seznamu typů médií (sloupec Použité v akcích). Dříve nebyly akce, u nichž byla v konfiguraci operace akce nastavena možnost Odeslat pouze na „Vše“, zahrnuty do sloupce typ média Použité v akcích
- Do sekce Nejnovější data byla přidána nová možnost filtrování: nyní umožňuje filtrovat položky podle jejich stavu (podporovaný/nepodporovaný)
- Do vyskakovacích oken určených pro konfiguraci a hromadnou aktualizaci prvků a tvarů mapy bylo přidáno standardní tlačítko pro zavření okna
- Byla zdokonalena konfigurace oprávnění skupin uživatelů a značek pro filtrování zobrazitelných problémů. Nyní je možné vybrat několik skupin hostitelů/šablon najednou a přiřadit jim stejná oprávnění.
- Odložení globálních oznámení v jednom prohlížeči je nyní odloží ve všech prohlížečích/zařízeních, kde je uživatel přihlášen.
- Parametr Přepsat hostitele ve widgetu Hodnota položky byl pro lepší použitelnost přesunut před část Rozšířená konfigurace.
Zásuvné moduly
Ember+
Byl přidán nový zásuvný modul pro přímé monitorování systému Ember+ pomocí Zabbix agenta2.
Další informace naleznete na:
Instalace
Samostatné instalační balíčky pro deriváty systému RHEL
Speciální instalační balíčky jsou k dispozici pro verze 8 a 9 systémů AlmaLinux, CentOS Stream, Oracle Linux a Rocky Linux. Dříve byly k dispozici jednotlivé instalační balíčky pro distribuce RHEL a distribuce založené na RHEL. Nyní se pro RHEL a každou z jeho výše uvedených odvozenin používají samostatné balíčky, aby se předešlo případným problémům s binární nekompatibilitou.
Podpora ARM64/AArch64
Instalační balíčky ARM64/AArch64 jsou nyní k dispozici pro Debian, RHEL 8, 9 a jejich odvozeniny, stejně jako pro SLES/OpenSUSE Leap 15.