Zabbix 4.2 har slÀppts

VÄrt team Àr mycket glada att dela nyheten om att den fria övervakningssystemet med öppen kÀllkod har lanserats Zabbix 4.2!

Zabbix 4.2 har slÀppts

Är version 4.2 svaret pĂ„ livets, universums och övervakningens stora frĂ„ga? LĂ„t oss ta en titt!

Vi pÄminner om att Zabbix Àr ett universellt system för att övervaka prestanda och tillgÀnglighet av servrar, ingenjörs- och nÀtverksutrustning, applikationer, databaser, virtualisering, containrar, IT-tjÀnster och webb-tjÀnster.

Zabbix realiserar hela cykeln frÄn datainsamling, bearbetning och omvandling, analys av den mottagna datan, och slutar med lagring av dessa data, visualisering och utskick av aviseringar med hjÀlp av eskaleringsregler. Systemet erbjuder ocksÄ flexibla möjligheter till utvidgning av datainsamlingsmetoder och aviseringar, samt automatiseringsmöjligheter via API. Ett enhetligt webgrÀnssnitt möjliggör centraliserad hantering av övervakningskonfigurationer och fördelning av behörigheter mellan olika anvÀndargrupper. Projektets kod distribueras fritt under licensen GPLv2.

Zabbix 4.2 Àr en ny icke-LTS-version med kortare officiellt stöd. För anvÀndare som fokuserar pÄ lÄngvarig drift av programvaruprodukter rekommenderar vi att anvÀnda LTS-versioner som 3.0 och 4.0.

LÄt oss alltsÄ prata om nyheterna och de viktigaste förbÀttringarna i version 4.2:

Fler officiella plattformar

Zabbix 4.2 har slÀppts
Utöver de redan existerande officiella paketen erbjuder vi Àven nya byggnader för:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI för Windows-agenten
  • Dockerbilder

Inbyggt stöd för Prometheus för applikationsövervakning

Zabbix kan samla in data pÄ olika sÀtt (push/pull) frÄn olika datakÀllor. Det inkluderar JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenter och skript samt andra kÀllor. Och nu möter vi stödet för Prometheus!

Strikt taget var datainsamling frÄn Prometheus-exportörer möjlig Àven tidigare tack vare datakÀllans typ HTTP/HTTPS och reguljÀra uttryck.

Men den nya versionen möjliggör att arbeta med Prometheus sÄ effektivt som möjligt tack vare det inbyggda stödet för frÄgesprÄket PromQL. Genom att anvÀnda beroende metrik kan vi samla in och behandla data pÄ det mest effektiva sÀttet: en gÄng hÀmtar vi data, och sedan distribuerar vi dem enligt de nödvÀndiga metrikerna.

Zabbix 4.2 har slÀppts
Vi fÄr vÀrdet av en specifik metrik

Det Àr viktigt att notera att den lÄgnivÄupptÀckten nu kan anvÀnda de insamlade uppgifterna för att automatiskt skapa metriker. I det hÀr fallet omvandlar Zabbix de mottagna uppgifterna till JSON-format, vilket Àr mycket enkelt att arbeta med.

Zabbix 4.2 har slÀppts
Vi hittar metriker med hjÀlp av filter pÄ frÄgesprÄket PromQL

För nÀrvarande finns det över 300 integrationer och recept för övervakning av externa tjÀnster och applikationer med hjÀlp av Zabbix. Stödet för Prometheus kommer att lÀgga till en hel uppsÀttning applikationer som har officiella eller gemenskapsstödja exporterare för Prometheus. Det handlar om övervakning av populÀra tjÀnster, containrar och molnresurser.

Effektiv högfrekvent övervakning

Vill vi upptÀcka problem sÄ snabbt som möjligt? Klart vi gör! Oftast leder en sÄdan metod till att vi mÄste frÄga enheter och samla in data alldeles för ofta, vilket ger en hög belastning pÄ övervakningssystemet. Hur undviker vi detta?

Vi har implementerat en mekanism för throttling i preprocesseringsreglerna. Throttling ger oss i grunden möjlighet att hoppa över identiska vÀrden.

Anta att vi övervakar ett kritiskt program. Varje sekund kontrollerar vi om vĂ„rt program fungerar eller inte. Samtidigt fĂ„r Zabbix en kontinuerlig ström av data som Ă€r 1 (fungerar) och 0 (fungerar inte). Till exempel: 1111111111110001111111111111


NĂ€r allt stĂ„r rĂ€tt till med vĂ„rt program kommer Zabbix att fĂ„ en ström av enbart ettor. MĂ„ste vi bearbeta dem? Egentligen inte, eftersom vi endast Ă€r intresserade av förĂ€ndringar i programmets tillstĂ„nd; vi vill inte samla in och lagra sĂ„ mycket data. Throttling gör att vi kan hoppa över vĂ€rdena om de Ă€r identiska med det föregĂ„ende. Resultatet blir bara data om tillstĂ„ndsförĂ€ndringar, till exempel 01010101
 Det Ă€r mer Ă€n tillrĂ€cklig information för att upptĂ€cka problem!

Zabbix ignorerar helt enkelt saknade vÀrden; de registeras inte i historiken och pÄverkar inte utlösarna. FrÄn Zabbix synpunkt existerar saknade vÀrden inte.

Zabbix 4.2 har slÀppts
Vi ignorerar upprepade vÀrden

HÀrligt! Nu kan vi ofta frÄga enheter, samtidigt som vi omedelbart upptÀcker problem utan att lagra onödig information i databasen.

Men hur Àr det med grafer? De kommer att vara tomma pÄ grund av bristen pÄ data! Hur kan vi förstÄ om Zabbix samlar data om de flesta av dessa vÀrden kommer att ignoreras?

Vi har tÀnkt pÄ det ocksÄ! Zabbix erbjuder en annan typ av throttling, throttling med kontrollpunkter (throttling with heartbeat).

Zabbix 4.2 har slÀppts
Vi kontrollerar varje minut om metrik Àr aktiv

I det hÀr fallet kommer Zabbix, trots en upprepad datastream, att spara minst ett vÀrde under den angivna tidsperioden. Om data samlas in varje sekund och perioden Àr instÀlld pÄ en minut, kommer Zabbix att omvandla den sekundÀra strömmen av ettor till en minutström. Det Àr inte svÄrt att se att detta leder till en 60-faldig förminskning av de erhÄllna uppgifterna.

Nu Àr vi sÀkra pÄ att data samlas in, funktionen nodata() fungerar och med graferna Àr allt i ordning!

Validering av insamlade data och felhantering

Ingen av oss vill samla in felaktiga eller opÄlitliga data. Till exempel vet vi att en temperaturgivare bör returnera data inom intervallet 0°C till 100°C och vilket annat vÀrde som helst bör behandlas som felaktigt och/eller ignoreras.

Detta Àr nu möjligt med hjÀlp av inbyggda valideringsregler i förbearbetningen, som överensstÀmmer med eller saknar överensstÀmmelse med reguljÀra uttryck, vÀrdeintervall, JSONPath och XMLPath.

Nu kan vi styra reaktionen pÄ fel. Om temperaturen ligger utanför intervallet kan vi helt enkelt ignorera ett sÄdant vÀrde, sÀtta ett standardvÀrde (till exempel 0°C), eller definiera vÄrt eget felmeddelande, som "Givare skadad" eller "Byt batteri."

Zabbix 4.2 har slÀppts
Temperaturen ska vara mellan 0 och 100, resten ignoreras

Ett bra exempel pÄ anvÀndning av validering Àr att kontrollera om indata har ett felmeddelande och stÀlla in detta fel för hela metrik. Detta Àr en mycket anvÀndbar funktion nÀr man hÀmtar data frÄn externa API:er.

All data transformation using JavaScript

If the built-in preprocessing rules are not enough for us, we now offer complete freedom with the use of arbitrary scripts in JavaScript!

Zabbix 4.2 har slÀppts
Just one line of code to convert Fahrenheit degrees to Celsius degrees

This opens up limitless possibilities for processing incoming data. The practical benefit of this functionality is that we no longer need external scripts that we used for any data operations. Now everything can be done using JavaScript.

Now transformations, aggregation, filters, arithmetic and logical operations, and much more are possible!

Zabbix 4.2 har slÀppts
Extracting useful information from the output of Apache mod_status!

Testing preprocessing

Now we don’t have to guess how our complex preprocessing scripts work. There is now a convenient check for the correctness of preprocessing directly from the interface!

Zabbix 4.2 har slÀppts

Processing millions of metrics per second!

Until Zabbix 4.2, preprocessing was solely handled by the Zabbix server, which limited the capabilities of using proxies for load distribution.

Starting with Zabbix 4.2, we achieve incredibly efficient load scaling thanks to support for preprocessing on the proxy side. Now proxies handle this!

Zabbix 4.2 har slÀppts

In combination with throttling, this approach allows for high-frequency large-scale monitoring and enables millions of checks per second without putting a load on the central Zabbix server. Proxies process huge volumes of data, while due to throttling, only a small portion reaches the Zabbix server, an order of magnitude less.

Simpler low-level discovery

Let’s remember that low-level discovery (LLD) is a very powerful mechanism for automatically discovering any kind of resources for monitoring (file systems, processes, applications, services, etc.) and automatically creating data items, triggers, network nodes, and other objects based on them. This incredibly saves time, simplifies configuration, and allows for using one template for network nodes that have various resources to monitor.

LÄg-nivÄ upptÀckten krÀvde en speciellt formaterad JSON som ingÄng. SÄ hÀr blir det inte lÀngre!

Zabbix 4.2 möjliggör lÄg-nivÄ upptÀckter (LLD) med godtyckligt formaterade data i JSON-format. Varför Àr detta viktigt? Det gör det möjligt att kommunicera med externa API:er utan att anvÀnda skript och anvÀnda den information som erhÄllits för att automatiskt skapa nÀtverksnoder, datakomponenter och triggers.

Tillsammans med stöd för JavaScript skapar detta fantastiska möjligheter för att skapa mallar för arbete med olika datakÀllor, sÄsom exempelvis moln-API:er, applikations-API:er, data i format som XML, CSV och mycket mer.

Zabbix 4.2 har slÀppts
Vi kopplar JSON med information om processer med LLD

Möjligheterna Àr verkligen oÀndliga!

Stöd för TimescaleDB

Zabbix 4.2 har slÀppts

Vad Àr TimescaleDB? Det Àr en vanlig PostgreSQL plus ett extensionsmodul frÄn TimescaleDB-teamet. TimescaleDB lovar bÀttre prestanda tack vare mer effektiva algoritmer och datakonstruktioner.

Dessutom Àr en annan fördel med TimescaleDB automatisk partitionering av historiska tabeller. TimescaleDB stÄr för hastighet och enkel underhÄll! Jag mÄste notera att vÄrt team Ànnu inte har gjort en betydande prestandajÀmförelse med vanlig PostgreSQL.

I dagslÀget Àr TimescaleDB en ganska ung och snabbvÀxande produkt. AnvÀnd med försiktighet!

Enkel hantering av taggar

Tidigare kunde taggar endast hanteras pÄ trigger-nivÄ, men nu Àr tagghanteringen mycket mer flexibel. Zabbix stödjer taggar för mallar och nÀtverksnoder!

Alla upptÀckta problem fÄr taggar inte bara för triggern, utan Àven för nÀtverksnoden samt mallarna för denna nÀtverksnod.

Zabbix 4.2 har slÀppts
Definiera taggar för nÀtverksnoden

Mer flexibel automatisk registrering

Zabbix 4.2 gör det möjligt att filtrera nÀtverksnoder efter namn med hjÀlp av reguljÀra uttryck. Detta ger möjlighet att skapa olika upptÀckts-scenarier för olika grupper av nÀtverksnoder. SÀrskilt praktiskt om vi har komplexa namngivningsregler för enheter.

Mer flexibel nÀtverksupptÀckten

En annan förbÀttring rör namngivningen av nÀtverksnoder. Det har blivit möjligt att hantera enhetsnamn vid nÀtverksupptÀckten och att hÀmta enhetsnamnet frÄn vÀrdet pÄ mÀtningen.

Det hÀr Àr en mycket viktig funktion, sÀrskilt vid nÀtverksupptÀckten med hjÀlp av SNMP och Zabbix-agenten.

Zabbix 4.2 har slÀppts
Automatiskt tilldela ett lokalt namn till nÀtverkets synliga namn

Kontrollera funktionaliteten hos notifieringsmetoder

Nu kan du direkt frÄn webbgrÀnssnittet skicka ett testmeddelande till dig sjÀlv och kontrollera om notifieringsmetoden fungerar. Denna funktionalitet Àr sÀrskilt anvÀndbar för att testa skript för att integrera Zabbix med olika notifieringssystem, uppgiftssystem och andra externa program och API:er.

Zabbix 4.2 har slÀppts

FjÀrrövervakning av Zabbix-infrastrukturkomponenter

Det har kommit möjlighet till fjÀrrövervakning av interna metrikern för Zabbix-servern och proxy (prestandametrik och funktionalitetsmetrik för Zabbix-komponenter).

Varför behövs detta? Denna funktionalitet gör det möjligt att övervaka interna metrikern för servrar och proxy frÄn sidan, vilket gör att man snabbt kan upptÀcka och notifiera om problem Àven om sjÀlva komponenterna Àr överbelastade eller, till exempel, proxy har en stor mÀngd obekrÀftade data.

Stöd för HTML-format i e-postmeddelanden

Nu Àr vi inte begrÀnsade till enkel text och kan skapa vackra e-postmeddelanden, tack vare stödet för HTML-format. Dags att lÀra sig HTML + CSS!

Zabbix 4.2 har slÀppts
Meddelanden Àr lÀttare att ta till sig Àven vid minimal anvÀndning av HTML

Åtkomst till externa system frĂ„n nĂ€tverkskartor

Det har kommit stöd för en hel uppsÀttning nya makron i anpassade URL:er för bÀttre integration av kartor med externa system. Detta gör att man med ett eller tvÄ klick pÄ nÀtverksnodens ikon kan öppna, till exempel, ett Àrende i uppgiftssystemet.

Zabbix 4.2 har slÀppts
Öppna Ă€rendet i Jira med ett klick

UpptÀckningsregeln kan vara ett beroende datainnehÄll

Varför Ă€r detta nödvĂ€ndigt – kanske undrar du. Detta tillĂ„ter att anvĂ€nda data frĂ„n huvudmetrikern bĂ„de för upptĂ€ckning och för direkt insamling av data. Till exempel, vid insamling av data frĂ„n Prometheus-exportören, gör Zabbix en HTTP-förfrĂ„gan och anvĂ€nder omedelbart den mottagna informationen för alla beroende datainnehĂ„ll: vĂ€rden av metrik och regler för lĂ„g nivĂ„ upptĂ€ckter.

Ny metod för visualisering av problem pÄ kartor

Stöd för animerade GIF-bilder pÄ kartor har lagts till för en mer framtrÀdande visualisering av problem.

Zabbix 4.2 har slÀppts
Problematiska enheter har blivit mer mÀrkbara

Vi extraherar data frÄn HTTP-rubriker i webbövervakningen

I webbövervakningen har möjligheten att vÀlja data frÄn den mottagna HTTP-rubriken lagts till.

Detta möjliggör skapande av flerstegswebbövervakningsscenarier eller övervakning av externa API:er, med hjÀlp av en auktoriseringstoken som erhÄllits i ett av stegen.

Zabbix 4.2 har slÀppts
Vi extraherar AuthID frÄn HTTP-rubriken

Zabbix Sender anvÀnder alla IP-adresser

Zabbix Sender skickar nu data via alla IP-adresser frÄn parameter ServerActive i agentens konfigurationsfil.

Zabbix 4.2 har slÀppts

En praktisk ny filterfunktion i triggarinstÀllningarna

Sidan för triggarinstÀllningar har fÄtt ett utökat filter för snabb och bekvÀm urval av triggare efter givna kriterier.

Zabbix 4.2 har slÀppts
Vi vÀljer triggare relaterade till tjÀnsten K8S

Vi visar exakt tid

Det Àr enkelt, nu visar Zabbix exakt tid nÀr musen förs över grafen.

Zabbix 4.2 har slÀppts

Andra nya funktioner

  • En mer förutsĂ€gbar algoritm för att Ă€ndra ordningen pĂ„ widgetarna i instrumentpanelen har implementerats
  • Möjlighet till massĂ€ndring av parametrarna för datakĂ€lla-prototyper
  • Stöd för IPv6 för DNS-kontroller: "net.dns" och "new.dns.record"
  • En parameter "skip" har lagts till för "vmware.eventlog"-kontroller
  • Fel vid preprocess-steg inkluderar stegnumret

Hur uppdaterar man?

För att gÄ över frÄn tidigare versioner krÀvs bara installation av nya binÀra filer (servrar och proxyer) och ett nytt grÀnssnitt. Zabbix kommer automatiskt att genomföra databasuppdateringsproceduren. Ingen installation av nya agenter krÀvs.

Vi hÄller gratis webbinarier för dem som vill veta mer om Zabbix 4.2 och ha möjlighet att stÀlla frÄgor till Zabbix-teamet. AnmÀl dig!

Glöm inte den populÀra Telegramkanalen Zabbix-gemenskapen, dÀr man alltid kan fÄ rÄd och svar pÄ sina frÄgor pÄ ryska frÄn mer erfarna kollegor, och om man har tur, Àven frÄn Zabbix-utvecklarna sjÀlva. För nybörjare rekommenderar vi gruppen för nybörjare.

Nyttiga lÀnkar

— Release notes
— Upgrade notes
— Originalartikel

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster