Vårt team är mycket glada över att dela nyheten om att ett gratis övervakningssystem med öppen källkod har släppts
Ä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
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
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.
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.
För tillfället finns det fler
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.
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.
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."
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!
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!
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!
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!
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.
Möjligheterna är verkligen oändliga!
TimescaleDB-stöd
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.
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.
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.
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!
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.
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.
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 Sender använder alla IP-adresser
Zabbix Sender skickar nu data till alla IP-adresser från ServerActive-parametern i agentens konfigurationsfil.
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.
Visa den exakta tiden
Allt är enkelt här, nu visar Zabbix den exakta tiden när du för musen över diagrammet.
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
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.
Glöm inte det populära
Användbara länkar
-
-
-
Källa: will.com