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

Ă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 .
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

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.
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.
Vi hittar metriker med hjÀlp av filter pÄ frÄgesprÄket PromQL
För nÀrvarande finns det över 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.
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).
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."
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!
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!
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!
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!
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.
Vi kopplar JSON med information om processer med LLD
Möjligheterna Àr verkligen oÀndliga!
Stöd för TimescaleDB
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.
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.
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.
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!
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.
Ă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.
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.
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.
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.
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.

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 (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.
Glöm inte den populÀra 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 .
Nyttiga lÀnkar
â
â
â
KĂ€lla: habr.com
