On this page

11 Upgrade-Hinweise für 7.0.0

Diese Hinweise gelten für das Upgrade von Zabbix 6.4.x auf Zabbix 7.0.0.

Alle Hinweise sind in folgende Kategorien unterteilt:

  • Breaking changes - Änderungen, die bestehende Installationen beeinträchtigen können, sowie andere wichtige Informationen zum Upgrade-Prozess
  • Other - alle übrigen Informationen, die die Änderungen an der Zabbix-Funktionalität beschreiben

Siehe auch:

  • Upgrade procedure für alle relevanten Informationen zum Upgrade von Versionen vor Zabbix 6.4.0;
  • Upgrading HA cluster für Anweisungen zum Upgrade von Servern in einem High Availability- (HA-) Cluster.

Upgrade-Prozess

Um ein erfolgreiches Upgrade des Zabbix-Servers auf MySQL/MariaDB abzuschließen, müssen Sie möglicherweise GLOBAL log_bin_trust_function_creators = 1 in MySQL setzen, wenn das binäre Logging aktiviert ist, keine Superuser-Rechte vorhanden sind und log_bin_trust_function_creators = 1 nicht in der MySQL-Konfigurationsdatei gesetzt ist.

Um die Variable über die MySQL-Konsole zu setzen, führen Sie Folgendes aus:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Sobald das Upgrade erfolgreich abgeschlossen wurde, kann diese Option deaktiviert werden:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Breaking changes

Server-Absturz mit TimescaleDB nach dem Upgrade auf 7.0.1 von 7.0.0

Beim Upgrade auf Zabbix 7.0.1 (oder höher) von Zabbix 7.0.0 mit TimescaleDB kommt es zu einem Server-Absturz. Dieses Problem wird durch einen Workaround für ein Problem mit einem Komprimierungsjob in der Tabelle auditlog in Zabbix 7.0 verursacht, der die Komprimierungsrichtlinie der Tabelle auditlog irreversibel ändert.

Weitere Informationen zur manuellen Behebung der Tabelle auditlog finden Sie unter bekannte Probleme.

Wenn Sie noch nicht auf Zabbix 7.0.0 aktualisiert haben, beachten Sie bitte, dass es bei Upgrades von Zabbix-Versionen vor 7.0 auf 7.0.1 keine solchen Probleme geben sollte. Anweisungen zum Upgrade finden Sie unter Upgrading TimescaleDB schema.

Datenbank-Wiederherstellungsfehler mit PostgreSQL/TimescaleDB nach dem Upgrade von 7.0.0-7.0.4

Die Verwendung von pg_restore zum Wiederherstellen eines mit Zabbix 7.0.0-7.0.4 erstellten PostgreSQL- oder TimescaleDB-Backups führt zu einem Fehler wegen der fehlenden Funktion base36_decode, wodurch die Wiederherstellung fehlschlägt. Dieser Fehler tritt auf, wenn ein mit pg_dump erstelltes Backup wiederhergestellt wird.

Weitere Informationen zur manuellen Behebung dieses Problems vor dem Erstellen des Backups finden Sie unter bekannte Probleme.

Wenn Sie noch nicht auf Zabbix 7.0.0 aktualisiert haben, beachten Sie bitte, dass bei Upgrades von Zabbix-Versionen vor 7.0 auf 7.0.5 keine solchen Probleme auftreten sollten. Anweisungen zum Upgrade finden Sie unter Upgrading TimescaleDB schema.

Mindest erforderliche PHP-Version

Die mindestens erforderliche PHP-Version wurde von 7.4.0 auf 8.0.0 angehoben.

Remote-Befehle auf aktiven Agenten

Remote-Befehle können jetzt auch auf einem 7.0-Agent ausgeführt werden, der nur im aktiven Modus betrieben wird.

Beachten Sie, dass für Skripte, die nur auf einem aktiven Agent ausgeführt werden, wahrscheinlich das standardmäßige Server- oder Proxy-Timeout erhöht werden muss.
Das Server-/Proxy-Timeout muss höher sein als die Aktualisierungsfrequenz der aktiven Prüfung, andernfalls kann das Server-/Proxy-Timeout überschritten werden, bevor der aktive Agent das Skript überhaupt empfängt.

Escaping von Backslashes in History-Funktionsparametern

Die korrekte Maskierung von Backslashes wurde in String-Parametern von History-Funktionen hinzugefügt.

Da beim Upgrade von Zabbix-Versionen vor 7.0 zusätzliche Backslashes hinzugefügt werden, führt dies zu längeren Parametern, was dazu führen kann, dass Auslöserfunktionen fehlschlagen, wenn die Parameterlänge die maximale Datengröße von 255 Zeichen überschreitet.

Um dieses Problem zu vermeiden, wird empfohlen, lange Parameter vor dem Upgrade manuell in benutzerdefinierte Makros zu verschieben.

Beachten Sie, dass seit Zabbix 7.0.11 zusätzliche Prüfungen für die resultierende Parameterlänge bei Upgrades von Zabbix-Versionen vor 7.0 hinzugefügt wurden. Wenn die resultierende Länge die maximale Größe überschreitet, werden solche Parameter nicht aktualisiert, und es wird eine Warnung in den Protokollen ausgegeben, die Benutzer auffordert, die aufgeführten Parameter manuell zu korrigieren.

Siehe auch escaping-bezogene Upgrade-Probleme.

Standardmäßiger Speicherort für die Konfigurationsdatei des Windows-Agenten

Der standardmäßige Speicherort, an dem der Zabbix Agent unter Windows nach der Konfigurationsdatei sucht, wurde geändert. Jetzt sucht der Agent danach in dem Verzeichnis, in dem sich die Agent-Binärdatei zabbix_agentd.exe befindet (statt wie bisher in C:\zabbix_agentd.conf).

Zabbix Agent 2 unter Windows suchte bereits nach der standardmäßigen Konfigurationsdatei in dem Verzeichnis, in dem sich die Binärdatei zabbix_agent2.exe befindet. In der neuen Version erwartet Agent 2 jedoch, dass die Konfigurationsdatei zabbix_agent2.conf heißt (statt zabbix_agent2.win.conf).

Siehe auch: Zabbix Agent unter Windows installieren.

Leere Werte in der Agent 2-Plugin-Konfiguration zulässig

Leere Werte sind jetzt in pluginbezogenen Konfigurationsparametern auf dem Zabbix Agent 2 zulässig.

TimescaleDB 1.x wird nicht mehr unterstützt

Die Unterstützung für TimescaleDB 1.x wurde entfernt.

Double-Precision-Datentypen auf TimescaleDB

Vor dem Upgrade auf Zabbix 7.0.0 ist es erforderlich, TimescaleDB manuell auf die Verwendung von Double-Precision-Datentypen zu aktualisieren, wenn TimescaleDB mit Komprimierung verwendet wird. Sie können erkennen, dass TimescaleDB keine Double-Precision-Datentypen verwendet, anhand der Warnung im Abschnitt Systeminformationen des Frontend oder im Zabbix-Server-Log: "Database is not upgraded to use double precision values. Support for the old numeric type will be removed in future versions."

Weitere Informationen finden Sie unter Upgrade auf numerische Werte mit erweitertem Bereich.

Auditlog in eine Hypertable auf TimescaleDB konvertiert

Die Tabelle auditlog wurde in Neuinstallationen in eine Hypertable auf TimescaleDB konvertiert, um von der automatischen Partitionierung nach Zeit (standardmäßig 7 Tage) und einer besseren Leistung zu profitieren.

Um vorhandene Installationen erfolgreich zu aktualisieren, siehe TimescaleDB-Schema aktualisieren.

Siehe auch: Unterstützte TimescaleDB-Versionen

Separate Datenbanktabelle für Proxies

Proxy-Datensätze wurden aus der Tabelle hosts ausgelagert und werden nun in der neuen Tabelle proxy gespeichert.

Außerdem wurden die Betriebsdaten von Proxies (wie letzter Zugriff, Version, Kompatibilität) aus der Tabelle host_rtdata ausgelagert und werden nun in der neuen Tabelle proxy_rtdata gespeichert.

Es gibt außerdem ein neues proxy-Objekt in der API. Alle Operationen mit Proxies sollten aktualisiert werden, damit sie über dieses neue proxy-Objekt ausgeführt werden.

Zeitüberschreitung bei der Abfrageausführung für Datenbanküberwachungs-Datenpunkte

Auf Grundlage der Änderungen an der Konfiguration der Datenpunkt-Zeitüberschreitung sind sowohl die ODBC-Anmeldezeitüberschreitung als auch die Zeitüberschreitung bei der Abfrageausführung für Datenbanküberwachungs-Datenpunkte nun auf den Wert des Parameters Timeout beschränkt, der im Formular zur Datenpunktkonfiguration festgelegt ist.

Aktualisierte Agent/Agent2-Datenpunkte

  • wmi.get und wmi.getall geben bei Verwendung mit Zabbix agent 2 jetzt ein JSON mit booleschen Werten zurück, die als Zeichenfolgen dargestellt werden (zum Beispiel "RealTimeProtectionEnabled": "True" statt des zuvor zurückgegebenen "RealTimeProtectionEnabled": true), um dem Ausgabeformat dieser Datenpunkte auf Zabbix agent zu entsprechen;
  • oracle.ts.stats verfügt über einen neuen Parameter conname, mit dem der Name des Ziel-Containers angegeben werden kann. Das JSON-Format der zurückgegebenen Daten wurde aktualisiert. Wenn in den Schlüsselparametern weder tablespace, type noch conname angegeben ist, enthalten die zurückgegebenen Daten eine zusätzliche JSON-Ebene mit dem Containernamen, sodass zwischen Containern unterschieden werden kann.
  • net.dns.*-Datenpunkte können nicht mehr ohne den Parameter name konfiguriert werden. Obwohl der Parameter name immer als obligatorisch aufgeführt war, wurde bei seinem Fehlen bisher ein Standardwert (zabbix.com) verwendet; dies ist nun nicht mehr der Fall.

Die Liste der Datenpunktänderungen, die keine Kompatibilität brechen, finden Sie unter Was ist neu in Zabbix 7.0.0.

SNMP-Traps mit Zabbix-Hochverfügbarkeit

Zabbix kann nun SNMP-Trap-Dateien aus dem richtigen Verzeichnis lesen, falls in einer Hochverfügbarkeitskonfiguration auf den aktiven Knoten umgeschaltet wird.

Damit diese Funktionalität funktioniert, muss jedoch das Zeitformat in allen Bash-, Perl- und SNMPTT-Skripten auf "%Y-%m-%dT%H:%M:%S%z" aktualisiert werden (d. h. 2024-01-10T11:56:14+0300).

Erhöhte maximale Größe und Anzahl von Dashboard-Widgets

Die Standardbreite wurde für alle Widgets um das Dreifache erhöht. Beachten Sie, dass Sie bei der Verwendung benutzerdefinierter Widgets möglicherweise die entsprechenden Parameter der Datei manifest.json aktualisieren müssen (zum Beispiel muss bei der Konfiguration eines angepassten Clock-Widgets width von 4 auf 12 geändert werden).

Ein Widget kann nun bis zu 72 Spalten breit sein (zuvor 24) und 1 bis 64 Zeilen hoch (zuvor 2 bis 32). Das Dashboard kann daher jetzt horizontal bis zu 72 Widgets aufnehmen.

Item history und Plain text Widgets

Das neue Dashboard-Widget Item history hat das Plain text-Widget ersetzt und bietet mehrere Verbesserungen.

Im Gegensatz zum Plain Text-Widget, das nur die neuesten Daten eines Datenpunkts als einfachen Text anzeigte, unterstützt das Item History-Widget verschiedene Anzeigeoptionen für mehrere Datenpunkttypen (numerisch, Zeichen, Protokoll, Text und binär). Es kann beispielsweise Fortschrittsbalken oder Anzeigen, Bilder für binäre Datentypen (nützlich für Browser-Datenpunkte) und hervorgehobene Textwerte (nützlich für die Überwachung von Protokolldateien) anzeigen.

Nach dem Upgrade werden alle zuvor konfigurierten Plain text-Widgets automatisch durch Item history-Widgets ersetzt, wobei die gleichen Konfigurationseinstellungen beibehalten werden. Allerdings müssen alle API-Skripte, die auf das Plain Text-Widget verweisen, manuell aktualisiert werden.

Änderungen bei der Auflösung bestimmter integrierter Makros nach dem Upgrade auf 7.0.4

In Zabbix 7.0.4 wurde das Verhalten bei der Auflösung der Makros {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {EVENT.CAUSE.*}, {EVENT.TAGS.*} und {EVENT.SYMPTOMS} korrigiert, um es an andere integrierte Makros anzugleichen. Sie werden nun zu *UNKNOWN* aufgelöst, wenn bei der Auswertung ihres Werts ein Fehler auftritt.

Als Folge dieser Änderung ist es erforderlich, die Medientypen für die folgenden Integrationen zu aktualisieren, um die ordnungsgemäße Funktion sicherzustellen: iTop, Jira Service Desk, ManageEngine ServiceDesk, SolarWinds Service Desk.

Diese Änderung kann sich auch auf benutzerdefinierte Skripte oder Integrationen auswirken, die die oben genannten Makros verwenden.

API-Änderungen

Siehe die Liste der API-Änderungen in Zabbix 7.0.0.

Sonstiges

Oracle DB veraltet

Die Unterstützung für Oracle als Backend-Datenbank ist seit Zabbix 7.0 veraltet und wird voraussichtlich in zukünftigen Versionen vollständig entfernt.

Software-Update-Prüfung

Eine Software-Update-Prüfung ist nun standardmäßig für neue und bestehende Installationen aktiviert - das Zabbix Frontend kommuniziert mit dem öffentlichen Zabbix-Endpunkt, um nach Updates zu suchen.

Sie können diese Prüfung deaktivieren, indem Sie AllowSoftwareUpdateCheck=0 in der Server-Konfiguration setzen.

Gleitkommawerte für Ganzzahl-Datenpunkte gekürzt

Wenn nun für einen vorzeichenlosen Ganzzahl-Datenpunkt ein Gleitkommawert empfangen wird, wird der Wert um den Dezimalteil gekürzt und als Ganzzahl gespeichert. Zuvor führte ein Gleitkommawert dazu, dass ein Ganzzahl-Datenpunkt als nicht unterstützt markiert wurde.

US-Zeitformat

Zeit- und Datumsanzeigen im Frontend entsprechen nun dem US-Standard für die Anzeige von Zeit und Datum, wenn die Standardsprache des Frontends (en_US) verwendet wird.

Before Now

Asynchrone Poller

Nach dem Upgrade werden alle Agent-, HTTP-Agent- und walk[OID]-SNMP-Prüfungen zu asynchronen Pollern verschoben. Neu hinzugefügte get[OID]-Datenpunkte verwenden standardmäßig asynchrone Poller.

Erkennen von cURL-Bibliotheksfunktionen zur Laufzeit

Früher wurden die Funktionen der cURL-Bibliothek zur Build-Zeit von Zabbix Server, Proxy oder Agent erkannt. Wenn cURL-Funktionen aktualisiert wurden, musste die jeweilige Zabbix-Komponente neu kompiliert werden, um sie nutzen zu können.

Jetzt ist nur noch ein Neustart erforderlich, damit aktualisierte Funktionen der cURL-Bibliothek in Zabbix verfügbar werden. Eine Neukompilierung ist nicht mehr erforderlich. Dies gilt für Zabbix Server, Proxy oder Agent.

Zusätzlich:

  • Die minimal erforderliche cURL-Version zur Build-Zeit wurde auf 7.19.1 angehoben;
  • Beim Build prüft Zabbix nur, ob die cURL-Bibliothek verfügbar ist (falls angefordert) und die Versionsanforderung erfüllt;
  • Beim Ausgeben eines Laufzeitfehlers der cURL-Bibliothek wird die verwendete Version hinzugefügt (z. B. "cURL library does not support SSL/TLS (using version 7.88.1)");
  • Wenn Zabbix Server gestartet wird und die SMTP-Authentifizierung protokolliert wird, schreibt es die Verfügbarkeit der SMTP-Authentifizierung der verwendeten cURL-Bibliothek.

Änderungen an der Timeout-Konfiguration für Datenpunkte

Beim Upgrade werden globale Timeouts für alle unterstützten Datenpunkt-Typen basierend auf dem Wert des Parameters Timeout aus der Konfigurationsdatei des Servers festgelegt. Wenn ein Proxy konfiguriert ist, verwendet er standardmäßig die globalen Timeout-Einstellungen des Servers.

Bei Verwendung eines aktualisierten Servers (Version 7.0.0 oder neuer) mit einem älteren Proxy oder Agent funktioniert der Proxy oder Agent weiterhin wie zuvor:

  • der Proxy verwendet den Parameter Timeout aus der Konfigurationsdatei des Proxys;
  • der Agent verwendet den Parameter Timeout aus der Konfigurationsdatei des Agents.

Die Timeout-Parameter wurden aus den Konfigurationsdateien der Plugins Modbus und MQTT entfernt. Die Timeouts für die Ausführung von Anfragen können jetzt im Formular Datenpunktkonfiguration festgelegt werden.

Browser-Elemente

Ein neuer Elementtyp - Browser-Element - wurde zu Zabbix hinzugefügt und ermöglicht die Überwachung komplexer Websites und Webanwendungen mithilfe eines Browsers. Browser-Elemente erlauben die Ausführung von benutzerdefiniertem JavaScript-Code, um browserbezogene Aktionen wie Klicken, Texteingabe, Navigation durch Webseiten usw. zu simulieren.

Zusätzlich führt diese Funktion die folgenden Änderungen ein:

  • Die Vorlage Website by Browser wurde zu den Vorlagen out of the box hinzugefügt;
  • Der Elementtyp ITEM_TYPE_BROWSER (22) wurde zum Export/Import der Konfiguration von Vorlage- oder Host-Elementen, Low-Level-Discovery-Regeln und Elementprototypen hinzugefügt;
  • Die Zabbix-Konfigurationsdateiparameter StartBrowserPollers und WebDriverURL für Server/Proxy wurden hinzugefügt;
  • Das Browser-Element-Timeout wurde zu den Proxy-Timeouts oder globalen-Timeouts hinzugefügt (wenn kein Proxy verwendet wird);
  • Der Befehlszeilenparameter -w <webdriver url> zum Aktivieren der Browser-Überwachung wurde zum zabbix_js-Befehlszeilenwerkzeug hinzugefügt.

Parallelität bei der Netzwerkerkennung

In der neuen Version wurde der Prozess der Netzwerkerkennung überarbeitet, um Parallelität zwischen Dienstprüfungen zu ermöglichen.
Zusätzlich wurde ein neuer Discovery-Manager-Prozess eingeführt, zusammen mit einer konfigurierbaren Anzahl von Discovery-Workern (oder Threads). Der Discovery-Manager verarbeitet Erkennungsregeln und erstellt für jede Regel einen Discovery-Job mit Aufgaben (Dienstprüfungen). Die Dienstprüfungen werden von den Discovery-Workern aufgenommen und ausgeführt.

Der Parameter StartDiscoverers bestimmt nun die Gesamtzahl der für die Erkennung verfügbaren Discovery-Worker.
Die Standardanzahl von StartDiscoverers wurde von 1 auf 5 erhöht, und der Bereich von 0-250 auf 0-1000 erweitert. Die discoverer-Prozesse aus früheren Zabbix-Versionen wurden entfernt.

Zusätzlich ist die Anzahl der verfügbaren Worker pro Regel nun im Frontend konfigurierbar. Dieser Parameter ist optional.
Während des Upgrades wird er wie in früheren Zabbix-Versionen auf "One" gesetzt.

Icons durch Schriftarten ersetzt

Alle Icons im Frontend wurden von Icon-Bildersheets auf Schriftarten umgestellt.

Filter für aktuelle Daten

In ÜberwachungAktuelle Daten werden der Unterfilter und die Daten standardmäßig nicht mehr angezeigt, wenn der Filter nicht gesetzt ist. Beachten Sie jedoch, dass zuvor gespeicherte Filter, die nur mit dem Unterfilter festgelegt wurden, davon nicht betroffen sind. In solchen Fällen bleibt der Unterfilter sichtbar, und die Daten werden auch dann angezeigt, wenn der Hauptfilter nicht gesetzt ist.

Konfigurationsparameter

Der Standardwert für mehrere Konfigurationsparameter wurde geändert:

  • Der Konfigurationsparameter BufferSize für Zabbix Agent 2 wurde von 100 auf 1000 erhöht;
  • Der Konfigurationsparameter Plugins.<PluginName>.System.Capacity für Zabbix Agent 2 wurde von 100 auf 1000 (Maximum) erhöht. Beachten Sie, dass der in Zabbix 6.0 veraltete Parameter Plugins.<PluginName>.Capacity vollständig entfernt wurde;
  • Der Konfigurationsparameter StartAgents für Zabbix Agent wurde von 3 auf 10 erhöht. Beachten Sie bei den Paketen, dass für kleinere Systeme (z. B. Raspberry Pi) der Standardwert weiterhin 3 sein kann.

Diese Änderungen wirken sich nicht auf bestehende Installationen aus, in denen diese Parameter explizit gesetzt sind.

Aggregatberechnungen

Mehrere Aggregatfunktionen wurden aktualisiert. Jetzt:

  • Aggregatfunktionen unterstützen bei der Berechnung nun auch nicht-numerische Typen. Dies kann beispielsweise bei den Funktionen count und count_foreach nützlich sein.
  • Die Aggregatfunktionen count und count_foreach unterstützen die optionalen Parameter operator und pattern, mit denen sich das Filtern von Datenpunkten präziser steuern lässt, sodass nur Werte gezählt werden, die den angegebenen Kriterien entsprechen.
  • Alle foreach-Funktionen schließen nicht unterstützte Datenpunkte nicht mehr in die Zählung ein.
  • Die Funktion last_foreach, die zuvor so konfiguriert war, dass sie das Zeitraumsargument ignoriert, akzeptiert es nun als optionalen Parameter.

Alterter numerischer (Float-)Werttyp entfernt

Seit Zabbix 5.0 unterstützt der numerische (Float-)Datentyp eine Genauigkeit von ungefähr 15 Stellen und einen Bereich von ungefähr -1.79E+308 bis 1.79E+308. Der alte numerische Typ war deaktiviert, wurde aber weiterhin unterstützt. Ab Zabbix 6.4 war er veraltet, und ab Zabbix 7.0 wurde er vollständig entfernt.

Wenn Ihre Installation nicht auf die Verwendung numerischer Werte mit erweitertem Bereich aktualisiert wurde, wird in BerichteSysteminformationen die folgende Warnung angezeigt: "Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to numeric values of extended range".

Beim Upgrade auf Zabbix 7.0 werden die folgenden Datenbanken automatisch aktualisiert:

  • MySQL
  • PostgreSQL/TimescaleDB (ohne Komprimierung)
  • Oracle

Für Oracle, ältere MySQL-Versionen und große Installationen wird jedoch empfohlen, den Datentyp vor dem Upgrade auf Zabbix 7.0 manuell zu aktualisieren.

Für TimescaleDB mit Komprimierung muss die Datenbank manuell aktualisiert werden.

Weitere Informationen zum Upgrade finden Sie unter Upgrade auf numerische Werte mit erweitertem Bereich.

Festlegen des Starttyps des Windows-Agent-Dienstes

Die Option zum Festlegen des Starttyps des Zabbix Agent/Agent 2-Windows-Dienstes (-S --startup-type) wurde hinzugefügt. Mit dieser Option kann konfiguriert werden, dass der Agent/Agent 2-Dienst beim Windows-Start automatisch gestartet wird (automatic), nachdem die automatisch gestarteten Dienste ihren Start abgeschlossen haben (delayed), wenn er manuell durch einen Benutzer oder eine Anwendung gestartet wird (manual) oder dass der Dienst vollständig deaktiviert wird (disabled).

Bei der Installation des Windows-Agenten aus MSI ist der Standard-Starttyp unter Windows Server 2008/Vista und neueren Versionen nun delayed, sofern im Befehlszeilenparameter STARTUPTYPE nichts anderes angegeben ist. Dies verbessert die Zuverlässigkeit und Leistung des Zabbix Agent/Agent 2-Windows-Dienstes, insbesondere bei Systemneustarts.

Vorlagen

Für neue Vorlagen und Änderungen an bestehenden Vorlagen siehe Vorlagenänderungen.

Neue Verzeichnisstruktur für datenbankbezogene Dateien

Beim Installieren von Zabbix aus Paketen und beim Vorbereiten des Datenbankschemas hat sich der Speicherort der datenbankbezogenen Dateien geändert, um besser zur Dateistruktur in den Quellen zu passen:

  • Basis-Initialisierungsdateien (schema.sql, data.sql, images.sql) befinden sich im Stammverzeichnis des Datenbankverzeichnisses.
  • Optionale Dateien/Patches für das Aktualisieren von Datenbanktabellen befinden sich im Verzeichnis option-patches.
  • Datenbankerweiterungen und Add-ons sind jetzt Unterverzeichnisse, die nach der Erweiterung benannt sind und sich im jeweiligen Datenbankverzeichnis befinden.
  • TimescaleDB-spezifische Änderungen:
    • Die Abkürzung tsdb wurde durch timescaledb ersetzt.
    • Das Verzeichnis option-patches enthält die Unterverzeichnisse with-compression und without-compression; diese enthalten optionale Dateien/Patches für das Aktualisieren von Datenbanktabellen abhängig von den TimescaleDB-Komprimierung-Einstellungen.
    • Die Datei zur Erstellung des Hypertable-Schemas für TimescaleDB wurde nach database/postgresql/timescaledb/schema.sql verschoben.

Zusätzlich beachten Sie bitte die folgenden Änderungen:

  • Alle Dateien history_pk_*.sql wurden in history_upgrade_*.sql umbenannt, und zur Verbesserung der Datenbank-Upgrade-Skripte wurde eine Datei trends_upgrade.sql hinzugefügt.
  • Die Datei double.sql wurde aufgrund der Entfernung des alten numerischen (float) Werttyps entfernt.

Nachfolgend finden Sie einen Vergleich der bisherigen und der aktuellen Verzeichnisstruktur für MySQL- und PostgreSQL-Datenbanken.

# Previous:                                         # Current:

database                                            database
├── mysql                                           ├── mysql
│  ├── data.sql                                     │  ├── option-patches
│  ├── double.sql                                   │  │  └── history_upgrade_prepare.sql
│  ├── history_pk_prepare.sql                       │  ├── data.sql
│  ├── images.sql                                   │  ├── images.sql
│  └── schema.sql                                   │  └── schema.sql
│                                                   │
│                                                   │
├── postgresql                                      ├── postgresql
│  ├── tsdb_history_pk_upgrade_no_compression       │  ├── option-patches
│  │  ├── history_pk.sql                            │  │  └── history_upgrade_prepare.sql
│  │  ├── history_pk_log.sql                        │  ├── timescaledb
│  │  ├── history_pk_str.sql                        │  │  ├── option-patches
│  │  ├── history_pk_text.sql                       │  │  │  ├── with-compression
│  │  │  │  ├── history_upgrade.sql
│  │  │  │  ├── history_upgrade_log.sql
│  │  │  │  ├── history_upgrade_str.sql
│  │  │  │  ├── history_upgrade_text.sql
│  │  │  │  ├── history_upgrade_uint.sql
│  │  │  │  └── trends_upgrade.sql
│  │  │  └── without-compression
│  │  │     ├── history_upgrade.sql
│  │  │     ├── history_upgrade_log.sql
│  │  │     ├── history_upgrade_str.sql
│  │  │     ├── history_upgrade_text.sql
│  │  │     ├── history_upgrade_uint.sql
│  │  │     └── trends_upgrade.sql
│  │  └── schema.sql
│  ├── data.sql                                     │  ├── data.sql
│  ├── double.sql                                   │  ├── images.sql
│  ├── history_pk_prepare.sql                       │  ├── schema.sql
│  ├── images.sql                                   │  └── timescaledb.sql
│  ├── schema.sql                                   │
│  └── timescaledb.sql                              │
│                                                   │
├── ...                                             ├── ...

Bitte aktualisieren Sie Ihre Skripte, falls vorhanden, die Verweise auf die bisherige Verzeichnisstruktur oder auf frühere Dateien enthalten.

JSON-Protokoll für passive Agent-Prüfungen

Ein JSON-basiertes Protokoll für passive Agent-Prüfungen wurde implementiert.

Zur Kompatibilität mit älteren Agenten wurde ein Fallback auf das alte Klartextprotokoll hinzugefügt. Wenn der Agent "ZBX_NOTSUPPORTED" zurückgibt, speichert Zabbix die Schnittstelle als altes Protokoll und wiederholt die Prüfung, indem nur der Klartext-Datenpunkt-Schlüssel gesendet wird.

Zabbix get kann jetzt mit einer neuen Option -P --protocol <value> ausgeführt werden, wobei "value" entweder ist:

  • auto - Verbindung über JSON-Protokoll, bei Fehler Fallback und erneuter Versuch mit Klartextprotokoll (Standard);
  • json - Verbindung über JSON-Protokoll-Schlüssel;
  • plaintext - Verbindung über Klartextprotokoll, bei dem nur der Datenpunkt-Schlüssel gesendet wird.

Wenn ein Datenpunkt-Schlüssel nicht unterstützt wird, gibt Zabbix get jetzt den Exit-Code 1 statt 0 zurück.