I midten av mai ble versjon Zabbix 5.0 utgitt, og vi organiserte en serie online-treff på forskjellige språk for å tydelig demonstrere for fellesskapet alle endringene og innovasjonene. Vi inviterer deg til å lese rapporten av Alexey Vladyshev, administrerende direktør og skaper av Zabbix, der han beskrev trinn for trinn hva som er nytt i Zabbix 5.0.
Zabbix 4.2 og Zabbix 4.4
La oss starte med endringene som dukket opp i Zabbix 4.0-versjonen i forbindelse med bruk av LTS-versjoner.
I versjon Zabbix 4.2, som ble utgitt i april 2019, dukket følgende funksjoner opp:
Høyfrekvent strupeovervåking som gir skalering og høyere NVPS, noe som betyr raskere problemdeteksjon og varsling uten å legge tung belastning på Zabbix.
Samle inn data ved hjelp av en HTTP-agent.
Støtte for datainnsamling fra Prometheus Pro.
Forbehandling støtter validering og JavaScript, som lar deg transformere alle innsamlede data.
Forbehandling på proxy-siden, som muliggjør mer effektiv skalering med proxyer.
Forbedret håndtering av tagger – metainformasjon på hendelses- og problemnivå, som er praktisk å jobbe med, fordi tagger støttes både på malnivå og på vertsnivå.
I september i fjor ble Zabbix 4.4 utgitt, som tilbød følgende funksjoner:
Ny Zabbix-agent.
Webhook-støtte for varsler og varsler, som tillater integrasjon med eksterne systemer.
TimescaleDB-støtte.
Den innebygde kunnskapsbasen for beregninger og triggere har blitt synlig for Zabbix-brukere. For eksempel kan brukere bruke vare- og triggerbeskrivelser i Overvåking > Siste data.
Den nye standarden for maler.
Zabbix 5.0
I dag skal vi snakke om LTS-utgivelsen av Zabbix 5.0, som vil bli støttet i 5 år. Støtte for versjon 4.4 slutter etter en måned. LTS-utgivelsen av Zabbix 3.0 vil bli støttet i ytterligere 3,5 år.
Zabbix gir overvåking av mange ting, listen over kan spesifiseres på siden http://www.zabbix.com/integrations, hvor overvåkingsmaler og plugins presenteres, inkludert for den nye agenten.
Tilgjengelige maler for overvåking og integrasjon
I tillegg er det muligheter for integrasjon med ulike systemer, inkludert billettsystemer, ITSM-systemer og meldingsleveringssystemer ved bruk av Webhook.
Integrasjonsmuligheter
Zabbix 5.0 har utvidet innebygd støtte for integrasjon med ulike billettsystemer, samt varslingssystemer:
Integrasjon med ulike systemer
Listen over innebygde maler for overvåking av applikasjoner og enheter er utvidet:
Innebygde maler for overvåking av applikasjoner og enheter
Alle oppdateringer er tilgjengelige for nedlasting på Git-depot.
Enhver bruker eller utvikler kan delta i Zabbix med ferdige produkter - maler eller plugins, ved å bruke en enkel prosedyre:
Gjennomgang av søknaden av utviklingsteamet. Hvis en plugin eller mal er i samsvar med Zabbix-standarder, er den inkludert i produktet, og arbeidet til en slik utvikler vil bli offisielt støttet av Zabbix-teamet.
Zabbix er åpen kildekode-programvare som kan sees, studeres og endres. Brukeren gis mulighet til fritt å bruke produktet, være med på å foredle programmet, eller bruke koden til sine egne nye programmer. På den annen side gjør Zabbix-teamet alt for å sikre at Zabbix enkelt kan installeres på ulike plattformer.
Zabbix-utviklere tilbyr pakker for nesten alle de mest populære distribusjonene og ulike virtualiseringsplattformer. I tillegg kan Zabbix installeres i en offentlig sky med ett klikk. Zabbix er også tilgjengelig på Red Hat Openshift eller OpenStack-plattformer.
Zabbix-pakker for distribusjoner og plattformer
Zabbix Agent 2-støtte for Windows og Linux
Den nye Zabbix Agent 2 er en av de beste løsningene på markedet.
Tilbyr en plugin-basert struktur og støtter datainnsamlingsskript som kan kjøre i timevis.
Støtter parallelle aktive skanninger og vedvarende tilkoblinger til eksterne systemer, noe som er nyttig for eksempel for effektiv databaseovervåking.
Støtter feller og hendelser, noe som er viktig for overvåking av for eksempel MQTT-enheter.
Den nye versjonen av agenten er enkel å installere (siden den nye agenten støtter all tidligere funksjonalitet).
I tillegg tilbyr den nye agenten i Zabbix 5.0 støtte for vedvarende datalagring. Tidligere ble usendt informasjon kun lagret i agentens bufferminne, men i den nye versjonen er det mulig å konfigurere lagring av slik informasjon på disk.
Vedvarende datalagring
Dette er viktig ved overvåking av kritiske systemer og ustabil kommunikasjon, siden en stor mengde kritiske data lagres før de sendes til Zabbix-serveren. Alternativet er også nyttig for satellittforbindelser som kanskje ikke er tilgjengelig over lengre perioder. VIKTIG! Zabbix 5.0 beholder støtte for Zabbix Agent 1.
Sikkerhetsendringer i Zabbix 5.0
1. Den nye versjonen støtter HTTP-proxy for webhook, som lar deg opprette tilkoblinger fra Zabbix-serveren til eksterne varslingssystemer på en sikrere og mer kontrollert måte.
Hvis du trenger å integrere en Zabbix-server på et lokalt nettverk med et eksternt system, for eksempel JIRA i skyen, kan du opprettholde forbindelsen via en HTTP-proxy, noe som forbedrer kontrollerbarheten og påliteligheten til forbindelsen.
2. For både den gamle og den nye agenten er det mulig å velge hvilke sjekker som skal være tilgjengelig på en bestemt agent. For eksempel kan du begrense antall sjekker, i hovedsak lage hvite og svarte lister, og definere støttede nøkler.
Hviteliste for MySQL-relaterte sjekker
AllowKey=mysql[*]
DenyKey=*
Svarteliste for å nekte alle shell-skript
DenyKey=system.run[*]
Svarteliste for å nekte tilgang til /etc/password
DenyKey=vfs.file.contents[/etc/passwd,*]
3. Det er mulig å velge krypteringsalgoritmer for alle Zabbix-komponenter for å unngå bruk av usikre chiffere for TLS-tilkoblinger. Dette er viktig for overvåking av miljøer der visse sikkerhetsstandarder gjelder.
Velge krypteringsalgoritmer for TLS-tilkoblinger
4. Zabbix 5.0 introduserte støtte for krypterte tilkoblinger til databasen. Foreløpig er kun krypterte tilkoblinger til PostgreSQL og MySQL tilgjengelig.
Krypterte databaseforbindelser
5. Zabbix 5.0 byttet fra MD5 til SHA256 for lagring av brukerpassord-hasher i databasen, da dette er den sikreste algoritmen for øyeblikket.
6. Zabbix 5.0 støtter hemmelige brukermakroer for å lagre all sensitiv informasjon som passord og API-tokens som sluttbrukere ikke har tilgang til.
Hemmelige makroer
7. Alle Zabbix-tilkoblinger til eksterne systemer og interne tilkoblinger til agenter er sikre. Kryptering støttes ved hjelp av TLS-sertifikater, eller bruk av en forhåndsdelt nøkkelkryptering for å koble til agenter og proxyer, eller HTTPS. Sikkerheten på agentsiden kan forbedres gjennom hvite og svarte lister. Grensesnittet fungerer via HTTPS.
Sikre tilkoblinger
8. SAML-støtte for å gi et enkelt autentiseringspunkt med en pålitelig identitetstjenesteleverandør, slik at brukerlegitimasjonen ikke forlater brannmuren.
SAML-identitet
SAML-støtte lar deg integrere Zabbix med ulike leverandører av lokale og skyidentitetstjenester, som Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, samt Azure, AWS eller Google Cloud Platform.
Brukervennlighet for Zabbix 5.0
1. Brukergrensesnitt optimalisert for brede skjermer. Vi har flyttet menyen fra toppen, hvor det alltid er plass til plass, til venstre side av skjermen. Menyen vises fortsatt i full, minimal og skjult modus.
Grensesnitt optimalisert for bred skjerm
2. Kopiere widgets fra paneler lar deg lage nye PANELER veldig raskt. For å gjøre dette må du velge ønsket widget i PANELET, klikk Kopier
Kopierer en widget
og sett inn widgeten i ønsket panel.
Limer inn en kopiert widget
3. Eksporter grafer. For å kopiere grafen og sende den, for eksempel via e-post, kan du få grafen i PNG-format ved å velge ønsket widget og klikke Last ned bilde.
Eksporter grafer
4. Filtrer etter tagger: Problem etter alvorlighetsgrad og Problemverter. Det ble for eksempel mulig å samle data om alle problemer knyttet til én nettverksnode i ett datasenter.
Filtrer etter tagger
5. Støtte for moduler for å utvide Zabbix-grensesnittet. For å installere en uavhengig modul, må du kopiere den til en bestemt katalog. Moduler lar deg utvide den eksisterende funksjonaliteten til grensesnittet, lage nye sider, endre menystrukturen, for eksempel legge til elementer.
Enhver bruker kan skrive og integrere en modul. For å gjøre dette kopieres modulen til moduler-mappen, hvoretter den blir synlig for grensesnittet, hvor den kan slås av og på.
Legger til en ny modul
6. Enkel navigering gjennom ressurser knyttet til nettverksnoder. I Overvåking > Verter en liste over enheter som Zabbix overvåker vises: verter, tjenester, nettverksenheter osv. I tillegg er rask navigering til skjermer, grafer og problemer med spesifikke enheter tilgjengelig.
Vi har fjernet faner Overvåking > Grafer og overvåking > Weber, og all navigering er utført Overvåking > Verter. Den viste informasjonen kan filtreres, inkludert av tagger, som lar deg vise deaktiverte enheter
Navigere ressurser relatert til nettverksnoder
Du kan for eksempel velge enheter som er klassifisert som sluttbrukertjenester ved å velge 'Service', samt å sette viktighetsnivået til disse problemene.
Filtreringsalternativer
7. Ny forbehandlingsoperasjon - 'Erstatt' lar deg gjøre flere nyttige ting som tidligere bare kunne gjøres ved å bruke regulære uttrykk, som er ganske komplekse for mange brukere. Erstatt lar deg faktisk erstatte en streng eller tegn med en annen, slik at du enkelt kan konvertere data mottatt i tekstformat til en numerisk representasjon.
Bytt ut operatør
8. JSONPath-operatør, som lar deg trekke ut attributtnavn i en praktisk form
Operatør for JSONPath
9. Vis Zabbix e-postmeldinger. I tidligere versjoner, alle e-poster fra Zabbix i mappen innboksen ble vist i en liste. Fra og med Zabbix 5.0 vil meldinger bli gruppert etter utgave.
Gruppering av e-postmeldinger fra Zabbix
10. Støtte tilpassede makroer for IPMI for brukernavn og passord. Hvis hemmelige makroer brukes for brukernavnet og passordet, vil tilgang til verdien deres nektes.
Støtte for egendefinerte makroer
11. Masseendring av brukermakroer for nettverksnoder. I den nye versjonen kan du åpne en liste over maler, velge en liste over verter og legge til makroer eller endre verdiene til eksisterende makroer,
Legge til og redigere egendefinerte makroer
og også slette visse eller alle makroer fra utvalgte maler for nettverksnoder.
Fjerner individuelle eller alle brukermakroer
12. Kontroll av meldingsformat på nivået av varslingsmetode. I Medietyper en fane dukket opp Mediemaler med meldingsmaler.
Varslingsmetodemaler
Du kan definere ulike maler for ulike meldingstyper.
Definere en mal for en meldingstype
I tidligere versjoner måtte du administrere disse meldingene på handlingsnivå, og definere standard meldinger og element.
Administrere maler på aktivitetsnivå
I den nye versjonen kan alt defineres på globalt nivå, og på meldingsnivå kan globale innstillinger skrives om.
Administrer maler globalt
For de fleste brukere er det tilstrekkelig å definere malformater på mediemetodenivå. Dessuten, etter import av en ny varslingsmetode, er alle tilsvarende malformater allerede en del av den.
13. Bredere bruk av JavaScript. JavaScript brukes til forbehandling av skript, Webhook, etc. På kommandolinjen er det ikke lett å jobbe med JavaScript.
Zabbix 5.0 bruker et nytt verktøy - zabbix_js, som kjører JavaScript som godtar data, behandler dem og genererer utdataverdier.
zabbix_js-verktøyet
Eksempler på bruk av zabbix_js-verktøyet
14. Støtte for tekstoperasjoner med triggeruttrykk lar deg sjekke versjonene av installerte komponenter, sammenligne verdier med eventuelle konstanter, og konstanten kan være en egendefinert makro,
sammenligne den siste verdien med den forrige, for eksempel når det gjelder tekstdata,
{host:text.last()}<>{host.text.prev()}
eller
{host:text.last(#1)}<>{host.text.prev(#2)}
eller sammenligne tekstverdier for forskjellige beregninger.
{hostA:textA.last()}={hostB:textB.last()}
15. Automatisering og oppdagelse.
Nye JMX-sjekker er tilgjengelige for å hente og oppdage en liste over JMX-tellere, noe som er svært nyttig for for eksempel å overvåke Java-applikasjoner, samt automatisere opprettelsen av overvåkingselementer, metrikker, triggere og grafer.
jmx.get[]
и
jmx.discovery[]
JMX sjekker
Den nye versjonen har en nøkkel for å overvåke Windows-ytelsestellere, som støttes av gamle og nye agenter på russisk og engelsk og lar for eksempel oppdage antall prosessorer, filsystemer, tjenester osv.
Overvåking av Windows-ytelsestellere ved hjelp av en nøkkel perf_counter
ODBC-overvåking har blitt mye enklere. Tidligere måtte alle parametere for ODBC-overvåking beskrives i en ekstern fil /etc/odbc.ini, som ikke var tilgjengelig fra Zabbix-grensesnittet. I den nye versjonen kan nesten alle parametere være en del av den metriske nøkkelen.
Metrisk nøkkel med beskrivelse av parametere
I den nye versjonen kan du angi servernavn og port på metrisk nivå, og navn og passord for tilgang ved hjelp av hemmelige makroer for sikkerhet.
Bruke hemmelige makroer
Ved bruk av IPMI-protokollen for utstyrsovervåking ble det mulig å lage enklere maler for automatisering vha ipmi.get.
ipmi.get
16. Testing av dataelementer fra grensesnittet. Zabbix 5.0 introduserte muligheten til å teste noen elementer og, enda viktigere, elementmaler fra grensesnittet.
Testing av dataelementer
Eventuelle problemer som oppstår vises i grensesnittet.
Viser problemer i grensesnittet
En lignende algoritme brukes for varemaler. I tillegg, hvis et dataelement ikke støttes, kan du finne ut hvorfor det mislyktes ved å klikke Test.
17. Testing av varslingsmetoder, som dukket opp i Zabbix 4.4, er bevart, noe som er viktig når man skal integrere Zabbix med andre systemer, for eksempel billettsystemer.
Testing av varslingsmetoder
18. Støtte for tilpassede makroer for vareprototyper. Du kan bruke LLD-makroer til å definere egendefinerte makroverdier.
Bruke LLD-makroer for å definere egendefinerte makroverdier
19. Float64 datastøtte, som hovedsakelig trengs for å overvåke svært store verdier, kreves i Zabbix for å støtte data mottatt fra Prometheus-agenter.
Når du installerer Zabbix 5.0, skjer ikke automatisk datamigrering til Float64-standarden. Brukeren har fortsatt muligheten til å bruke gamle datatyper. Float64-migreringsskript kjøres manuelt og endrer datatyper i historiske tabeller. Automatisk erstatning brukes ikke fordi det tar veldig lang tid.
20. Forbedret skalerbarhet av Zabbix 5.0: grensesnittoptimalisering og eliminering av flaskehalser
Nedtrekkslister, for eksempel for valg av verter, er eliminert fordi denne funksjonen ikke skaleres.
Det er "innebygde" grenser for bordstørrelser Oversikt.
Nye muligheter har dukket opp Overvåking > Verter > Grafer.
Personsøkingsfunksjonen har dukket opp (Overvåking > Verter > Web) der den ikke var.
21. Forbedret kompresjon
Komprimering i Zabbix er basert på en utvidelse for PostgreSQL - TimescaleDB (siden Zabbix 4.4). TimescaleDB gir automatisk databasepartisjonering og forbedrer databaseytelsen fordi TimescaleDB-ytelsen er praktisk talt uavhengig av databasestørrelsen.
I Zabbix 5.0 Administrasjon > Generelt > Husstell Du kan for eksempel konfigurere komprimering av data som er eldre enn 7 dager. Dette reduserer den nødvendige diskplassen betydelig (med nesten ti ganger, ifølge brukerne), noe som forbedrer diskplassbesparelser og forbedrer ytelsen.
Komprimering med TimescaleDB
22. Konfigurere SNMP på grensesnittnivå. I Zabbix 5.0, i stedet for tre typer dataelementer, brukes bare ett - SNMP-agent. Alle SNMP-attributter er flyttet til vertsgrensesnittnivået, noe som gjør det mulig å forenkle maler, bytte mellom SNMP-versjoner osv.
Konfigurere SNMP på grensesnittnivå
23. Avhengighet av overvåking av tilgjengeligheten til nettverksnoder på tilgjengeligheten av en proxy lar deg vise problemet med proxy-tilgjengelighet som en prioritet i tilfelle utilgjengelighet av nettverksnoder når du overvåker ved hjelp av en trigger med funksjonen ingen data:
{HostA:item.nodata(1m)}=1
Tilgjengeligheten til nettverksnoder bestemmes av tilgjengeligheten til proxyen
Funksjon ingen data tar som standard hensyn til tilgjengeligheten av proxyen. For en mer streng kontroll som ikke tar hensyn til tilgjengeligheten av proxyen, brukes den andre parameteren - streng:
{HostA:item.nodata(1m,strict)}=1
24. Administrere oppdagelsesregler på lavt nivå. Zabbix 5.0 introduserte et LLD-filter som lar deg se påvisningsregler som ikke støttes
LLD-filter
25. Evne til å avkrefte problemet (avbekrefte) lar deg rette feil og er nyttig når du lager arbeidsflyter som er avhengige av problembekreftelse.
Ikke anerkjenne problemet
26. Endring av regler for oppdagelse på lavt nivå — muligheten til å legge til unntak ved gjenkjenning av objekter som et resultat av overvåking av filsystemer, som lar lavnivådeteksjon opprette eller ikke opprette bestemte objekter, utløsere, dataelementer osv., endre alvorlighetsgraden av problemer, legge til tagger for visse objekter , ekskluder objekter, for eksempel midlertidige filsystemer, fra søk, endre dataoppdateringsintervallet osv.
Utelukkelse fra lavnivådeteksjon av midlertidige filsystemer
Du kan for eksempel endre triggerprioritetsnivået for oppdagede Oracle-filsystemer mens du lar triggerprioritetsnivået for andre filsystemer være på samme nivå.
Endring av prioritetsnivået for utløsere for individuelle filsystemer
27. Nye makroer i Zabbix 5.0 lar deg forbedre kvaliteten på overvåkingen.