I mitten av maj släpptes version Zabbix 5.0, och vi organiserade en serie onlineträffar på olika språk för att tydligt demonstrera för gemenskapen alla förändringar och innovationer. Vi inbjuder dig att läsa rapporten av Alexey Vladyshev, verkställande direktör och skapare av Zabbix, där han steg för steg beskrev vad som är nytt i Zabbix 5.0.
Zabbix 4.2 och Zabbix 4.4
Låt oss börja med ändringarna som dök upp i Zabbix 4.0-versionen i samband med användningen av LTS-versioner.
I version Zabbix 4.2, som släpptes i april 2019, dök följande funktioner upp:
Högfrekvent strypövervakning som ger skalning och högre NVPS, vilket innebär snabbare problemdetektering och varning utan att belasta Zabbix hårt.
Samla in data med hjälp av en HTTP-agent.
Stöd för datainsamling från Prometheus Pro.
Förbearbetning stöder validering och JavaScript, vilket gör att du kan transformera all insamlad data.
Förbearbetning på proxysidan, vilket möjliggör effektivare skalning med proxyservrar.
Förbättrad hantering av taggar - metainformation på händelse- och problemnivå, vilket är bekvämt att arbeta med, eftersom taggar stöds både på mallnivå och på värdnivå.
I september förra året släpptes Zabbix 4.4, som erbjöd följande funktioner:
Ny Zabbix-agent.
Webhook-stöd för varningar och aviseringar, vilket möjliggör integration med externa system.
TimescaleDB-stöd.
Den inbyggda kunskapsbasen för mätvärden och triggers har blivit synlig för Zabbix-användare. Användare kan till exempel använda objekt- och triggerbeskrivningar i Övervakning > Senaste data.
Den nya standarden för mallar.
Zabbix 5.0
Idag kommer vi att prata om LTS-utgåvan av Zabbix 5.0, som kommer att stödjas i 5 år. Support för version 4.4 upphör efter en månad. LTS-versionen av Zabbix 3.0 kommer att stödjas i ytterligare 3,5 år.
Zabbix tillhandahåller övervakning av många saker, vars lista kan anges på sidan http://www.zabbix.com/integrations, där övervakningsmallar och plugins presenteras, inklusive för den nya agenten.
Tillgängliga mallar för övervakning och integration
Dessutom finns det möjligheter till integration med olika system, inklusive biljettsystem, ITSM-system och meddelandeleveranssystem med hjälp av Webhook.
Integrationsalternativ
Zabbix 5.0 har utökat inbyggt stöd för integration med olika biljettsystem, samt varningssystem:
Integration med olika system
Listan med inbyggda mallar för övervakning av applikationer och enheter har utökats:
Inbyggda mallar för övervakning av applikationer och enheter
Alla uppdateringar finns tillgängliga för nedladdning på Git-arkiv.
Alla användare eller utvecklare kan delta i Zabbix med färdiga produkter - mallar eller plugins, med en enkel procedur:
Granskning av ansökan av utvecklingsteamet. Om en plugin eller mall överensstämmer med Zabbix-standarder ingår den i produkten och en sådan utvecklares arbete kommer officiellt att stödjas av Zabbix-teamet.
Zabbix är programvara med öppen källkod som kan ses, studeras och modifieras. Användaren ges möjlighet att fritt använda produkten, delta i att förfina programmet eller använda koden för sina egna nya program. Å andra sidan gör Zabbix-teamet allt för att säkerställa att Zabbix enkelt kan installeras på olika plattformar.
Zabbix-utvecklare erbjuder paket för nästan alla de mest populära distributionerna och olika virtualiseringsplattformar. Dessutom kan Zabbix installeras i ett offentligt moln med ett klick. Zabbix är också tillgängligt på Red Hat Openshift eller OpenStack-plattformar.
Zabbix-paket för distributioner och plattformar
Zabbix Agent 2-stöd för Windows och Linux
Den nya Zabbix Agent 2 är en av de bästa lösningarna på marknaden.
Erbjuder en plugin-baserad struktur och stöder datainsamlingsskript som kan köras i timmar.
Stöder parallella aktiva skanningar och beständiga anslutningar till externa system, vilket är användbart till exempel för effektiv databasövervakning.
Stöder fällor och händelser, vilket är viktigt för övervakning av till exempel MQTT-enheter.
Den nya versionen av agenten är enkel att installera (eftersom den nya agenten stöder alla tidigare funktioner).
Dessutom erbjuder den nya agenten i Zabbix 5.0 stöd för beständig datalagring. Tidigare lagrades information som inte skickades endast i agentens buffertminne, men i den nya versionen är det möjligt att konfigurera lagringen av sådan information på disk.
Permanent datalagring
Detta är viktigt vid övervakning av kritiska system och instabil kommunikation, eftersom en stor mängd kritisk data lagras innan den skickas till Zabbix-servern. Alternativet är också användbart för satellitanslutningar som kanske inte är tillgängliga under långa perioder. VIKTIGT! Zabbix 5.0 behåller stöd för Zabbix Agent 1.
Säkerhetsförändringar i Zabbix 5.0
1. Den nya versionen stöder HTTP-proxy för webhook, vilket gör att du kan göra anslutningar från Zabbix-servern till externa larmsystem på ett säkrare och mer kontrollerat sätt.
Om du behöver integrera en Zabbix-server på ett lokalt nätverk med ett externt system, till exempel JIRA i molnet, kan du upprätthålla anslutningen via en HTTP-proxy, vilket förbättrar anslutningens styrbarhet och tillförlitlighet.
2. För både den gamla och den nya agenten är det möjligt att välja vilka kontroller som ska finnas tillgängliga på en viss agent. Till exempel kan du begränsa antalet kontroller, huvudsakligen skapa vita och svarta listor, och definiera nycklar som stöds.
Vitlista för MySQL-relaterade kontroller
AllowKey=mysql[*]
DenyKey=*
Svartlista för att neka alla skalskript
DenyKey=system.run[*]
Svartlista för att neka åtkomst till /etc/password
DenyKey=vfs.file.contents[/etc/passwd,*]
3. Det är möjligt att välja krypteringsalgoritmer för alla Zabbix-komponenter för att undvika användningen av osäkra chiffer för TLS-anslutningar. Detta är viktigt för att övervaka miljöer där vissa säkerhetsstandarder gäller.
Val av krypteringsalgoritmer för TLS-anslutningar
4. Zabbix 5.0 introducerade stöd för krypterade anslutningar till databasen. För närvarande är endast krypterade anslutningar till PostgreSQL och MySQL tillgängliga.
Krypterade databasanslutningar
5. Zabbix 5.0 bytte från MD5 till SHA256 för att lagra hash för användarlösenord i databasen, eftersom detta är den säkraste algoritmen för tillfället.
6. Zabbix 5.0 stöder hemliga användarmakron för att lagra all känslig information som lösenord och API-tokens som slutanvändare inte har tillgång till.
Hemliga makron
7. Alla Zabbix-anslutningar till externa system och interna anslutningar till agenter är säkra. Kryptering stöds med hjälp av TLS-certifikat, eller med en fördelad nyckelkryptering för att ansluta till agenter och proxyservrar, eller HTTPS. Säkerheten på agentsidan kan förbättras genom vita och svarta listor. Gränssnittet fungerar via HTTPS.
Säkra anslutningar
8. SAML-stöd för att tillhandahålla en enda autentiseringspunkt med en betrodd identitetstjänstleverantör, så att användaruppgifterna inte lämnar brandväggen.
SAML-identitet
SAML-stöd låter dig integrera Zabbix med olika leverantörer av lokala och molnidentitetstjänster, såsom Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, samt Azure, AWS eller Google Cloud Platform.
Lätt att använda för Zabbix 5.0
1. Användargränssnitt optimerat för breda skärmar. Vi har flyttat menyn från toppen, där det alltid finns plats för utrymme, till vänster sida av skärmen. Menyn visas fortfarande i fullt, minimalt och dolt läge.
Gränssnitt optimerat för bred skärm
2. Kopiera widgets från paneler låter dig skapa nya PANELER mycket snabbt. För att göra detta måste du välja önskad widget i PANEL, klicka på Kopiera
Kopiera en widget
och sätt in widgeten i önskad panel.
Klistra in en kopierad widget
3. Exportera grafer. För att kopiera grafen och skicka den, till exempel via e-post, kan du få grafen i PNG-format genom att välja önskad widget och klicka Ladda ner bild.
Exportera grafer
4. Filtrera efter taggar: Problem efter svårighetsgrad och Problemvärdar. Det blev till exempel möjligt att samla in data om alla problem kopplade till en nätverksnod i ett datacenter.
Filtrera efter taggar
5. Stöd för moduler för att utöka Zabbix-gränssnittet. För att installera en oberoende modul måste du kopiera den till en specifik katalog. Moduler låter dig utöka gränssnittets befintliga funktionalitet, skapa nya sidor, ändra menystrukturen, till exempel lägga till objekt.
Alla användare kan skriva och integrera en modul. För att göra detta kopieras modulen till moduler-mappen, varefter den blir synlig för gränssnittet, där den kan slås på och av.
Lägger till en ny modul
6. Enkel navigering genom resurser associerade med nätverksnoder. I Övervakning > Värdar en lista över enheter som Zabbix övervakar visas: värdar, tjänster, nätverksenheter etc. Dessutom är snabb navigering till skärmar, grafer och problem för specifika enheter tillgänglig.
Vi har tagit bort flikar Övervakning > Grafer och övervakning > Webb, och all navigering är klar Övervakning > Värdar. Den visade informationen kan filtreras, inklusive med taggar, vilket gör att du kan visa inaktiverade enheter
Navigera resurser relaterade till nätverksnoder
Du kan till exempel välja enheter som klassificeras som slutanvändartjänster genom att välja 'Service', samt ställa in nivån av betydelse för dessa problem.
Filtreringsalternativ
7. Ny förbearbetningsoperation - "Ersätt" låter dig göra flera användbara saker som tidigare bara kunde göras med reguljära uttryck, som är ganska komplexa för många användare. ersätta låter dig faktiskt ersätta en sträng eller tecken med en annan, vilket gör att du helt enkelt kan konvertera data som tas emot i textformat till en numerisk representation.
Byt ut operatören
8. JSONPath-operatör, som låter dig extrahera attributnamn i en bekväm form
Operatör för JSONPath
9. Visa Zabbix e-postmeddelanden. I tidigare versioner, alla e-postmeddelanden från Zabbix i mappen inkorg visades i en lista. Från och med Zabbix 5.0 kommer meddelanden att grupperas efter problem.
Gruppera e-postmeddelanden från Zabbix
10. Stöd anpassade makron för IPMI för användarnamn och lösenord. Om hemliga makron används för användarnamn och lösenord kommer åtkomst till deras värde att nekas.
Stöd för anpassade makron
11. Bulkbyte av användarmakron för nätverksnoder. I den nya versionen kan du öppna en lista med mallar, välja en lista med värdar och lägga till makron eller ändra värdena för befintliga makron,
Lägga till och redigera anpassade makron
och även ta bort vissa eller alla makron från valda mallar för nätverksnoder.
Ta bort enskilda eller alla användarmakron
12. Kontroll av meddelandeformat på nivån för anmälningsmetod. I Mediatyper fliken dök upp Media mallar med meddelandemallar.
Mallar för meddelandemetoder
Du kan definiera olika mallar för olika meddelandetyper.
Definiera en mall för en meddelandetyp
I tidigare versioner var du tvungen att hantera dessa meddelanden på åtgärdsnivå, definiera standardmeddelanden och objekt.
Hantera mallar på aktivitetsnivå
I den nya versionen kan allt definieras på global nivå, och på meddelandenivå kan globala inställningar skrivas om.
Hantera mallar globalt
För de flesta användare är det tillräckligt att definiera mallformat på mediemetodnivå. Dessutom, efter att ha importerat en ny meddelandemetod, är alla motsvarande mallformat redan en del av den.
13. Bredare användning av JavaScript. JavaScript används för att förbearbeta skript, Webhook, etc. På kommandoraden är det inte lätt att arbeta med JavaScript.
Zabbix 5.0 använder ett nytt verktyg - zabbix_js, som kör JavaScript som accepterar data, bearbetar den och genererar utdatavärden.
zabbix_js verktyg
Exempel på användning av verktyget zabbix_js
14. Stöd för textoperationer med triggeruttryck låter dig kontrollera versionerna av installerade komponenter, jämföra värden med alla konstanter, och konstanten kan vara ett anpassat makro,
jämför det sista värdet med det föregående, till exempel när det gäller textdata,
{host:text.last()}<>{host.text.prev()}
eller
{host:text.last(#1)}<>{host.text.prev(#2)}
eller jämför textvärden för olika mätvärden.
{hostA:textA.last()}={hostB:textB.last()}
15. Automation och upptäckt.
Nya JMX-kontroller är tillgängliga för att hämta och upptäcka en lista över JMX-räknare, vilket är mycket användbart för till exempel att övervaka Java-applikationer, samt att automatisera skapandet av övervakningsobjekt, mätvärden, triggers och grafer.
jmx.get[]
и
jmx.discovery[]
JMX kontrollerar
Den nya versionen har en nyckel för att övervaka Windows prestandaräknare, som stöds av gamla och nya agenter på ryska och engelska och gör det till exempel möjligt att detektera antalet processorer, filsystem, tjänster etc.
Övervaka Windows prestandaräknare med en nyckel perf_counter
ODBC-övervakning har blivit mycket enklare. Tidigare måste alla parametrar för ODBC-övervakning beskrivas i en extern fil /etc/odbc.ini, som inte var tillgänglig från Zabbix-gränssnittet. I den nya versionen kan nästan alla parametrar vara en del av den metriska nyckeln.
Metrisk nyckel med beskrivning av parametrar
I den nya versionen kan du ställa in servernamn och port på metrisk nivå, och namn och lösenord för åtkomst med hjälp av hemliga makron för säkerheten.
Använda hemliga makron
När man använde IPMI-protokollet för utrustningsövervakning blev det möjligt att skapa enklare mallar för automatisering med hjälp av ipmi.get.
ipmi.get
16. Testa dataelement från gränssnittet. Zabbix 5.0 introducerade möjligheten att testa vissa objekt och, ännu viktigare, objektmallar från gränssnittet.
Testa dataelement
Eventuella problem som uppstår visas i gränssnittet.
Visar problem i gränssnittet
En liknande algoritm används för objektmallar. Dessutom, om någon datapost inte stöds kan du ta reda på varför den misslyckades genom att helt enkelt klicka Testa.
17. Testa anmälningsmetoder, som dök upp i Zabbix 4.4, bevaras, vilket är viktigt när man integrerar Zabbix med andra system, till exempel biljettsystem.
Testa aviseringsmetoder
18. Stöd för anpassade makron för objektprototyper. Du kan använda LLD-makron för att definiera anpassade makrovärden.
Använda LLD-makron för att definiera anpassade makrovärden
19. Float64-datastöd, som huvudsakligen behövs för att övervaka mycket stora värden, krävs i Zabbix för att stödja data som tas emot från Prometheus-agenter.
Om du installerar Zabbix 5.0 sker ingen automatisk migrering av data till Float64-standarden. Användaren har fortfarande möjlighet att använda gamla datatyper. Float64-migreringsskript körs manuellt och ändrar datatyper i historiska tabeller. Automatisk byte används inte eftersom det tar väldigt lång tid.
20. Förbättrad skalbarhet för Zabbix 5.0: gränssnittsoptimering och eliminering av flaskhalsar
Rullgardinslistor, till exempel för att välja värdar, har tagits bort eftersom den här funktionen inte skalas.
Det finns "inbyggda" gränser för bordsstorlekar Översikt.
Nya möjligheter har dykt upp Övervakning > Värdar > Grafer.
Personsökningsfunktionen har dykt upp (Övervakning > Värdar > Webb) där det inte var.
21. Förbättrad kompression
Komprimering i Zabbix är baserad på en tillägg för PostgreSQL - TimescaleDB (sedan Zabbix 4.4). TimescaleDB tillhandahåller automatisk databaspartitionering och förbättrar databasprestanda eftersom TimescaleDB-prestanda är praktiskt taget oberoende av databasstorlek.
I Zabbix 5.0 Administration > Allmänt > Hushållning Du kan till exempel konfigurera komprimering av data äldre än 7 dagar. Detta minskar det nödvändiga diskutrymmet avsevärt (med nästan tio gånger, enligt användare), vilket förbättrar diskutrymmesbesparingar och förbättrar prestanda.
Komprimering med TimescaleDB
22. Konfigurera SNMP på gränssnittsnivå. I Zabbix 5.0, istället för tre typer av dataelement, används bara ett - SNMP-agent. Alla SNMP-attribut har flyttats till värdgränssnittsnivån, vilket gör det möjligt att förenkla mallar, växla mellan SNMP-versioner osv.
Konfigurera SNMP på gränssnittsnivå
23. Beroende av att övervaka tillgängligheten för nätverksnoder på tillgängligheten av en proxy låter dig visa problemet med proxytillgänglighet som en prioritet i händelse av otillgänglighet av nätverksnoder när du övervakar med en trigger med funktionen inga data:
{HostA:item.nodata(1m)}=1
Tillgängligheten för nätverksnoder bestäms av proxyns tillgänglighet
Funktion inga data som standard tar hänsyn till proxyns tillgänglighet. För en mer strikt kontroll som inte tar hänsyn till proxyns tillgänglighet, används den andra parametern - sträng:
{HostA:item.nodata(1m,strict)}=1
24. Hantera upptäcktsregler på låg nivå. Zabbix 5.0 introducerade ett LLD-filter som låter dig se upptäcktsregler som inte stöds
LLD-filter
25. Förmåga att ta bort problemet (avbekräfta) låter dig korrigera fel och är användbar när du skapar arbetsflöden som är beroende av problembekräftelse.
Ta bort problemet
26. Ändra regler för upptäckt på låg nivå — Möjligheten att lägga till undantag vid detektering av objekt som ett resultat av övervakning av filsystem, vilket gör det möjligt för lågnivådetektering att skapa eller inte skapa vissa objekt, utlösare, dataelement etc., ändra svårighetsgraden av problemen, lägga till taggar för vissa objekt , exkludera objekt, till exempel temporära filsystem, från sökning, ändra datauppdateringsintervallet, etc.
Uteslutning från lågnivådetektering av temporära filsystem
Du kan till exempel ändra triggerprioritetsnivån för upptäckta Oracle-filsystem samtidigt som du lämnar triggerprioritetsnivån för andra filsystem på samma nivå.
Ändra prioritetsnivån för utlösare för enskilda filsystem
27. Nya makron i Zabbix 5.0 kan du förbättra kvaliteten på övervakningen.