V polovině května vyšla verze Zabbix 5.0 a my jsme zorganizovali sérii online meet-upů v různých jazycích s cílem názorně ukázat komunitě všechny změny a novinky. Nabízíme vám seznámit se s prezentací výkonného ředitele a zakladatele Zabbixu Alexeje Vladysheva, ve které krok za krokem hovoří o novinkách v Zabbix 5.0.

Zabbix 4.2 a Zabbix 4.4
Začneme se změnami, které se objevily ve verzi Zabbix 4.0, v souvislosti s používáním LTS verzí.
Ve verzi Zabbix 4.2, která vyšla v dubnu 2019, se objevily následující funkce:
- Vysokofrekvenční monitorování pomocí throttlingu, které zajišťuje škálovatelnost a zvyšování NVPS, což znamená rychlejší detekci problémů a směrování upozornění bez velkého zatížení Zabbixu.
- Sběr dat pomocí HTTP agenta.
- Podpora sběru dat od Prometheus Pro.
- Předzpracování podporuje validaci a JavaScript, který umožňuje transformaci jakýchkoli sbíraných dat.
- Předzpracování na straně proxy, které zajišťuje efektivnější škálovatelnost pomocí proxy.
- Vylepšené řízení tagů — meta-informací na úrovni událostí a problémů, které je snadné ovládat, protože tagy jsou podporovány jak na úrovni šablon, tak na úrovni uzlů sítě.
V září minulého roku vyšla verze Zabbix 4.4, která nabízela následující funkce:
- Nový Zabbix agent.
- Podpora Webhook pro upozornění a oznámení, což umožňuje integraci s externími systémy.
- Podpora TimescaleDB.
- Vestavěná znalostní báze pro metriky a spouštěče se stala viditelnou pro uživatele Zabbixu. Například uživatelé mohou používat popis prvků dat a spouštěčů v Monitoring > Latest data.
- Nový standard pro šablony.
Zabbix 5.0
Dnes se budeme bavit o LTS vydání Zabbix 5.0, které bude podporováno po dobu 5 let. Podpora verze 4.4 končí za měsíc. LTS vydání Zabbix 3.0 bude podporováno ještě 3,5 roku.
Zabbix zajišťuje monitorování mnoha věcí, jejichž seznam lze upřesnit na stránce , kde jsou uvedeny šablony pro monitorování a pluginy, včetně nového agenta.

Dostupné šablony pro monitorování a integraci
Kromě toho existují možnosti integrace s různými systémy, včetně systémů ticketů, ITSM systémů a systémů doručování zpráv pomocí Webhook.

Možnosti integrace
Ve verzi Zabbix 5.0 byla rozšířena vestavěná podpora pro integraci s různými systémy ticketů a také oznamovacími systémy:

Integrace s různými systémy
Byl rozšířen seznam vestavěných šablon pro monitorování aplikací a zařízení:

Vestavěné šablony pro monitorování aplikací a zařízení
Všechny aktualizace jsou k dispozici ke stažení na .
Každý uživatel nebo vývojář se může zapojit do Zabbix s hotovými návrhy — šablonami nebo pluginy, přičemž se využije jednoduchý postup:
- Podepsání Zabbix Contributory Agreement (ZCA) na .
- Umístění Pull Request na .
- Zpřezkum žádosti týmem vývojářů. Pokud plugin nebo šablona vyhovuje standardům Zabbix, je zařazena do produktu, a práce takového vývojáře bude oficiálně podporována týmem Zabbix.
Zabbix je open-source software s otevřeným zdrojovým kódem, který je k dispozici ke zhlédnutí, studiu a modifikaci. Uživatel má možnost produkt svobodně používat, účastnit se vylepšení programu nebo používat kód pro své vlastní nové programy. Na druhé straně se tým Zabbix snaží, aby bylo možné Zabbix snadno instalovat na různých platformách.
Vývojáři Zabbix nabízejí balíčky pro prakticky všechny nejpopulárnější distribuce a různé platformy virtualizace. Kromě toho lze Zabbix jedním kliknutím myši nainstalovat v veřejném cloudu. Zabbix je také k dispozici na platformách Red Hat Openshift nebo OpenStack.

Balíčky Zabbix pro distribuce a platformy
Podpora Zabbix Agent 2 pro Windows a Linux
Nový Zabbix Agent 2 je jedním z nejlepších řešení na trhu.
- Nabízí strukturu založenou na pluginech a podporuje skripty pro sběr dat, které mohou pracovat i několik hodin.
- Podporuje paralelní aktivní kontroly, trvalá připojení k externím systémům, což je užitečné například pro efektivní monitorování databází.
- Podporuje trapy a události, což je důležité pro monitorování například MQTT zařízení.
- Nová verze agenta se snadno instaluje (protože nový agent podporuje všechny předchozí funkce).
Dále je pro nového agenta v Zabbix 5.0 navržena podpora trvalého ukládání dat. Dříve nebyla odeslaná data uchovávána jinak než v paměti agenta, nyní je v nové verzi k dispozici nastavení pro ukládání těchto informací na disk.

Trvalé ukládání dat
To je důležité při monitorování kritických systémů a nestabilních komunikací, protože velké množství důležitých dat je uchováváno až do odeslání na server Zabbix. Možnost je rovněž užitečná pro satelitní spojení, která mohou být delší dobu nedostupná.
DŮLEŽITÉ! V Zabbix 5.0 byla zachována podpora Zabbix Agent 1.
Změny v bezpečnostním systému v Zabbix 5.0
1. V nové verzi je podporován HTTP proxy pro webhook, což umožňuje provádět spojení se serverem Zabbix k externím systémům upozornění bezpečnějším a řízenějším způsobem.
Pokud je potřeba integrovat server Zabbix v místní síti s externím systémem, například JIRA v cloudu, je možné udržovat spojení přes HTTP proxy, což zlepšuje kontrolovatelnost a spolehlivost spojení.
2. Jak pro starého, tak pro nového agenta je možné vybrat, které konkrétní kontroly mají být na daném agentu dostupné. Například je možné omezit počet kontrol vytvořením bílých a černých seznamů, definovat podporované klíče.
- Bílý seznam pro kontroly související s MySQL
AllowKey=mysql[*] DenyKey=* - Černý seznam pro zamítnutí všech shellových skriptů
DenyKey=system.run[*] - Černý seznam pro zamítnutí přístupu k /etc/password
DenyKey=vfs.file.contents[/etc/passwd,*]
3. Je možné vybrat algoritmy šifrování pro všechny komponenty Zabbix, aby se zabránilo použití nezabezpečených šifer pro TLS spojení. To je důležité pro monitorování prostředí, pro která platí určité bezpečnostní standardy.

Výběr algoritmů šifrování pro TLS spojení
4. V Zabbix 5.0 byla přidána podpora šifrovaných spojení s databází. V současné době je dostupné pouze šifrované spojení s PostgreSQL a MySQL.

Šifrovaná spojení s databází
5. Zabbix 5.0 přešel z MD5 na SHA256 pro ukládání hashů hesel uživatelů v databázi, protože je to momentálně nejs bezpečnější algoritmus.
6. Zabbix 5.0 podporuje tajné uživatelské makra pro ukládání jakýchkoli důvěrných informací, jako jsou hesla a API tokeny, k nimž nemají přístup koncoví uživatelé.

Tajné makra
7. Všechna spojení Zabbix s externími systémy a interní spojení s agenty jsou bezpečná. Podporuje se šifrování pomocí certifikátů TLS nebo pomocí předem zveřejněného klíče (pre-shared key encryption) pro spojení s agenty a proxy, nebo HTTPS. Bezpečnost na straně agentů lze posílit pomocí bílých a černých seznamů. Rozhraní funguje přes HTTPS.

Bezpečná spojení
8. Podpora SAML pro zajištění jediné autentizační služby u důvěryhodného poskytovatele identifikačních služeb, takže uživatelské údaje neopustí hranice firewallu.

SAML identifikace
Podpora SAML umožňuje integraci Zabbixu s různými místními a cloudovými poskytovateli identifikačních služeb, jako jsou Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, a také Azure, AWS nebo Google Cloud Platform.
Uživatelská přívětivost Zabbix 5.0
1. Uživatelské rozhraní optimalizované pro široké obrazovky. Přesunuli jsme menu z horní části, kde vždy chybí místo, na levou stranu obrazovky. Menu je stále zobrazeno v plném, minimálním a skrytém režimu.

Rozhraní optimalizované pro široký displej
2. Kopírování widgetů z panelů umožňuje velmi rychle vytvářet nové PANELY. K tomu je třeba v PANELU vybrat požadovaný widget, stisknout Kopírovat

Kopírování widgetu
a vložit widget do požadovaného panelu.

Vložení zkopírovaného widgetu
3. Export grafů. Chcete-li zkopírovat graf a poslat ho například e-mailem, můžete získat graf ve formátu PNG, vybráním požadovaného widgetu a kliknutím na Stáhnout obrázek.

Export grafů
4. Filtrace podle štítků: Problém podle závažnosti a Problémoví hostitelé. Objevila se možnost například sesbírat v jednom datovém centru data o všech problémech souvisejících s jedním uzlem sítě.

Filtrace podle štítků
5. Podpora modulů pro rozšíření rozhraní Zabbix. Pro instalaci nezávislého modulu je třeba jej zkopírovat do určitého adresáře. Moduly umožňují rozšiřovat stávající funkčnost rozhraní, vytvářet nové stránky, měnit strukturu menu, například přidávat položky.
Jakýkoli uživatel může napsat a integrovat modul. Za tímto účelem se modul zkopíruje do složky modules, čímž se stane viditelným v rozhraní, kde může být zapnutý nebo vypnutý.

Přidání nového modulu
6. Snadná navigace mezi zdroji souvisejícími s uzly sítě. V Monitoring > Hosts se zobrazuje seznam zařízení, která monitoruje Zabbix: uzly sítě, služby, síťová zařízení atd. Kromě toho je k dispozici rychlá navigace k obrazovkám, grafikám a problémům konkrétních zařízení.
Zrušili jsme karty Monitoring > Graphs a Monitoring > Webs, a veškerá navigace se provádí přes Monitoring > Hosts. Zobrazované informace lze filtrovat, včetně štítků, což umožňuje zobrazit vypnutá zařízení

Navigace mezi zdroji souvisejícími s uzly sítě
Například lze vybrat zařízení, která patří k službám koncových uživatelů, výběrem ‘Služba’, a také nastavením úrovně závažnosti těchto problémů.

Možnosti filtrování
7. Nová předzpracovací operace — 'Nahrazení' umožňuje provádět několik užitečných úkonů, které dříve bylo možné dělat pouze pomocí regulárních výrazů, které byly pro mnohé uživatele dost složité.
Replace umožňuje efektivně nahradit jeden řetězec nebo znak jinými, což umožňuje jednoduchou konverzi dat získaných v textovém formátu na číselné vyjádření.

Operátor Replace
8. Operátor JSONPath, který umožňuje extrahovat názvy atributů v přehledné formě

Operátor pro JSONPath
9. Zobrazení e-mailových zpráv Zabbix. V předchozích verzích se všechny e-mailové zprávy od Zabbixu v složce Příchozí zobrazovaly jako seznam. Od verze Zabbix 5.0 budou zprávy seskupovány podle problémů.

Seskupení e-mailových zpráv od Zabbixu
10. Podpora uživatelských makro příkazů pro IPMI pro uživatelské jméno a heslo. Pokud jsou pro uživatelské jméno a heslo použity tajné makro příkazy, přístup k jejich hodnotě bude uzavřen.

Podpora uživatelských makro příkazů
11. Hromadná změna uživatelských makro příkazů pro uzly sítě. V nové verzi je možné otevřít seznam šablon, vybrat seznam uzlů sítě a přidávat makra nebo měnit hodnoty existujících makro příkazů,

Přidání a změna uživatelských makro příkazů
a také odstraňovat určité nebo všechny makra z vybraných šablon pro uzly sítě.

Odstranění jednotlivých nebo všech uživatelských makr
12. Kontrola formátu zpráv na úrovni způsobu upozornění. V Typy médií objevila se záložka Šablony médií se šablonami zpráv.

Šablony způsobů upozornění
Pro různé typy zpráv lze definovat různé šablony.

Definice šablony pro typy zpráv
V předchozích verzích bylo nutné řídit tyto zprávy na úrovni akcí, definovat zprávy a předměty podle přednastavení.

Správa šablon na úrovni akcí
V nové verzi lze vše definovat na globální úrovni, a na úrovni zpráv přepsat globální nastavení.

Správa šablon na globální úrovni
Pro většinu uživatelů je dostačující definovat formáty šablon na úrovni způsobu upozornění. Navíc, po importu nějakého nového způsobu upozornění jsou všechny odpovídající formáty šablon již jeho součástí.
13. Širší použití JavaScriptu. JavaScript se používá pro skripty předzpracování, pro Webhook atd. Práce s JavaScriptem v příkazovém řádku není snadná.
Ve Zabbixu 5.0 je nová utilita — zabbix_js, která spouští JavaScript, který přijímá data, zpracovává je a generuje výstupní hodnoty.

Utilita zabbix_js

Příklady použití utility zabbix_js
14. Podpora textových operací triggyrovými výrazy umožňuje kontrolovat verze nainstalovaných komponentů, srovnávat hodnoty s jakýmikoli konstantami, přičemž konstantou může být uživatelské makro,
{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}srovnávat poslední hodnotu s předchozí, například když jde o textová data,
{host:text.last()} {host.text.prev()}nebo
{host:text.last(#1)} {host.text.prev(#2)}nebo srovnávat textové hodnoty různých metrik.
{hostA:textA.last()}={hostB:textB.last()}15. Automatizace a objevování.
- Jsou k dispozici nové kontroly JMX pro získání a objevování seznamu čítačů JMX, což je velmi užitečné, například pro monitorování Java aplikací a také pro automatizaci vytváření monitorovacích prvků, metrik, triggerů a grafů.
jmx.get[]a
jmx.discovery[]
Kontroly JMX - Ve verzi 5.0 byl přidán klíč pro sledování výkonových čítačů Windows, který podporují staré i nové agenty v ruštině a angličtině a který například umožňuje zjistit počet procesorů, souborových systémů, služeb atd.

Sledování výkonových čítačů Windows pomocí klíče perf_counter - ODBC monitoring se stal mnohem jednodušším. Dříve bylo nutné všechny parametry ODBC monitorování popisovat v externím souboru /etc/odbc.ini, k němuž nebyl přístup z uživatelského rozhraní Zabbix. Ve nové verzi mohou být téměř všechny parametry součástí klíče metriky.

Klíč metriky s popisem parametrůVe verzi 5.0 je možné nastavit název serveru a port na úrovni metriky, a název a heslo pro přístup — s použitím tajných makroos.

Použití tajných makroos - Při použití protokolu IPMI pro monitorování zařízení byla přidána možnost vytvářet jednodušší šablony pro automatizaci pomocí ipmi.get.

ipmi.get
16. Testování datových prvků z uživatelského rozhraní. V Zabbix 5.0 byla přidána možnost testovat některé datové prvky a, což je ještě důležitější, šablony datových prvků z uživatelského rozhraní.

Testování datových prvků
Jakékoli problémy jsou zobrazeny v uživatelském rozhraní.

Zobrazení problémů v uživatelském rozhraní
Analogický algoritmus se používá pro šablony datových prvků. Kromě toho, pokud nějaký datový prvek není podporován, stačí kliknout na Test.
17. Testování způsobů upozorňování, které se objevilo v Zabbix 4.4, zůstává důležité při integraci Zabbixu s jinými systémy, například systémy ticketů.

Testování způsobů upozorňování
18. Podpora uživatelských makroos pro prototypy datových prvků. Pro určení hodnot uživatelských makroos lze použít LLD makro.

Použití LLD makro pro určení hodnot uživatelských makroos
19. Podpora dat Float64, která je potřebná především pro sledování velmi velkých hodnot, je v Zabbixu vyžadována pro podporu dat získaných od agentů Prometheus.
Při instalaci Zabbix 5.0 nedochází k automatické migraci dat na standard Float64. Uživatel má možnost používat staré typy dat. Skripty pro migraci na Float64 se spouští ručně a mění typy dat v historických tabulkách. Automatická náhrada se nepoužívá, protože zabírá velmi dlouhou dobu.
20. Zlepšení škálovatelnosti Zabbix 5.0: optimalizace rozhraní a odstranění „úzkých míst“
- Byly odstraněny rozbalovací seznamy, například pro výběr uzlů sítě, protože tato funkce není škálovatelná.
- Objevily se „vestavěné“ limity pro velikosti tabulek Přehled.
- Objevily se nové možnosti v Monitoring > Hosts > Graphs.
- Objevila se funkce stránkování (Monitoring > Hosts > Web) tam, kde předtím nebyla.
21. Vylepšená komprese
Komprese v Zabbixu je založena na rozšíření pro PostgreSQL — TimescaleDB (od Zabbix 4.4). TimescaleDB zajišťuje automatické dělení databáze a zvyšuje její výkon, protože výkon TimescaleDB v podstatě nezávisí na velikosti databáze.
Ve Zabbix 5.0 v Administration > General > Housekeeping můžete nastavit například kompresi dat starších než 7 dní. To výrazně snižuje požadované místo na disku (téměř desetkrát, podle údajů uživatelů), což zlepšuje úsporu diskového prostoru a zvyšuje výkon.

Kompresní funkce pomocí TimescaleDB
22. Nastavení SNMP na úrovni rozhraní. Ve Zabbix 5.0 se používá místo tří typů datových prvků pouze jeden — SNMP agent. Všechny atributy SNMP byly přesunuty na úroveň rozhraní uzlů sítě, což umožňuje zjednodušit šablony, přepínání mezi verzemi SNMP atd.

Nastavení SNMP na úrovni rozhraní
23. Závislost monitorování dostupnosti uzlů sítě na dostupnosti proxy umožňuje zobrazit problém dostupnosti proxy jako prioritní v případě, že uzly sítě nejsou dostupné při monitorování s využitím spouštěcí funkce nodata:
{HostA:item.nodata(1m)}=1
Dostupnost uzlů sítě je určována dostupností proxy
Funkce nodata ve výchozím nastavení bere v úvahu dostupnost proxy. Pro přísnější kontrolu, která nezohledňuje dostupnost proxy, se používá druhý parametr — strict:
{HostA:item.nodata(1m,strict)}=124. Správa pravidel pro nízkoúrovňové objevování. Ve Zabbix 5.0 se objevil LLD filtr, který umožňuje prohlížet mimo jiné i nepodporovaná pravidla detekce.

LLD filtr
25. Možnost zrušit potvrzení problému (unacknowledge) umožňuje opravit chyby a je užitečná při vytváření pracovních postupů závislých na potvrzení problému.

Zrušení potvrzení problému
26. Změna pravidel pro nízkoúrovňovou detekci —možnost přidávat výjimky při detekci objektů v důsledku monitorování souborových systémů, která umožňuje při nízkoúrovňové detekci vytvářet nebo nevytvářet určité objekty, spouštěče, datové prvky atd., měnit důležitost problémů, přidávat štítky pro určité objekty, vylučovat objekty, například dočasné souborové systémy, z vyhledávání, měnit interval aktualizace dat atd.

Vyloučení dočasných souborových systémů z nízkoúrovňové detekce
Například je možné změnit úroveň priority spouštěčů pro detekované souborové systémy Oracle, přičemž úroveň priority spouštěčů pro ostatní souborové systémy zůstane nezměněna.

Změna úrovně priority spouštěčů pro jednotlivé souborové systémy
27. Nové makra v Zabbix 5.0 umožňují zvýšit kvalitu monitorování.

Nová makra v Zabbix 5.0
28. Další novinky v Zabbix 5.0:

Vylepšení v Zabbix 5.0
29. Ukončení podpory

Nepodporovaná funkčnost
Závěr
Aktualizace na Zabbix 5.0 je velmi jednoduchá! Instalujte a spusťte nové binární soubory pro server a frontend, a server automaticky aktualizuje vaši databázi.
Informace o postupu aktualizace Zabbix jsou umístěny na adrese:
DŮLEŽITÉ!
- Aktualizace historických dat na formát Float64 není povinná.
- Data TimescaleDB jsou dostupná pouze pro čtení.
- Minimální požadovaná verze PHP 7.2.
- DB2 není podporováno jako backend pro Zabbix server.
(!) Video a diapozitivy prezentací Alexeje Vladyševa a dalších řečníků Zabbix Meetup Online (ruský) si můžete prohlédnout. .
Zdroj: habr.com





