Zie breaking changes voor deze versie.
De nieuwe versie wordt geleverd met een ingebouwde oplossing voor hoge beschikbaarheid voor de Zabbix-server.
De oplossing bestaat uit meerdere zabbix_server-instanties of knooppunten, waarbij slechts één knooppunt tegelijk actief (werkend) kan zijn, terwijl andere knooppunten stand-by staan, gereed om over te nemen als het huidige knooppunt wordt gestopt of faalt.
Zie ook: Clustering voor hoge beschikbaarheid.
Verschillende updates zijn doorgevoerd in het bewaken van services. Het monitoren van services biedt een overzicht op hoog niveau van de bewaakte infrastructuur in Zabbix.
Tag-gebaseerde toewijzing van services aan problemen
De beschikbaarheid van services in eerdere Zabbix-versies was afhankelijk van triggers en hun statussen. In de nieuwe versie is dat vervangen door een tag-gebaseerde toewijzing aan problemen voor de respectieve service.
In de configuratie van een service bestaan geen harde en zachte afhankelijkheden meer. In plaats daarvan kan een service meerdere ouder-services hebben.
Services-menu
Er is nu een nieuw Services-menu in Zabbix, met vier menusecties:
Merk op dat er geen aparte sectie meer is voor serviceconfiguratie (voorheen in Configuration → Services).
Statusberekenings- en propagatieregels
Er zijn nieuwe regels voor statusberekening en flexibele aanvullende regels voor het berekenen van de status van een ouderdienst op basis van de statussen en gewichten van directe onderliggende diensten. Het is nu ook mogelijk om flexibele regels in te stellen voor het doorgeven van een dienststatus aan ouderdiensten.
Machtigingen
Flexibele machtigingen voor diensten zijn geïmplementeerd op het niveau van gebruikersrol. Lees-schrijf of alleen-lezen toegang kan worden verleend aan alle, geen enkele of geselecteerde diensten (op basis van naam of tags).
Oorzaakanalyse
Een nieuwe kolom Oorzaak geeft de onderliggende problemen weer die direct of indirect van invloed zijn op de status van de dienst.
Als u op de probleemnaam klikt, kunt u meer details erover bekijken in Monitoring → Problemen.
Melding bij wijziging van de servicedestatus
Het is nu mogelijk om geautomatiseerde meldingen te ontvangen over wijzigingen in de servicestatus, vergelijkbaar met de meldingen over wijzigingen in triggerstatussen.
Er is een nieuwe functionaliteit voor servicemeldingen toegevoegd, vergelijkbaar met andere meldingen in Zabbix. Servicemeldingen kunnen stappen omvatten voor probleem-, herstel- en updatebewerkingen met betrekking tot services. Het is mogelijk om twee soorten meldingen te configureren: het verzenden van een bericht naar de opgegeven ontvangers en het uitvoeren van een externe opdracht op de Zabbix-server. Net als bij triggermeldingen ondersteunen servicemeldingen escalaties.
Nieuwe berichtsjablonen Service, Herstel van service en Bijwerken van service zijn toegevoegd aan mediatypes en moeten worden gedefinieerd om correcte verzending van meldingen voor servicemeldingen mogelijk te maken.
Service klonen
Services kunnen nu worden gekloond. De knop Klonen is toegevoegd aan het configuratieformulier van een service. Wanneer een service wordt gekloond, worden de ouderlijke koppelingen behouden, terwijl de kinderkoppelingen dat niet worden.
Primaire sleutels worden nu gebruikt voor alle tabellen, inclusief geschiedenistabellen, in nieuwe installaties.
Er is geen automatische upgrade naar primaire sleutels voor bestaande installaties. Instructies voor een handmatige upgrade van geschiedenistabellen naar primaire sleutels in vooraf bestaande installaties zijn beschikbaar voor MySQL/MariaDB, PostgreSQL, TimescaleDB v1 en v2, en Oracle.
In de nieuwe versie zijn er verschillende dashboard-widgets toegevoegd.
Er is een Top hosts widget toegevoegd aan dashboard-widgets. Deze widget is ontworpen om de Data overview widget te vervangen die nu verouderd is.
De Top hosts widget maakt het mogelijk om aangepaste tabellen te maken voor een overzicht van gegevens, wat handig is voor Top N-achtige rapporten en staafdiagramrapporten die nuttig zijn voor capaciteitsplanning.
Voor meer informatie, zie Top hosts widget.
Er is een Itemwaarde widget toegevoegd aan dashboard-widgets.
Dit type widget is handig voor het prominent weergeven van waarden van enkele items. Verschillende visuele weergavestijlen zijn mogelijk:
Voor meer informatie, zie Itemwaarde widget.
Er worden nu nieuwe macro's ondersteund voor het debuggen van triggertexpressies en interne acties.
De macro's voor expressiedebugging vereenvoudigen het proces van het debuggen van triggertexpressies:
Macros voor interne acties bevatten de reden waarom een item, een LLD-regel (Low-Level Discovery) of een trigger niet-ondersteund is geraakt:
Voor meer details, zie Ondersteunde macro's.
De nieuwe expressiesyntax voor triggers en berekende items werd geïntroduceerd in Zabbix 5.4. Echter, de oude syntaxis bleef nog in gebruik voor eenvoudige macro's. In de nieuwe versie is de functionaliteit van eenvoudige macro's overgedragen naar expressie-macro's en wordt de nieuwe expressiesyntax gebruikt. Zie de vergelijking hieronder voor details van de verandering:
In Zabbix 6.0 | Voor Zabbix 6.0 |
---|---|
{?avg(/host/key,1h)} Voorbeeld van een expressie-macro in de nieuwe versie. |
{host:key.avg(1h)} Voorbeeld van een eenvoudige macro in eerdere versies. |
De bestaande eenvoudige macro's worden tijdens de upgrade omgezet naar expressie-macro's. Het bereik van expressie-macro's omvat hetzelfde als wat werd aangeboden door eenvoudige macro's. Zo kunnen expressie-macro's worden gebruikt in:
De ondersteuning voor positionele macro's in itemnamen ($1, $2...$9), die al sinds Zabbix 4.0 verouderd was, is volledig verwijderd.
De ondersteuning voor gebruikersmacro's in itemnamen (inclusief ontdekkingsregelnamen), die sinds Zabbix 4.0 verouderd is, is volledig verwijderd.
Bulkverwerking van afhankelijke items is geïntroduceerd in de voorverwerkingswachtrij om de prestaties van het ophalen van Prometheus-metrieken te verbeteren.
Zie Prometheus-controles voor meer details.
Een Prometheus-patroonstap in de preprocessing kan een resultaat opleveren waarbij meerdere regels overeenkomen. Om deze situatie aan te pakken, is een nieuwe resultaatverwerkings parameter toegevoegd aan de Prometheus-patroon preprocessing-stap. Deze parameter maakt het mogelijk om de gegevens van mogelijk meerdere overeenkomende regels te aggregeren door functies zoals som, minimum, maximum, gemiddelde en telling te introduceren.
Het is al een tijdje mogelijk om Prometheus-metrics te verzamelen in Zabbix, maar sommige van de metrics zijn lastig om mee te werken. Specifiek kunnen de metrics van het histogramtype in Zabbix worden weergegeven als meerdere items met dezelfde sleutelnamen, maar verschillende parameters. Hoewel dergelijke items logisch gerelateerd zijn en dezelfde gegevens vertegenwoordigen, is het moeilijk geweest om de verzamelde gegevens te analyseren zonder gespecialiseerde functies. Om deze functionaliteitskloof in de nieuwe versie te dichten, zijn de functies rate() en histogram_quantile() toegevoegd, die hetzelfde resultaat opleveren als hun PromQL-tegenhangers.
Andere nieuwe toevoegingen om deze functionaliteit aan te vullen zijn de functies bucket_rate_foreach() en bucket_percentile(). Voor meer informatie zie:
Het is nu mogelijk om te controleren op monotone toename of afname in itemwaarden met behulp van de nieuwe monoinc() of monodec() history functions.
Een nieuwe history function changecount() is toegevoegd, waarmee het aantal veranderingen tussen aangrenzende waarden kan worden geteld. De functie ondersteunt drie verschillende modi voor het tellen van alle veranderingen, alleen afnames of alleen toenames. Als voorbeeld kan het worden gebruikt om veranderingen in het aantal gebruikers of het aantal verlaagde systeem-uptime bij te houden.
Nieuwe functies zijn toegevoegd om het tellen van specifieke hosts, items of waarden te vereenvoudigen, die worden geretourneerd door foreach functies.
Aggregate functies:
Foreach functie:
Zabbix 5.2 introduceerde nieuwe trendfuncties die nuttig zijn voor baselinemonitoring. Ze vereisen echter nog steeds het definiëren van relatieve drempels (bijvoorbeeld controleren of het webverkeer in september 2021 minder dan 2x hoger is dan in september 2020). Er zijn gebruikssituaties waarin dergelijke drempels moeilijk te definiëren zijn. Bijvoorbeeld, het webverkeer van een nieuwe maar zeer populaire website kan organisch vele malen groeien gedurende een jaar, maar de groeisnelheid is onbekend. Toch moet een plotselinge verkeerspiek als gevolg van een DDOS-aanval een waarschuwing genereren, ongeacht de organische groei van het verkeer.
Anomaliedetectie-algoritmen doen precies dit - ze vinden gegevens die er niet normaal uitzien (uitschieters) in de context van andere waarden.
Er is een nieuwe trendfunctie trendstl() toegevoegd die de 'decompositie'-methode gebruikt om het anomalietarief te berekenen. Het splitst een enkele tijdreekssequentie in drie andere sequenties:
Anomaliedetectie werkt met de restreeks en controleert of er waarden zijn die te ver van de meerderheid van de restwaarden liggen. "Ver" betekent dat de absolute waarde van de restreeks N keer groter is dan de standaardafwijking of het gemiddelde verschil.
De stringfunctie concat staat nu toe om meer dan twee parameters samen te voegen. Het kan worden gebruikt om strings en waarden in verschillende combinaties te combineren of twee of meer waarden aan elkaar toe te voegen. Numerieke gegevenstypen worden ook ondersteund.
Het itemconfiguratieformulier suggereert nu automatisch het overeenkomende type informatie, als de geselecteerde item-sleutel alleen gegevens van een specifiek type retourneert (bijvoorbeeld log[]-item vereist Type informatie: Log). Het parameter Type informatie bevindt zich nu onder het Sleutel-parameter op het primaire tabblad Item en wordt gedupliceerd op het tabblad Voorverwerking als ten minste één voorverwerkingsstap is gespecificeerd. Als Zabbix een mogelijke ongelijkheid detecteert tussen het geselecteerde type informatie en de sleutel, wordt er naast het veld Type informatie een waarschuwingspictogram weergegeven.
Diverse nieuwe items zijn toegevoegd aan Zabbix-agent/agent 2:
Daarnaast:
mode
-parameter (crc32, md5, sha256)mode
-parameter (bytes of lines)Voor meer details zie agent items.
Berekende items ondersteunen nu niet alleen numerieke, maar ook tekst, log en karakter-typen van informatie.
Gebruikersparameters kunnen nu opnieuw worden geladen vanuit het configuratiebestand zonder de agent opnieuw op te starten. Voer hiervoor de nieuwe runtime-beheeroptie userparameter_reload
uit, bijvoorbeeld:
of
UserParameter
is de enige agentconfiguratieoptie die met dit commando zal worden herladen.
Voorheen werden runtime-beheeropties voor Zabbix server en Zabbix proxy niet ondersteund op BSD-gebaseerde systemen. Door de wijziging in de methode voor het overdragen van runtime-opdrachten is deze beperking opgeheven. Nu worden de meeste opdrachten ondersteund op FreeBSD, NetBSD, OpenBSD en andere besturingssystemen uit de *BSD-familie.
Voor de exacte lijst, zie Runtimebeheer voor Zabbix server of proxy.
Externe plugin-loader
Voorheen konden plugins alleen worden gecompileerd in Zabbix Agent 2, wat vereiste dat de agent telkens opnieuw moest worden gecompileerd wanneer u de beschikbare plugins wilt wijzigen. Nu, met de toevoeging van de externe plugin-loader, hoeven plugins niet rechtstreeks in Agent 2 te worden geïntegreerd en kunnen ze worden toegevoegd als aparte externe add-ons (laadbare plugins). Hierdoor wordt het proces voor het maken van aanvullende plugins voor het verzamelen van nieuwe bewakingsmetingen eenvoudiger.
De introductie van laadbare plugins heeft de volgende wijzigingen in de configuratieparameters veroorzaakt:
Aangepaste complexiteitsvereisten voor wachtwoorden kunnen nu worden ingesteld voor Zabbix interne authenticatiemethode. Om te voorkomen dat Zabbix-gebruikers zwakke wachtwoorden instellen, is het mogelijk om de volgende beperkingen af te dwingen:
Om de optimale gebruikerservaring te creëren en de beste prestaties van Zabbix te garanderen in verschillende productieomgevingen, is de ondersteuning voor sommige oudere databasereleases stopgezet. Dit geldt met name voor de databaseversies die hun einde van de levensduur naderen en versies met onopgeloste problemen die de normale prestaties kunnen verstoren.
Vanaf Zabbix 6.0 worden de volgende database versies officieel ondersteund:
Standaard zullen de Zabbix-server en -proxy niet starten als er een niet-ondersteunde versie van de database wordt gedetecteerd. Het is nu mogelijk, hoewel niet aanbevolen, om de controle op de DB-versie uit te schakelen door de AllowUnsupportedDBVersions-configuratieparameter aan te passen voor de server of proxy.
De utf8mb4-codering met de utf8mb4_bin-collatie wordt nu ondersteund voor Zabbix-installaties met de MySQL/MariaDB-database.
Eerder werd alleen utf8-codering ondersteund, wat met MySQL staat voor utf8mb3-codering en dus alleen een subset van juiste UTF-8 karakters ondersteunt. In de nieuwe versie is utf8mb4-ondersteuning toegevoegd met ondersteuning voor het volledige UTF-8 karakterreeks. Oude installaties die utf8mb3 gebruiken, blijven intact en kunnen die codering blijven gebruiken.
Zie ook de instructies voor het uitvoeren van utf8mb4-conversie na de upgrade naar 6.0.
De hulpprogramma's Zabbix get en Zabbix sender ondersteunen nu een time-out parameter -t <seconden>
of --timeout <seconden>
. De geldige reeks is:
De SNMP-gateway kan nu informatie verstrekken over triggers in een probleemstatus en hostinformatie onthullen in triggerdetails.
Bovendien is het nu mogelijk om het verzendtarief van SNMP-traps door de SNMP-gateway te beperken.
De lijst met ondersteunde OIDs is uitgebreid met een nieuwe OID .10 voor een door komma's gescheiden lijst van triggerhostnamen.
Er zijn nieuwe parameters toegevoegd aan het configuratiebestand van de SNMP-gateway:
Voor details, zie Zabbix SNMP Gateway.
De mogelijkheid om gecomprimeerde inhoud te verwerken is toegevoegd aan Zabbix-webmonitoring. Alle coderingsindelingen die worden ondersteund door libcurl worden ondersteund.
De Prometheus-preprocessing querytaal van Zabbix ondersteunt nu twee extra label-overeenkomstoperatoren:
De HTTP-methoden PATCH, HEAD, OPTIONS, TRACE en CONNECT zijn toegevoegd aan de JavaScript-engine. Bovendien staat de engine nu toe om aangepaste HTTP-verzoekmethoden te verzenden met de nieuwe JS-methode HttpRequest.customRequest.
Zie ook: Aanvullende JavaScript-objecten.
Logboeken
Het auditlogboek bevat nu logboekvermeldingen over alle configuratiewijzigingen voor alle Zabbix-objecten, inclusief wijzigingen die zijn opgetreden als gevolg van het uitvoeren van een LLD-regel, een netwerkontdekkingactie, een auto-registratieactie of een scriptuitvoering. Eerder werden configuratiewijzigingen die werden geïnitieerd vanuit de Zabbix-server, bijvoorbeeld als gevolg van het uitvoeren van een ontdekkingsregel, niet geregistreerd. Nu zullen dergelijke objectwijzigingen worden opgeslagen als auditvermeldingen die zijn toegeschreven aan de gebruiker "System".
Logboekfilter
Er is functionaliteit toegevoegd om logboekvermeldingen te filteren op basis van de frontend-operatie die deze vermeldingen heeft veroorzaakt. Als er meerdere logboekvermeldingen zijn gemaakt als gevolg van een enkele bewerking, bijvoorbeeld het koppelen/ontkoppelen van een sjabloon, zullen dergelijke vermeldingen dezelfde Recordset-ID hebben.
Auditinstellingen
Er is een nieuwe sectie Audit log toegevoegd aan het menu Administratie→Algemeen, waarmee je auditlogboekregistratie kunt in- of uitschakelen. De instellingen voor onderhoud van auditlogboeken, die eerder onder de sectie Housekeeper stonden, zijn ook verplaatst naar de nieuwe sectie Audit log.
Ondersteuning voor PCRE2 is toegevoegd en Zabbix-installatiepakketten voor RHEL 7 en nieuwer, SLES (alle versies), Debian 9 en nieuwer, Ubuntu 16.04 en nieuwer zijn bijgewerkt om PCRE2 te gebruiken. PCRE wordt nog steeds ondersteund, maar Zabbix kan alleen worden gecompileerd met een van de bibliotheken PCRE of PCRE2, beide kunnen niet tegelijkertijd worden gebruikt.
Het verwerken van ODBC-controles is verplaatst van reguliere poller-processen naar aparte server-/proxy-processen genaamd ODBC-pollers. Deze wijziging maakt het mogelijk om het aantal verbindingen met de database dat door poller-processen wordt gemaakt te beperken. Voorheen werden ODBC-controles uitgevoerd door reguliere pollers, die ook werkten met Zabbix-agentitems, SSH-controles, enz.
Een nieuwe configuratieparameter StartODBCPollers is toegevoegd aan de Zabbix server- en proxy-configuratiebestanden.
U kunt het interne item zabbix[process,<type>] gebruiken om de belasting van ODBC-pollers te bewaken.
Er is een nieuwe integratie beschikbaar waarmee je de webhook-mediatype kunt gebruiken om GitHub-issues te maken vanuit Zabbix-meldingen.
Nieuwe officiële sjablonen zijn beschikbaar voor bewaking.
Om Kubernetes-bewaking mogelijk te maken, moet je gebruikmaken van de nieuwe tool Zabbix Helm Chart, die Zabbix-proxy en Zabbix-agents in het Kubernetes-cluster installeert.
Om meer te weten te komen over het configureren van sjablonen, zie Bediening van HTTP-sjabloon.
Je kunt deze sjablonen verkrijgen:
Om sjabloonskoppeling duidelijker te maken, is deze nu geplaatst in het eerste tabblad van de host-, host-prototype- en sjabloonconfiguratieformulieren, evenals de host/sjabloon massabijwerkingsformulieren.
Dienovereenkomstig is een apart tabblad voor sjabloonskoppeling verwijderd uit alle respectieve formulieren.
In een gerelateerde ontwikkeling zijn in de configuratie van het host-prototype de velden voor selectie van hostgroep/hostgroep-prototype ook verplaatst van een apart tabblad naar het eerste tabblad.
Zabbix server- en proxy-runtime-opdrachten worden nu verzonden via een socket in plaats van Unix-signalen. Deze wijziging heeft de gebruikerservaring bij het werken met runtime-beheeropties verbeterd:
Een nieuwe Geomap-widget voor dashboards is geïntroduceerd, waarmee hosts op geografische kaarten kunnen worden weergegeven. Voor meer informatie zie de Geomap dashboardwidget en geografische kaarten.
Er is een subfilter toegevoegd in de sectie Laatste gegevens. Het subfilter is handig voor snel toegang met één klik tot groepen gerelateerde items.
Het subfilter toont klikbare links waarmee je items kunt filteren op basis van een gemeenschappelijke entiteit - de host, tagnaam of tagwaarde. Zodra de entiteit wordt aangeklikt, worden de items onmiddellijk gefilterd.
Voor meer details, zie de sectie laatste gegevens.
De grafiekpagina in Monitoring → Hosts → Grafieken heeft verschillende verbeteringen in gebruiksgemak gekregen:
Voor meer details, zie de grafiek pagina.
Het is nu ook mogelijk om nieuwe hosts aan te maken vanuit Monitoring → Hosts.
De knop Host aanmaken is beschikbaar voor beheerders en superbeheerders.
Het formulier voor het aanmaken en bewerken van hosts wordt nu geopend in een modaal (pop-up) venster, in Configuratie → Hosts, Monitoring → Hosts en op elke pagina waar een hostmenu of andere directe link naar de hostconfiguratie staat.
Directe links naar de hostbewerkingspagina werken nog steeds en openen de hostbewerkingspagina in de volledige pagina.
Er is een nieuw contextmenu voor items geïntroduceerd in Laatste gegevens waarmee je toegang kunt krijgen tot de itemconfiguratie en beschikbare grafieken:
Daarentegen is er een nieuw contextmenu geïntroduceerd in de itemlijst in het configuratiemenu waarmee je toegang kunt krijgen tot de laatste gegevens voor het item en andere nuttige opties:
Dit menu vervangt de wizardoptie in eerdere versies. Een vergelijkbaar menu is ook geïntroduceerd voor sjabloonitems en itemprototypes.
Bij het configureren van actiebewerkingen is het nu mogelijk om meldingen over geannuleerde escalaties te annuleren door het selectievakje van de overeenkomstige optie niet aan te vinken.
Er zijn verschillende verbeteringen doorgevoerd in de sectie Laatste gegevens:
De sectie Overzicht in het Monitoring-menu is volledig verwijderd. Dezelfde functionaliteit kan nog steeds worden benaderd via de Gegevensoverzicht en Triggeroverzicht dashboard-widgets.
Om de wijzigingen in de auditlogboekfunctionaliteit te implementeren, moest de eerder bestaande databasestructuur opnieuw worden bewerkt. Tijdens de upgrade worden de DB-tabellen auditlog
en auditlog_details
vervangen door de nieuwe tabel auditlog
met een ander formaat. Bestaande auditlogboekvermeldingen worden verwijderd.
De Zabbix server en proxy zullen nu de databaseversie controleren voordat ze worden gestart en zullen niet starten als de versie buiten het ondersteunde bereik valt. Voor meer details, zie databases.
Zabbix ondersteunt nu zowel PCRE als PCRE2. Zabbix-pakketten voor RHEL 7 en nieuwer, SLES (alle versies), Debian 9 en nieuwer, Ubuntu 16.04 en nieuwer zijn bijgewerkt om te compileren met PCRE2 in plaats van PCRE. Bij het compileren vanaf bronnen kunnen gebruikers kiezen om de ''--with-libpcre'' of ''--with-libpcre2'' vlag op te geven. Als je een bestaande installatie upgrade, kan het wijzigen van PCRE naar PCRE2 ertoe leiden dat sommige reguliere expressies zich anders gedragen - zie Bekende problemen voor details.
Aparte configuratiebestanden
Elke Zabbix Agent 2-plugin heeft nu een apart configuratiebestand. Standaard bevinden deze bestanden zich in de directory ./zabbix_agent2.d/plugins.d/
. Het pad wordt gespecificeerd in de Include
-parameter van het configuratiebestand van Agent 2 en kan relatief zijn ten opzichte van de locatie van het zabbix_agent2.conf- of zabbix_agent2.win.conf-bestand.
De set beschikbare opties voor baselinemonitoring is uitgebreid met twee nieuwe functies: baselinedev en baselinewma.
In de context van deze functies verwijst de term 'seizoen' naar een configureerbare tijdsperiode, die uren, dagen, weken, maanden of jaren kan zijn. De lengte van een seizoen en het aantal te analyseren seizoenen wordt ingesteld in de functieparameters.
Zie history functions voor meer informatie.