10 Upgrade notities voor 6.0.0

Deze notities zijn voor het upgraden van Zabbix 5.4.x naar Zabbix 6.0.0. Alle notities zijn gegroepeerd in:

  • Kritiek - de meest kritieke informatie met betrekking tot het upgradeproces en de veranderingen in Zabbix-functionaliteit
  • Informatief - alle overige informatie die de veranderingen in Zabbix-functionaliteit beschrijft

Het is mogelijk om te upgraden naar Zabbix 6.0.0 vanaf versies voorafgaand aan Zabbix 5.4.0. Zie de sectie upgradeprocedure voor alle relevante informatie over het upgraden van eerdere Zabbix-versies.

Kritiek

Om een succesvolle Zabbix server upgrade op MySQL en MariaDB te voltooien, moet je mogelijk GLOBAL log_bin_trust_function_creators = 1 instellen in MySQL als binaire logging is ingeschakeld, er geen supergebruikersrechten zijn en log_bin_trust_function_creators = 1 niet is ingesteld in het MySQL-configuratiebestand.

Om de variabele in te stellen via de MySQL-console, voer je het volgende uit:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Nadat de upgrade succesvol is voltooid, kan log_bin_trust_function_creators worden uitgeschakeld:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;
Databases

Om een optimale gebruikerservaring te creëren en de beste Zabbix-prestaties in verschillende productieomgevingen te garanderen, is de ondersteuning voor sommige oudere databaseversies stopgezet. Dit is met name van toepassing op de databaseversies die hun einde van de servicelevensduur naderen en versies met niet-opgeloste problemen die de normale prestaties kunnen verstoren.

Vanaf Zabbix 6.0 worden de volgende database versies officieel ondersteund:

  • MySQL/Percona 8.0.X
  • MariaDB 10.5.X - 10.6.X
  • PostgreSQL 13.X
  • Oracle 19c - 21c
  • TimescaleDB 2.0.1-2.3
  • SQLite 3.3.5-3.34.X

Standaard zullen de Zabbix-server en -proxy niet starten als er een niet-ondersteunde databaseversie wordt gedetecteerd. Het is nu mogelijk, hoewel niet aanbevolen, om de DB-versiecontrole uit te schakelen door de configuratieparameter AllowUnsupportedDBVersions aan te passen voor de server of proxy.

Primaire sleutels

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 voorafgaande installaties zijn beschikbaar voor MySQL/MariaDB, PostgreSQL, TimescaleDB v1 en v2, en Oracle.

PCRE2-ondersteuning

Ondersteuning voor PCRE2 is toegevoegd. 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.

De volgende Zabbix-installatiepakketten zijn bijgewerkt en gebruiken nu PCRE2:

  • RHEL 7 en nieuwer
  • SLES (alle versies)
  • Debian 9 en nieuwer
  • Ubuntu 16.04 en nieuwer

Houd er rekening mee dat je mogelijk enkele reguliere expressies moet bijwerken na de overstap naar PCRE2. Met name het patroon ^[\w-\.] moet worden gewijzigd in ^[-\\w\\.] om correct te blijven werken - zie Bekende problemen voor een meer gedetailleerde uitleg.

Aparte verwerking voor ODBC-controles

De verwerking van ODBC-controles wordt nu uitgevoerd door aparte server-/proxy-processen genaamd odbc pollers. Voorheen werden ODBC-controles uitgevoerd door reguliere pollers, die ook werken met Zabbix agent items, SSH-controles, enzovoort.

Er is een nieuwe configuratieparameter StartODBCPollers toegevoegd aan de Zabbix server en proxy configuratiebestanden, met de standaardwaarde 1. Deze parameter moet mogelijk worden aangepast op basis van het aantal ODBC-controles dat door de server of proxy wordt uitgevoerd. Je wilt mogelijk ook het aantal reguliere pollers verminderen dat is ingesteld via de parameter StartPollers.

Het interne item zabbix[process,<type>] kan worden gebruikt om de belasting van de ODBC-pollers te monitoren.

Auditlog

Om de auditlogboeking in Zabbix te verbeteren en de Auditlogboek compleet en betrouwbaar te maken, moest de eerder bestaande databasestructuur worden herzien. Tijdens een upgrade worden de DB-tabellen auditlog en auditlog_details vervangen door de nieuwe tabel auditlog met een ander formaat. Oude auditloggegevens worden niet bewaard.

Er is een nieuwe sectie Auditlogboek toegevoegd aan het menu Administratie→Algemeen waarmee auditlogboeking kan worden ingeschakeld (standaard) of uitgeschakeld. De instellingen voor opruimen (housekeeping) van auditloggegevens, voorheen te vinden onder de sectie Opruimen, zijn ook verplaatst naar de nieuwe sectie Auditlogboek. Bestaande instellingen voor opruimen worden behouden.

API-wijzigingen

Bekijk de lijst met API-wijzigingen in Zabbix 6.0.0.

Eenvoudige macros vervangen door expressie-macros

De functionaliteit van eenvoudige macros is overgebracht naar expressie-macros. De bestaande eenvoudige macros worden tijdens de upgrade omgezet naar expressie-macros. Macros die niet kunnen worden omgezet zonder de lengtelimiet te overschrijden, worden niet omgezet en er wordt een waarschuwing in het logbestand afgedrukt.

Macro's

Positionele macros niet langer ondersteund

De ondersteuning voor positionele macros in itemnamen ($1, $2...$9), die sinds Zabbix 4.0 verouderd zijn, is volledig verwijderd.

Gebruikermacros in itemnaam niet langer ondersteund

De ondersteuning voor gebruikermacros in itemnamen (inclusief namen van ontdekkingsregels), die sinds Zabbix 4.0 verouderd zijn, is volledig verwijderd.

Monitoring → Overzicht verwijderd

De sectie Overzicht in het menu Monitoring is volledig verwijderd. Dezelfde functionaliteit kan nog steeds worden benaderd door gebruik te maken van de dashboardwidgets Gegevensoverzicht en Triggere-overzicht widgets.

Wijzigen van afhankelijkheid voor overgenomen triggers uitgeschakeld

De mogelijkheid om afhankelijkheden voor triggers die zijn overgenomen van een sjabloon te wijzigen, is nu uitgeschakeld. De reden hiervoor is dat bij het bijwerken van de afhankelijkheden van een sjabloontrigger, de afhankelijkheden van overgenomen triggers worden overschreven. Het is dus betrouwbaarder om trigger-afhankelijkheden alleen op het niveau van het hoofdsjabloon in te stellen.

Informatief

Verouderde interne items voor geschiedenis/trends

De volgende interne items zijn nu verouderd en worden verwijderd in een toekomstige grote release:

  • zabbix[history]
  • zabbix[history_log]
  • zabbix[history_str]
  • zabbix[history_text]
  • zabbix[history_uint]
  • zabbix[trends]
  • zabbix[trends_uint]
Zabbix agent 2-plugins

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 parameter Include van het configuratiebestand van agent 2 en kan relatief zijn ten opzichte van de locatie van het bestand zabbix_agent2.conf of zabbix_agent2.win.conf.

Gebruikerswachtwoorden

Voorheen werden spaties in gebruikerswachtwoorden automatisch verwijderd in zowel het gebruikersconfiguratieformulier als het inlogformulier. Na de invoering van configureerbare vereisten voor wachtwoordcomplexiteit, worden spaties in wachtwoorden niet langer verwijderd. Gebruikers die dachten dat er spaties in hun wachtwoorden stonden, kunnen zich niet meer zoals gewoonlijk aanmelden en moeten hun 'oude' wachtwoord zonder spaties invoeren. Om wachtwoorden met spaties te blijven gebruiken, moeten ze hun wachtwoorden opnieuw aanmaken.

Bulkverwerking voor Prometheus-metrics

Omdat er in de voorverwerkingswachtrij voor Prometheus-metrics bulkverwerking van afhankelijke items is geïntroduceerd, worden afhankelijke items niet langer parallel verwerkt, wat invloed kan hebben op de snelheid waarmee ze worden verwerkt.

Overdracht van runtime-opdrachten

Zabbix server- en proxy-runtime-opdrachten worden nu verzonden via een socket in plaats van Unix-signalen. Deze wijziging maakt het mogelijk om de gebruikerservaring te verbeteren bij het werken met runtime-besturingsopties:

  • De resultaten van de opdrachtuitvoering worden nu weergegeven op de console.
  • Het is mogelijk om langere invoerparameters te verzenden, zoals de naam van een HA-node in plaats van het node-nummer.
Favoriete aangepaste grafieken niet langer ondersteund

Het is niet langer mogelijk om aangepaste grafieken toe te voegen aan favorieten in Monitoring -> Hosts -> Graphs. Na de upgrade worden alle bestaande aangepaste grafieken uit favorieten verwijderd.

Service monitoring

Several major updates related to service monitoring functionality have been made. An existing service tree configuration will be changed during an upgrade in the following way:

  • Trigger-based dependencies between problems and services are replaced by tag-based mapping of services to problems. Triggers that have been linked to a service will get a new tag ServiceLink : <trigger ID>:<trigger name> (tag value will be truncated to 32 characters). Linked services will get the same problem tag.

  • Hard and soft dependencies no longer exist. Instead, a service will have multiple parent services.

  • The 'Status calculation algorithm' will be upgraded using the following rules:

    • Do not calculate → Set status to OK
    • Problem, if at least one child has a problem → Most critical of child services
    • Problem, if all children have problems → Most critical if all children have problems
  • SLA is no longer a service attribute, but a separate entity which can be assigned to multiple services. During an upgrade, identical SLAs will be grouped and one SLA per each group will be created. Services will get a new service tag SLA:<ID> for matching.

See also: