Vores team er meget glade for at dele nyheden om, at et gratis, open source-overvågningssystem er blevet frigivet
Er version 4.2 svaret på hovedspørgsmålet om liv, universet og overvågning generelt? Lad os tage et kig!
Lad os huske på, at Zabbix er et universelt system til overvågning af ydeevnen og tilgængeligheden af servere, ingeniør- og netværksudstyr, applikationer, databaser, virtualiseringssystemer, containere, it-tjenester og webtjenester.
Zabbix implementerer en fuld cyklus fra at indsamle data, behandle og transformere dem, analysere de modtagne data og slutte med lagring af disse data, visualisering og afsendelse af advarsler ved hjælp af eskaleringsregler. Systemet giver også fleksible muligheder for at udvide dataindsamling og alarmeringsmetoder samt automatiseringsmuligheder via API. En enkelt webgrænseflade implementerer centraliseret styring af overvågningskonfigurationer og distribution af adgangsrettigheder til forskellige brugergrupper. Projektkoden distribueres frit under en licens
Zabbix 4.2 er en ny ikke-LTS-version med en forkortet officiel supportperiode. For brugere, der er fokuseret på en lang livscyklus af softwareprodukter, anbefaler vi at bruge LTS-versioner, såsom 3.0 og 4.0.
Så lad os tale om de nye funktioner og store forbedringer i version 4.2:
Flere officielle platforme
Ud over de eksisterende officielle pakker tilbyder vi også nye builds til:
- RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
- MSI til Windows-agent
- Docker billeder
Indbygget Prometheus-understøttelse til applikationsovervågning
Zabbix kan indsamle data på forskellige måder (push/pull) fra forskellige datakilder. Disse er JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenter og scripts og andre kilder. Mød nu Prometheus support!
Strengt taget var det tidligere muligt at indsamle data fra Prometheus-eksportører takket være HTTP/HTTPS-dataelementtypen og regulære udtryk.
Den nye version giver dig dog mulighed for at arbejde med Prometheus så effektivt som muligt på grund af indbygget understøttelse af PromQL-forespørgselssproget. Og brugen af afhængige metrics giver dig mulighed for at indsamle og behandle data mest effektivt: Du beder om data én gang, og så sorterer vi dem efter de nødvendige metrics.
Det er vigtigt at bemærke, at opdagelse på lavt niveau nu kan bruge indsamlede data til automatisk at generere metrics. I dette tilfælde konverterer Zabbix de modtagne data til JSON-format, hvilket er meget praktisk at arbejde med.
I øjeblikket er der flere
Effektiv højfrekvent overvågning
Ønsker vi at opdage problemer så hurtigt som muligt? Selvfølgelig, ingen tvivl! Oftere end ikke resulterer denne tilgang i, at vi bliver nødt til at polle enheder og indsamle data for ofte, hvilket belaster overvågningssystemet større. Hvordan undgår man dette?
Vi har implementeret en drosselmekanisme i forbehandlingsreglerne. Throttling giver os i det væsentlige mulighed for at springe identiske værdier over.
Lad os antage, at vi overvåger tilstanden af en kritisk applikation. Hvert sekund tjekker vi, om vores applikation fungerer eller ej. Samtidig modtager Zabbix en kontinuerlig strøm af data fra 1 (fungerer) og 0 (fungerer ikke). For eksempel: 1111111111110001111111111111...
Når alt er i orden med vores ansøgning, så modtager Zabbix et flow på kun én. Skal de behandles? Generelt nej, fordi vi kun er interesseret i at ændre applikationens tilstand, ønsker vi ikke at indsamle og opbevare så mange data. Så regulering giver dig mulighed for at springe en værdi over, hvis den er identisk med den forrige. Som et resultat vil vi kun modtage data om tilstandsændringen, f.eks. 01010101... Dette er tilstrækkelig information til at opdage problemer!
Zabbix ignorerer simpelthen manglende værdier, de er ikke registreret i historien og påvirker ikke udløsere på nogen måde. Fra Zabbix' synspunkt mangler der ingen værdier.
Store! Vi kan nu polle enheder meget ofte og opdage problemer med det samme uden at gemme unødvendig information i en database.
Hvad med grafikken? De vil være tomme på grund af manglende data! Og hvordan kan du se, om Zabbix indsamler data, hvis de fleste af disse data mangler?
Det tænkte vi også på! Zabbix tilbyder en anden type drosling, drosling med hjerteslag.
I dette tilfælde vil Zabbix, på trods af det gentagne dataflow, gemme mindst én værdi i det angivne tidsinterval. Hvis data indsamles en gang i sekundet, og intervallet er indstillet til et minut, vil Zabbix forvandle hver anden strøm af enheder til en hver minuts strøm. Det er let at se, at dette fører til en 60-dobbelt komprimering af de modtagne data.
Nu er vi sikre på, at dataene bliver indsamlet, nodata() trigger-funktionen virker, og alt er fint med graferne!
Validering af indsamlede data og fejlhåndtering
Ingen af os ønsker at indsamle fejlagtige eller upålidelige data. For eksempel ved vi, at en temperatursensor skal returnere data mellem 0°C og 100°C, og enhver anden værdi skal betragtes som falsk og/eller ignoreres.
Nu er dette muligt ved at bruge datavalideringsregler indbygget i forbehandling for overholdelse eller manglende overholdelse af regulære udtryk, værdiområder, JSONPath og XMLPath.
Nu kan vi kontrollere reaktionen på fejlen. Hvis temperaturen er uden for området, kan vi simpelthen ignorere en sådan værdi, indstille en standardværdi (for eksempel 0°C) eller definere vores egen fejlmeddelelse, for eksempel "Sensor beskadiget" eller "Udskift batteri."
Et godt eksempel på brugen af validering er evnen til at kontrollere inputdata for tilstedeværelsen af en fejlmeddelelse og indstille denne fejl for hele metrikken. Dette er en meget nyttig funktionalitet, når du henter data fra eksterne API'er.
Enhver datatransformation ved hjælp af JavaScript
Hvis indbyggede forbehandlingsregler ikke var nok for os, tilbyder vi nu fuld frihed ved at bruge tilpassede JavaScript-scripts!
Dette åbner op for uendelige muligheder for at behandle indgående data. Den praktiske fordel ved denne funktionalitet er, at vi ikke længere har brug for de eksterne scripts, som vi brugte til at foretage nogen datamanipulation. Nu kan alt dette gøres ved hjælp af JavaScript.
Nu er datatransformation, aggregering, filtre, aritmetiske og logiske operationer og meget mere muligt!
Test af forbehandling
Nu behøver vi ikke at gætte, hvordan vores komplekse forbehandlingsscripts fungerer. Der er nu en bekvem måde at kontrollere, om forbehandling fungerer korrekt direkte fra grænsefladen!
Vi behandler millioner af metrics i sekundet!
Før Zabbix 4.2 blev forbehandling udelukkende håndteret af Zabbix-serveren, hvilket begrænsede muligheden for at bruge proxyer til belastningsdistribution.
Fra og med Zabbix 4.2 får vi en utrolig effektiv belastningsskalering på grund af understøttelse af forbehandling på proxy-siden. Nu gør fuldmægtige det!
I kombination med drosling giver denne tilgang mulighed for højfrekvent, storstilet overvågning og millioner af kontroller i sekundet uden at indlæse den centrale Zabbix-server. Proxyer behandler gigantiske mængder data, mens kun en lille del af dem når Zabbix-serveren på grund af drosling, en eller to størrelsesordener mindre.
Nemmere registrering på lavt niveau
Husk på, at low-level discovery (LLD) er en meget kraftfuld mekanisme til automatisk at opdage enhver form for overvågningsressourcer (filsystemer, processer, applikationer, tjenester osv.) og automatisk oprette dataelementer, triggere, netværksknuder baseret på dem og andre genstande. Dette sparer utrolig tid, forenkler konfigurationen og gør det muligt at bruge én skabelon på tværs af værter med forskellige overvågningsressourcer.
Registrering på lavt niveau krævede specielt formateret JSON som input. Det er det, det sker ikke mere!
Zabbix 4.2 tillader low-level discovery (LLD) at bruge vilkårlige data i JSON-format. Hvorfor er det vigtigt? Dette giver dig mulighed for at kommunikere for eksempel med eksterne API'er uden at ty til scripts og bruge de modtagne oplysninger til automatisk at oprette værter, dataelementer og triggere.
Sammen med JavaScript-understøttelse skaber dette fantastiske muligheder for at lave skabeloner til at arbejde med forskellige datakilder, såsom for eksempel cloud-API'er, applikations-API'er, data i XML, CSV-formater og så videre og så videre.
Mulighederne er virkelig uendelige!
TimescaleDB support
Hvad er TimescaleDB? Dette er almindelig PostgreSQL plus et udvidelsesmodul fra TimescaleDB-teamet. TimescaleDB lover bedre ydeevne på grund af mere effektive algoritmer og datastruktur.
Derudover er en anden fordel ved TimescaleDB den automatiske partitionering af tabeller med historie. TimescaleDB er hurtig og nem at vedligeholde! Selvom jeg skal bemærke, at vores team endnu ikke har foretaget en seriøs præstationssammenligning med almindelig PostgreSQL.
I øjeblikket er TimescaleDB et ret ungt og hurtigt udviklende produkt. Brug med forsigtighed!
Nem taghåndtering
Hvis tidligere tags kun kunne administreres på trigger-niveau, er tag-styring nu meget mere fleksibel. Zabbix understøtter tags til skabeloner og værter!
Alle detekterede problemer modtager tags, ikke kun af triggeren, men også af værten, såvel som skabelonerne for denne vært.
Definering af tags for en netværksknude
Mere fleksibel automatisk registrering
Zabbix 4.2 giver dig mulighed for at filtrere værter efter navn ved hjælp af regulære udtryk. Dette gør det muligt at oprette forskellige detektionsscenarier for forskellige grupper af netværksknuder. Det er især praktisk, hvis vi bruger komplekse enhedsnavngivningsregler.
Mere fleksibel netværksopdagelse
En anden forbedring vedrører navngivningen af netværksknuder. Det er nu muligt at administrere enhedsnavne under netværksopdagelse og hente enhedsnavnet fra en metrisk værdi.
Dette er en meget nødvendig funktionalitet, især til netværksopdagelse ved hjælp af SNMP og Zabbix-agent.
Kontrol af funktionaliteten af meddelelsesmetoder
Nu kan du sende dig selv en testbesked direkte fra webgrænsefladen og kontrollere, om notifikationsmetoden virker. Denne funktionalitet er især nyttig til at teste scripts til at kombinere Zabbix med forskellige alarmsystemer, opgavesystemer og andre eksterne programmer og API'er.
Fjernovervågning af Zabbix infrastrukturkomponenter
Det er nu muligt at fjernovervåge interne målinger for Zabbix-serveren og proxyen (ydelsesmålinger og Zabbix-komponenters tilstand).
Hvad er det for? Funktionaliteten giver dig mulighed for at overvåge interne målinger af servere og proxyer udefra, giver dig mulighed for hurtigt at opdage og underrette om problemer, selvom selve komponenterne er overbelastede, eller der for eksempel er en stor mængde usendte data på proxyen.
HTML-format understøttelse af e-mail-beskeder
Nu er vi ikke begrænset til almindelig tekst og kan skabe smukke e-mail-beskeder, takket være understøttelsen af HTML-formatet. Det er tid til at lære HTML + CSS!
Adgang til eksterne systemer fra netværkskort
Der er understøttelse af et helt sæt nye makroer i brugerdefinerede URL'er for bedre integration af kort med eksterne systemer. Dette giver dig mulighed for at åbne for eksempel en billet i opgavesystemet med et eller to klik på ikonet for en netværksknude.
En opdagelsesregel kan være et afhængigt dataelement
Hvorfor er det nødvendigt - spørger du. Dette gør det muligt at bruge de underliggende metriske data til både opdagelse og direkte dataindsamling. For eksempel, i tilfælde af indsamling af data fra en Prometheus-eksportør, vil Zabbix lave en HTTP-anmodning og straks bruge den modtagne information til alle afhængige dataelementer: metriske værdier og registreringsregler på lavt niveau.
En ny måde at visualisere problemer på kort
Der er nu understøttelse af animerede GIF-billeder på kort for mere synlig visualisering af problemer.
Udtræk af data fra HTTP-headere i webovervågning
I webovervågning er muligheden for at vælge data fra den modtagne HTTP-header blevet tilføjet.
Dette giver dig mulighed for at oprette webovervågning i flere trin eller tredjeparts API-overvågningsscenarier ved hjælp af det autorisationstoken, der er opnået i et af trinene.
Zabbix Sender bruger alle IP-adresser
Zabbix Sender sender nu data til alle IP-adresser fra ServerActive-parameteren i agentkonfigurationsfilen.
Praktisk nyt filter i trigger-konfiguration
Trigger-konfigurationssiden har nu et udvidet filter til hurtigt og bekvemt valg af triggere baseret på specificerede kriterier.
Vis det nøjagtige tidspunkt
Alt er enkelt her, nu viser Zabbix det nøjagtige tidspunkt, når du holder musen over kortet.
Andre innovationer
- Implementeret en mere forudsigelig algoritme til at ændre rækkefølgen af widgets i dashboardet
- Evne til at masseændre parametre for dataelementprototyper
- IPv6-understøttelse af DNS-tjek: "net.dns" og "new.dns.record"
- Tilføjet "spring"-parameter til "vmware.eventlog"-tjek
- Fejl ved udførelse af forbehandlingstrin inkluderer trinnummer
Hvordan opgraderes?
For at opgradere fra tidligere versioner behøver du kun at installere
Vi afholder gratis webinarer for dem, der ønsker at lære mere om Zabbix 4.2 og har mulighed for at stille spørgsmål til Zabbix-teamet.
Glem ikke det populære
Nyttige links
—
—
—
Kilde: www.habr.com