Zabbix 4.2 släppt

Vårt team är mycket glada över att dela nyheten om att ett gratis övervakningssystem med öppen källkod har släppts Zabbix 4.2!

Zabbix 4.2 släppt

Är version 4.2 svaret på huvudfrågan om livet, universum och övervakning i allmänhet? Låt oss ta en titt!

Låt oss komma ihåg att Zabbix är ett universellt system för att övervaka prestanda och tillgänglighet för servrar, ingenjörs- och nätverksutrustning, applikationer, databaser, virtualiseringssystem, behållare, IT-tjänster och webbtjänster.

Zabbix implementerar en hel cykel från att samla in data, bearbeta och transformera den, analysera mottagen data och sluta med att lagra denna data, visualisera och skicka varningar med eskaleringsregler. Systemet ger också flexibla alternativ för att utöka datainsamling och varningsmetoder, samt automatiseringsmöjligheter via API. Ett enda webbgränssnitt implementerar centraliserad hantering av övervakningskonfigurationer och distribution av åtkomsträttigheter till olika användargrupper. Projektkoden distribueras fritt under en licens GPLv2.

Zabbix 4.2 är en ny icke-LTS-version med en förkortad officiell supportperiod. För användare som är fokuserade på en lång livscykel för mjukvaruprodukter rekommenderar vi att du använder LTS-versioner, såsom 3.0 och 4.0.

Så låt oss prata om de nya funktionerna och stora förbättringarna i version 4.2:

Fler officiella plattformar

Zabbix 4.2 släppt
Utöver de befintliga officiella paketen erbjuder vi även nybyggen för:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI för Windows-agent
  • Docker-bilder

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

Zabbix kan samla in data på olika sätt (push/pull) från olika datakällor. Dessa är JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agenter och skript och andra källor. Möt nu Prometheus support!

Strängt taget var det tidigare möjligt att samla in data från Prometheus-exportörer tack vare HTTP/HTTPS-dataelementtypen och reguljära uttryck.

Den nya versionen låter dig dock arbeta med Prometheus så effektivt som möjligt tack vare inbyggt stöd för frågespråket PromQL. Och användningen av beroende mätvärden gör att du kan samla in och bearbeta data mest effektivt: du ber om data en gång och sedan sorterar vi ut det enligt nödvändiga mätvärden.

Zabbix 4.2 släppt
Hämta värdet av ett specifikt mått

Det är viktigt att notera att upptäckt på låg nivå nu kan använda insamlad data för att automatiskt generera mätvärden. I det här fallet konverterar Zabbix mottagna data till JSON-format, vilket är mycket bekvämt att arbeta med.

Zabbix 4.2 släppt
Hitta mätvärden med hjälp av ett filter i frågespråket PromQL

För tillfället finns det fler 300 integrationer och övervakningsrecept tredjepartstjänster och applikationer som använder Zabbix. Prometheus-support låter dig lägga till en hel uppsättning applikationer som har officiella eller community-stödda Prometheus-exportörer. Detta är övervakning av populära tjänster, containrar och molnresurser.

Effektiv högfrekvensövervakning

Vill vi upptäcka problem så snabbt som möjligt? Självklart, ingen tvekan! Detta tillvägagångssätt resulterar oftast i att vi behöver polla enheter och samla in data för ofta, vilket belastar övervakningssystemet mer. Hur undviker man detta?

Vi har implementerat en strypmekanism i förbearbetningsreglerna. Strypning ger oss i huvudsak möjlighet att hoppa över identiska värden.

Låt oss anta att vi övervakar tillståndet för en kritisk applikation. Varje sekund kontrollerar vi om vår applikation fungerar eller inte. Samtidigt tar Zabbix emot en kontinuerlig ström av data från 1 (fungerar) och 0 (fungerar inte). Till exempel: 1111111111110001111111111111...

När allt är i sin ordning med vår ansökan så får Zabbix ett flöde på endast ettor. Behöver de bearbetas? I allmänhet nej, eftersom vi bara är intresserade av att ändra applikationens tillstånd vill vi inte samla in och lagra så mycket data. Så, strypning låter dig hoppa över ett värde om det är identiskt med det föregående. Som ett resultat kommer vi bara att få data om tillståndsändringen, till exempel 01010101... Detta är tillräckligt med information för att upptäcka problem!

Zabbix ignorerar helt enkelt saknade värden, de finns inte registrerade i historien och påverkar inte utlösare på något sätt. Ur Zabbix synvinkel saknas det inga värden.

Zabbix 4.2 släppt
Ignorera dubbletter av värden

Bra! Vi kan nu polla enheter mycket ofta och upptäcka problem direkt utan att lagra onödig information i en databas.

Hur är det med grafiken? De kommer att vara tomma på grund av brist på data! Och hur kan du se om Zabbix samlar in data om det mesta av denna data saknas?

Det tänkte vi också på! Zabbix erbjuder en annan typ av strypning, strypning med hjärtslag.

Zabbix 4.2 släppt
En gång i minuten kontrollerar vi om mätvärdet är levande

I det här fallet kommer Zabbix, trots det upprepade dataflödet, att lagra minst ett värde i det angivna tidsintervallet. Om data samlas in en gång per sekund, och intervallet är inställt på en minut, kommer Zabbix att förvandla varannan ström av enheter till en ström varje minut. Det är lätt att se att detta leder till en 60-faldig komprimering av mottagna data.

Nu är vi säkra på att data samlas in, nodata() triggerfunktionen fungerar och allt är bra med graferna!

Validering av insamlad data och felhantering

Ingen av oss vill samla in felaktiga eller opålitliga uppgifter. Till exempel vet vi att en temperatursensor ska returnera data mellan 0°C och 100°C och alla andra värden ska anses vara falska och/eller ignoreras.

Nu är detta möjligt genom att använda datavalideringsregler inbyggda i förbearbetning för överensstämmelse eller bristande överensstämmelse med reguljära uttryck, värdeintervall, JSONPath och XMLPath.

Nu kan vi kontrollera reaktionen på felet. Om temperaturen ligger utanför intervallet kan vi helt enkelt ignorera ett sådant värde, ställa in ett standardvärde (till exempel 0°C) eller definiera vårt eget felmeddelande, till exempel "Sensor skadad" eller "Byt batteri."

Zabbix 4.2 släppt
Temperaturen bör vara från 0 till 100, ignorera resten

Ett bra exempel på användningen av validering är möjligheten att kontrollera indata för förekomsten av ett felmeddelande och ställa in detta fel för hela måttet. Detta är en mycket användbar funktion när du hämtar data från externa API:er.

Alla datatransformationer med JavaScript

Om inbyggda förbearbetningsregler inte räckte för oss, erbjuder vi nu fullständig frihet genom att använda anpassade JavaScript-skript!

Zabbix 4.2 släppt
Bara en rad kod för att konvertera Fahrenheit till Celsius

Detta öppnar för oändliga möjligheter för att behandla inkommande data. Den praktiska fördelen med denna funktion är att vi inte längre behöver de externa skript som vi använde för att göra någon datamanipulation. Nu kan allt detta göras med JavaScript.

Nu är datatransformation, aggregering, filter, aritmetiska och logiska operationer och mycket mer möjligt!

Zabbix 4.2 släppt
Extraherar användbar information från Apache mod_status output!

Testar förbearbetning

Nu behöver vi inte gissa hur våra komplexa förbearbetningsskript fungerar. Det finns nu ett bekvämt sätt att kontrollera om förbearbetningen fungerar korrekt direkt från gränssnittet!

Zabbix 4.2 släppt

Vi bearbetar miljontals mätvärden per sekund!

Innan Zabbix 4.2 hanterades förbehandling uteslutande av Zabbix-servern, vilket begränsade möjligheten att använda proxyservrar för lastdistribution.

Från och med Zabbix 4.2 får vi otroligt effektiv belastningsskalning genom stöd för förbehandling på proxysidan. Nu gör fullmakter det!

Zabbix 4.2 släppt

I kombination med strypning möjliggör detta tillvägagångssätt högfrekvent, storskalig övervakning och miljontals kontroller per sekund, utan att ladda den centrala Zabbix-servern. Proxies bearbetar gigantiska volymer av data, medan endast en liten del av den når Zabbix-servern på grund av strypning, en eller två storleksordningar mindre.

Enklare lågnivådetektering

Kom ihåg att lågnivåupptäckt (LLD) är en mycket kraftfull mekanism för att automatiskt upptäcka alla typer av övervakningsresurser (filsystem, processer, applikationer, tjänster etc.) och automatiskt skapa dataobjekt, triggers, nätverksnoder baserat på dem och andra föremål. Detta sparar otrolig tid, förenklar konfigurationen och gör att en mall kan användas över värdar med olika övervakningsresurser.

Lågnivåupptäckt krävde speciellt formaterad JSON som indata. Det är det, det kommer inte att hända längre!

Zabbix 4.2 tillåter lågnivåupptäckt (LLD) för att använda godtyckliga data i JSON-format. Varför är det viktigt? Detta gör att du kan kommunicera till exempel med externa API:er utan att tillgripa skript och använda den mottagna informationen för att automatiskt skapa värdar, dataelement och triggers.

Tillsammans med JavaScript-stöd skapar detta fantastiska möjligheter att skapa mallar för att arbeta med olika datakällor, såsom till exempel moln-API:er, applikations-API:er, data i XML, CSV-format, och så vidare och så vidare.

Zabbix 4.2 släppt
Länka JSON med information om processer med LLD

Möjligheterna är verkligen oändliga!

TimescaleDB-stöd

Zabbix 4.2 släppt

Vad är TimescaleDB? Detta är vanlig PostgreSQL plus en tilläggsmodul från TimescaleDB-teamet. TimescaleDB lovar bättre prestanda tack vare effektivare algoritmer och datastruktur.

Dessutom är en annan fördel med TimescaleDB den automatiska partitioneringen av tabeller med historik. TimescaleDB är snabbt och enkelt att underhålla! Även om jag bör notera att vårt team ännu inte har gjort en seriös prestandajämförelse med vanlig PostgreSQL.

För tillfället är TimescaleDB en ganska ung och snabbt utvecklande produkt. Använd med försiktighet!

Enkel tagghantering

Om tidigare taggar bara kunde hanteras på triggernivå är tagghanteringen nu mycket mer flexibel. Zabbix stöder taggar för mallar och värdar!

Alla upptäckta problem får taggar inte bara för utlösaren, utan också för värden, såväl som mallarna för denna värden.

Zabbix 4.2 släppt
Definiera taggar för en nätverksnod

Mer flexibel automatisk registrering

Zabbix 4.2 låter dig filtrera värdar efter namn med hjälp av reguljära uttryck. Detta gör det möjligt att skapa olika detektionsscenarier för olika grupper av nätverksnoder. Det är särskilt bekvämt om vi använder komplexa enhetsnamnregler.

Mer flexibel nätverksupptäckt

En annan förbättring avser namngivningen av nätverksnoder. Det är nu möjligt att hantera enhetsnamn under nätverksupptäckt och erhålla enhetsnamnet från ett metriskt värde.

Detta är en mycket nödvändig funktionalitet, speciellt för nätverksupptäckt med SNMP och Zabbix-agent.

Zabbix 4.2 släppt
Tilldela automatiskt det lokala värdnamnet till ett synligt namn

Kontrollera funktionaliteten hos aviseringsmetoder

Nu kan du skicka ett testmeddelande till dig själv direkt från webbgränssnittet och kontrollera om aviseringsmetoden fungerar. Denna funktion är särskilt användbar för att testa skript för att kombinera Zabbix med olika varningssystem, uppgiftssystem och andra externa program och API:er.

Zabbix 4.2 släppt

Fjärrövervakning av Zabbix infrastrukturkomponenter

Det är nu möjligt att fjärrövervaka interna mätvärden för Zabbix-servern och proxyn (prestandamått och hälsa för Zabbix-komponenter).

Vad är det för? Funktionaliteten låter dig övervaka interna mätvärden för servrar och proxyservrar från utsidan, gör att du snabbt kan upptäcka och meddela om problem även om komponenterna i sig är överbelastade eller till exempel om det finns en stor mängd osänd data på proxyn.

HTML-formatstöd för e-postmeddelanden

Nu är vi inte begränsade till vanlig text och kan skapa vackra e-postmeddelanden, tack vare stödet för HTML-formatet. Det är dags att lära sig HTML + CSS!

Zabbix 4.2 släppt
Meddelanden är lättare att förstå även med minimal användning av HTML

Tillgång till externa system från nätverkskort

Det finns 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 du kan öppna till exempel en biljett i uppgiftssystemet med ett eller två klick på ikonen för en nätverksnod.

Zabbix 4.2 släppt
Öppna en biljett i Jira med ett klick

En upptäcktsregel kan vara ett beroende dataobjekt

Varför är detta nödvändigt - frågar du dig. Detta gör att de underliggande metriska data kan användas för både upptäckt och direkt datainsamling. Till exempel, i fallet med insamling av data från en Prometheus-exportör, kommer Zabbix att göra en HTTP-begäran och omedelbart använda den mottagna informationen för alla beroende dataelement: metriska värden och lågnivåupptäckningsregler.

Ett nytt sätt att visualisera problem på kartor

Det finns nu stöd för animerade GIF-bilder på kartor för mer synlig visualisering av problem.

Zabbix 4.2 släppt
Problematiska enheter har blivit mer synliga

Extrahera data från HTTP-rubriker i webbövervakning

I webbövervakning har möjligheten att välja data från den mottagna HTTP-huvudet lagts till.

Detta gör att du kan skapa flerstegs webbövervakning eller tredje parts API-övervakningsscenarier med hjälp av auktoriseringstoken som erhålls i ett av stegen.

Zabbix 4.2 släppt
Extraherar AuthID från HTTP-huvudet

Zabbix Sender använder alla IP-adresser

Zabbix Sender skickar nu data till alla IP-adresser från ServerActive-parametern i agentens konfigurationsfil.

Zabbix 4.2 släppt

Bekvämt nytt filter i triggerkonfiguration

Triggerkonfigurationssidan har nu ett utökat filter för snabbt och bekvämt val av triggers baserat på specificerade kriterier.

Zabbix 4.2 släppt
Välja utlösare relaterade till K8S-tjänsten

Visa den exakta tiden

Allt är enkelt här, nu visar Zabbix den exakta tiden när du för musen över diagrammet.

Zabbix 4.2 släppt

Andra innovationer

  • Implementerat en mer förutsägbar algoritm för att ändra ordningen på widgets i instrumentpanelen
  • Möjlighet att massändra parametrar för dataobjektprototyper
  • IPv6-stöd för DNS-kontroller: "net.dns" och "new.dns.record"
  • Lade till "skip"-parameter för "vmware.eventlog"-kontroller
  • Förbearbetningsstegsexekveringsfel inkluderar stegnummer

Hur uppgraderar jag?

För att uppgradera från tidigare versioner behöver du bara installera nya binärer (servrar och proxyservrar) och ett nytt gränssnitt. Zabbix kommer automatiskt att uppdatera databasen. Det finns inget behov av att installera nya agenter.

Vi arrangerar gratis webbseminarier för dig som vill lära dig mer om Zabbix 4.2 och har möjlighet att ställa frågor till Zabbix-teamet. Bli Medlem!

Glöm inte det populära Telegram kanal Zabbix community, där du alltid kan få råd och svar på dina frågor på ryska från mer erfarna kollegor och, om du har tur, från Zabbix-utvecklarna själva. Rekommenderas för nybörjare grupp för nybörjare.

Användbara länkar

- Release anteckningar
- Uppgradera anteckningar
- Originalartikel

Källa: will.com

Lägg en kommentar