- Bekannte Probleme
- Upgrade
- Vorlagen
- Versehentliche Installation von EPEL-Zabbix-Paketen
- Zabbix-Pakete für RHEL in Red Hat UBI-Umgebungen
- Abgelaufener Signaturschlüssel für RHEL-Pakete
- Timescale DB: hoher Speicherverbrauch bei großer Anzahl von Partitionen
- Timescale DB 2.5.0: Komprimierungsrichtlinie kann bei Tabellen fehlschlagen, die Integer enthalten
- Datenbank-TLS-Verbindung mit MariaDB
- Mögliche Deadlocks mit MySQL/MariaDB
- Globale Ereigniskorrelation
- NetBSD 8.0 und neuer
- Einschränkungen regulärer Ausdrücke in Zabbix Agent 2
- IPMI-Prüfungen
- IPMI — nicht vertrauenswürdige Hosts können OpenIPMI zum Absturz bringen
- SSH-Prüfungen
- ODBC-Prüfungen
- Falscher Parameter für die Anfragemethode in Datenpunkten
- Web-Überwachung und HTTP-Agent
- Einfache Prüfungen
- Fehler bei der Ausführung von fping in rootless-Containern
- SNMP-Prüfungen
- SNMP-Datenspitzen
- SNMP-Traps
- Absturz des Alerter-Prozesses in RHEL 7
- Upgrade von Zabbix Agent 2 (6.0.5 oder älter)
- Wechselnde Frontend-Gebietsschemas
- Diagramme
- Überwachung von Protokolldateien
- Langsame MySQL-Abfragen
- Persistente Filtereinstellungen aus Links
- Problem mit IPv6-Adressen in SNMPv3-Traps
- Gekürzte lange IPv6-IP-Adresse in Informationen zu fehlgeschlagenen Anmeldungen
- Zabbix-Agent-Prüfungen unter Windows
- YAML-Export/-Import
- Einrichtungsassistent unter SUSE mit NGINX und php-fpm
- Weiterleitung des Authorization-Headers
- Chromium für den Zabbix-Web-Service unter Ubuntu 20
- Benutzerdefinierte MySQL-Fehlercodes
- Ungültige reguläre Ausdrücke nach dem Wechsel zu PCRE2
- Fehler im Geomap-Widget
- Vorverarbeitung — globale Variablen sind unsicher
- Prozessorgruppen unter Windows
- Einschränkungen der Filterung mit utf8mb4-Sortierungen
- Zugriff auf UI-Elemente mit MariaDB 10.5.1–10.5.9
- Profiling übermäßiger Speichernutzung mit tcmalloc
- MySQL 8.0 Group Replication im Multi-Primary-Modus
Bekannte Probleme
Siehe auch: Kompilierungsprobleme.
Upgrade
SQL-Modus-Einstellung für ein erfolgreiches Upgrade
Die Einstellung sql_mode in MySQL/MariaDB muss den Modus "STRICT_TRANS_TABLES" gesetzt haben.
Falls dieser fehlt, schlägt das Upgrade der Zabbix-Datenbank fehl (siehe auch ZBX-19435).
Upgrade mit MariaDB 10.2.1 und früher
Das Upgrade von Zabbix kann fehlschlagen, wenn Datenbanktabellen mit MariaDB 10.2.1 oder früher erstellt wurden, da in diesen Versionen das Standard-Zeilenformat compact ist. Dies kann behoben werden, indem das Zeilenformat auf dynamic geändert wird (siehe auch ZBX-17690).
Vorlagen
Vorlagenkompatibilität in Dual-Stack-Umgebungen (IPv4/IPv6)
In Dual-Stack-Umgebungen (Systeme, die sowohl IPv4 als auch IPv6 unterstützen) wird der Hostname localhost in der Regel sowohl in IPv4- als auch in IPv6-Adressen aufgelöst.
Da viele Betriebssysteme und DNS-Resolver IPv6 häufig gegenüber IPv4 priorisieren, funktionieren Zabbix-Vorlagen möglicherweise nicht korrekt, wenn der zu überwachende Dienst so konfiguriert ist, dass er nur auf IPv4 lauscht.
Dienste, die nicht für das Lauschen auf IPv6-Adressen konfiguriert sind, sind möglicherweise nicht erreichbar, was zu Überwachungsfehlern führt. Benutzer können den Zugriff für IPv4 korrekt konfigurieren und dennoch aufgrund des Standardverhaltens, bei dem IPv6 priorisiert wird, auf Verbindungsprobleme stoßen.
Eine mögliche Abhilfe besteht darin, sicherzustellen, dass die Dienste (Nginx, Apache, PostgreSQL usw.) so konfiguriert sind, dass sie sowohl auf IPv4- als auch auf IPv6-Adressen lauschen, und dass dem Zabbix Server/Agent der Zugriff über IPv6 erlaubt ist.
Verwenden Sie außerdem in Zabbix-Vorlagen und -Konfigurationen ausdrücklich localhost anstelle von 127.0.0.1, um die Kompatibilität mit IPv4 und IPv6 sicherzustellen.
Zum Beispiel müssen Sie bei der Überwachung von PostgreSQL mit der Vorlage PostgreSQL by Zabbix agent 2 möglicherweise die Datei pg_hba.conf bearbeiten, um Verbindungen für den Benutzer zbx_monitor zuzulassen.
Wenn in der Dual-Stack-Umgebung IPv6 priorisiert wird (das System löst localhost zu ::1 auf) und Sie localhost konfigurieren, aber nur einen IPv4-Eintrag (127.0.0.1/32) hinzufügen, schlägt die Verbindung fehl, da kein passender IPv6-Eintrag vorhanden ist.
Das folgende Beispiel einer pg_hba.conf-Datei stellt sicher, dass der Benutzer zbx_monitor von der lokalen Maschine aus mit sowohl IPv4- als auch IPv6-Adressen und unterschiedlichen Authentifizierungsmethoden eine Verbindung zu jeder Datenbank herstellen kann:
# TYPE DATABASE USER ADDRESS METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor ::1/128 scram-sha-256
Falls erforderlich, können Sie bei der Konfiguration des Makros der Vorlage PostgreSQL by Zabbix agent 2 für die Verbindungszeichenfolge auch direkt die IPv4-Adresse (127.0.0.1) verwenden.
Versehentliche Installation von EPEL-Zabbix-Paketen
Wenn das EPEL-Repository installiert und aktiviert ist, kann die Installation von Zabbix-Paketen dazu führen, dass EPEL-Versionen anstelle der offiziellen Zabbix-Pakete installiert werden. So beheben Sie das Problem:
1. Entfernen Sie alle Zabbix-Pakete, die aus EPEL installiert wurden:
dnf remove zabbix-server-mysql
2. Schließen Sie Zabbix-Pakete aus EPEL aus, indem Sie die folgende Zeile zur Datei /etc/yum.repos.d/epel.repo hinzufügen:
[epel]
...
excludepkgs=zabbix*
3.\ Installieren Sie das offizielle Zabbix-Server-Paket erneut:
dnf install zabbix-server-mysql
Während der Installation enthalten offizielle Zabbix-Pakete das Wort release in ihrer Versionszeichenfolge (z. B. 7.0.0-release1.el8), wodurch sie sich von EPEL-Paketen unterscheiden.
Zabbix-Pakete für RHEL in Red Hat UBI-Umgebungen
Wenn Sie Zabbix aus Red Hat Enterprise Linux-Paketen in Umgebungen mit Red Hat Universal Base Image installieren, stellen Sie sicher, dass der Zugriff auf die erforderlichen Repositories und Abhängigkeiten vorhanden ist.
Zabbix-Pakete hängen von den Bibliotheken libOpenIPMI.so und libOpenIPMIposix.so ab, die von keinem Paket in den standardmäßig aktivierten Paketmanager-Repositories auf UBI-Systemen bereitgestellt werden und zu Installationsfehlern führen.
Die Bibliotheken libOpenIPMI.so und libOpenIPMIposix.so sind im Paket OpenIPMI-libs verfügbar, das vom Repository redhat-#-for-<arch>-appstream-rpms bereitgestellt wird.
Der Zugriff auf dieses Repository wird über Subskriptionen gesteuert, die im Fall von UBI-Umgebungen durch das Einhängen der Repository-Konfiguration und der Verzeichnisse mit Geheimnissen des RHEL-Hosts in den Dateisystem-Namespace des Containers weitergegeben werden.
Weitere Informationen finden Sie unter ZBX-24291.
Abgelaufener Signaturschlüssel für RHEL-Pakete
Beim Upgrade von Zabbix auf Red Hat Enterprise Linux oder dessen Derivaten kann ein Problem mit einem abgelaufenen Signaturschlüssel für Pakete im Zabbix repository auftreten. Wenn ein Signaturschlüssel abläuft, führen Versuche, Paketsignaturen zu verifizieren, zu einem Fehler, der darauf hinweist, dass das Zertifikat oder der Schlüssel nicht mehr gültig ist. Zum Beispiel:
error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <[email protected]>):
1. Certificate 19F2475308EFA7DD invalid: certificate is not alive
because: The primary key is not live
because: Expired on 2024-07-04T11:41:23Z
2. Key 19F2475308EFA7DD invalid: key is not alive
because: The primary key is not live
because: Expired on 2024-07-04T11:41:23Z
Um solche Probleme zu beheben, installieren Sie das neueste Paket zabbix-release für Ihre spezifische RHEL-Variante manuell neu (ersetzen Sie den untenstehenden Link durch den korrekten Link aus dem Zabbix repository).
Zum Beispiel führen Sie unter RHEL 10 Folgendes aus:
rpm -Uvh https://repo.zabbix.com/zabbix/8.0/release/rhel/10/noarch/zabbix-release-latest.el10.noarch.rpm
Aktualisieren Sie anschließend die Repository-Informationen:
dnf update
Weitere Informationen finden Sie unter ZBX-24761.
Timescale DB: hoher Speicherverbrauch bei großer Anzahl von Partitionen
PostgreSQL-Versionen 9.6-12 verwenden zu viel Speicher, wenn Tabellen mit einer großen Anzahl von Partitionen aktualisiert werden. Dieses Problem tritt auf, wenn Zabbix Trends auf Systemen mit TimescaleDB aktualisiert, falls Trends in relativ kleine Chunks (z. B. 1 Tag) aufgeteilt sind. Dies führt dazu, dass in den Trend-Tabellen bei den Standard-Housekeeping-Einstellungen Hunderte von Chunks vorhanden sind – ein Zustand, bei dem PostgreSQL wahrscheinlich der Speicher ausgeht.
Das Problem wurde seit Zabbix 5.0.1 für Neuinstallationen mit TimescaleDB behoben, aber wenn TimescaleDB zuvor mit Zabbix eingerichtet wurde, lesen Sie bitte die Migrationshinweise unter ZBX-16347.
Timescale DB 2.5.0: Komprimierungsrichtlinie kann bei Tabellen fehlschlagen, die Integer enthalten
Dieses Problem tritt auf, wenn TimescaleDB 2.5.0/2.5.1 verwendet wird. Es wurde seit TimescaleDB 2.5.2 behoben.
Weitere Informationen finden Sie unter TimescaleDB Issue #3773.
Datenbank-TLS-Verbindung mit MariaDB
Eine Datenbank-TLS-Verbindung wird mit der Option 'verify_ca' für den DBTLSConnect-Parameter nicht unterstützt, wenn MariaDB verwendet wird.
Mögliche Deadlocks mit MySQL/MariaDB
Bei Betrieb unter hoher Last und wenn mehr als ein LLD-Worker beteiligt ist, kann es zu einem Deadlock kommen, der durch einen InnoDB-Fehler im Zusammenhang mit der Strategie zur Sperrung von Zeilen verursacht wird (siehe upstream bug). Der Fehler wurde in MySQL ab Version 8.0.29 behoben, jedoch nicht in MariaDB. Weitere Details finden Sie unter ZBX-21506.
Globale Ereigniskorrelation
Ereignisse werden möglicherweise nicht korrekt korreliert, wenn das Zeitintervall zwischen dem ersten und dem zweiten Ereignis sehr klein ist, d. h. eine halbe Sekunde oder weniger.
NetBSD 8.0 und neuer
Verschiedene Zabbix-Prozesse können auf NetBSD-Versionen 8.X und 9.X beim Start zufällig abstürzen. Dies ist auf die zu kleine Standard-Stackgröße (4 MB) zurückzuführen, die durch Ausführen von Folgendem erhöht werden muss:
ulimit -s 10240
Weitere Informationen finden Sie im zugehörigen Problembericht: ZBX-18275.
Einschränkungen regulärer Ausdrücke in Zabbix Agent 2
Zabbix Agent 2 unterstützt aufgrund der Einschränkungen der standardmäßigen Go-regexp-Bibliothek keine Lookaheads und Lookbehinds in regulären Ausdrücken.
IPMI-Prüfungen
IPMI-Prüfungen funktionieren nicht mit dem standardmäßigen OpenIPMI-Bibliothekspaket unter Debian vor 9 (stretch) und Ubuntu vor 16.04 (xenial). Um dies zu beheben, kompilieren Sie die OpenIPMI-Bibliothek mit aktivierter OpenSSL-Unterstützung neu, wie in ZBX-6139 beschrieben.
IPMI — nicht vertrauenswürdige Hosts können OpenIPMI zum Absturz bringen
Es gibt einen Fehler in der OpenIPMI-Bibliothek, die von Zabbix zum Abfragen von IPMI-Daten verwendet wird und der durch speziell präparierte Antworten von einem nicht vertrauenswürdigen Gerät ausgelöst werden kann.
Ein nicht vertrauenswürdiges IPMI-Gerät kann präparierte Daten senden, die die OpenIPMI-Bibliothek zum Absturz bringen, was wiederum dazu führen kann, dass der Zabbix-Serverprozess, der die IPMI-Abfrage durchführt, beendet wird.
SSH-Prüfungen
- Einige Linux-Distributionen wie Debian und Ubuntu unterstützen keine verschlüsselten privaten Schlüssel (mit Passphrase), wenn die Bibliothek libssh2 aus Paketen installiert wurde. Weitere Details finden Sie unter ZBX-4850.
- Bei Verwendung von libssh 0.9.x auf einigen Linux-Distributionen mit OpenSSH 8 können SSH-Prüfungen gelegentlich „Cannot read data from SSH server“ melden. Dies wird durch ein libssh-Problem verursacht (ausführlicherer Bericht). Es wird erwartet, dass der Fehler mit der stabilen Veröffentlichung von libssh 0.9.5 behoben wurde. Siehe auch ZBX-17756 für Details.
- Die Verwendung der Pipe „|“ im SSH-Skript kann zu einem Fehler „Cannot read data from SSH server“ führen. In diesem Fall wird empfohlen, die Version der libssh-Bibliothek zu aktualisieren. Siehe auch ZBX-21337 für Details.
ODBC-Prüfungen
- Der MySQL-unixODBC-Treiber sollte nicht mit einem Zabbix-Server oder Zabbix-Proxy verwendet werden, der gegen die MariaDB-Connector-Bibliothek kompiliert wurde, und umgekehrt. Wenn möglich, ist es aufgrund eines upstream bug außerdem besser, nicht denselben Connector wie den Treiber zu verwenden.
Empfohlene Konfiguration:
PostgreSQL-, SQLite- oder Oracle-Connector → MariaDB- oder MySQL-unixODBC-Treiber MariaDB-Connector → MariaDB-unixODBC-Treiber MySQL-Connector → MySQL-unixODBC-Treiber
Weitere Informationen und verfügbare Workarounds finden Sie unter ZBX-7665.
-
Von Microsoft SQL Server abgefragte XML-Daten können auf Linux- und UNIX-Systemen auf verschiedene Weise abgeschnitten werden.
-
Es wurde beobachtet, dass die Verwendung von ODBC-Prüfungen zur Überwachung von Oracle-Datenbanken mit verschiedenen Versionen von Oracle Instant Client für Linux zum Absturz des Zabbix-Servers führt.\ Siehe auch: ZBX-18402, ZBX-20803.
-
Wenn der FreeTDS-UnixODBC-Treiber verwendet wird, müssen Sie einer SQL-Abfrage eine Anweisung 'SET NOCOUNT ON' voranstellen (zum Beispiel
SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....). Andernfalls kann der Datenbankmonitor-Datenpunkt in Zabbix die Informationen nicht abrufen und es erscheint der Fehler
"SQL query returned empty result".
Weitere Informationen finden Sie unter ZBX-19917.
Falscher Parameter für die Anfragemethode in Datenpunkten
Der Parameter für die Anfragemethode, der nur in HTTP-Prüfungen verwendet wird, kann infolge eines Upgrades von einer Zabbix-Version vor 4.0 fälschlicherweise auf „1“ gesetzt sein, einen Nicht-Standardwert für alle Datenpunkte. Einzelheiten zur Behebung dieser Situation finden Sie unter ZBX-19308.
Web-Überwachung und HTTP-Agent
Der Zabbix Server verliert auf einigen Linux-Distributionen aufgrund eines Upstream-Fehlers Speicher, wenn „SSL verify peer“ in Webszenarien oder im HTTP-Agent aktiviert ist. Weitere Informationen und verfügbare Behelfslösungen finden Sie unter ZBX-10486.
Einfache Prüfungen
In fping-Versionen vor v3.10 gibt es einen Fehler, durch den doppelte Echo-Reply-Pakete falsch verarbeitet werden.
Dies kann zu unerwarteten Ergebnissen bei den Datenpunkten icmpping, icmppingloss, icmppingsec führen.
Es wird empfohlen, die neueste Version von fping zu verwenden.
Weitere Informationen finden Sie unter ZBX-11726.
Fehler bei der Ausführung von fping in rootless-Containern
Wenn Container im rootless-Modus oder in einer Umgebung mit spezifischen Einschränkungen ausgeführt werden, können bei der Durchführung von ICMP-Prüfungen Fehler im Zusammenhang mit der Ausführung von fping auftreten, z. B. fping: Operation not permitted oder der Verlust aller Pakete an alle Ressourcen.
Um dieses Problem zu beheben, fügen Sie --cap-add=net_raw zu den Befehlen „docker run“ oder „podman run“ hinzu.
Zusätzlich kann die Ausführung von fping in Nicht-Root-Umgebungen eine sysctl-Änderung erfordern, z. B.:
sudo sysctl -w "net.ipv4.ping_group_range=0 1995"
wobei „1995“ die zabbix-GID ist. Weitere Details finden Sie unter ZBX-22833.
SNMP-Prüfungen
Wenn das Betriebssystem OpenBSD verwendet wird, kann ein Use-after-free-Fehler in der Net-SNMP-Bibliothek bis einschließlich Version 5.7.3 einen Absturz des Zabbix Server verursachen, wenn der Parameter SourceIP in der Konfigurationsdatei des Zabbix Server gesetzt ist. Als Behelfslösung setzen Sie bitte den Parameter SourceIP nicht. Dasselbe Problem betrifft auch Linux, führt dort jedoch nicht dazu, dass der Zabbix Server nicht mehr funktioniert. Ein lokaler Patch für das net-snmp-Paket unter OpenBSD wurde angewendet und wird mit OpenBSD 6.3 veröffentlicht.
SNMP-Datenspitzen
Es wurden Spitzen in SNMP-Daten beobachtet, die mit bestimmten physischen Faktoren wie Spannungsspitzen im Stromnetz zusammenhängen können. Siehe ZBX-14318 für weitere Details.
SNMP-Traps
Das Paket "net-snmp-perl", das für SNMP-Traps benötigt wird, wurde in RHEL 8.0-8.2 entfernt und in RHEL 8.3 wieder hinzugefügt.
Wenn Sie also RHEL 8.0-8.2 verwenden, ist die beste Lösung ein Upgrade auf RHEL 8.3.
Weitere Informationen finden Sie auch unter ZBX-17192.
Absturz des Alerter-Prozesses in RHEL 7
In RHEL 7 wurden Fälle eines Absturzes des Alerter-Prozesses eines Zabbix-Servers festgestellt. Weitere Informationen finden Sie unter ZBX-10461.
Upgrade von Zabbix Agent 2 (6.0.5 oder älter)
Beim Upgrade von Zabbix Agent 2 (Version 6.0.5 oder älter) aus Paketen kann ein pluginbezogener Dateikonfliktfehler auftreten. Um den Fehler zu beheben, sichern Sie Ihre Agent-2-Konfiguration (falls erforderlich), deinstallieren Sie Agent 2 und installieren Sie ihn erneut.
Führen Sie auf RHEL-basierten Systemen Folgendes aus:
dnf remove zabbix-agent2
dnf install zabbix-agent2
Führen Sie auf Debian-basierten Systemen Folgendes aus:
apt remove zabbix-agent2
apt install zabbix-agent2
Weitere Informationen finden Sie unter ZBX-23250.
Wechselnde Frontend-Gebietsschemas
Es wurde beobachtet, dass Frontend-Gebietsschemas scheinbar ohne erkennbare Logik wechseln, d. h. einige Seiten (oder Teile von Seiten) werden in einer Sprache angezeigt, während andere Seiten (oder Teile von Seiten) in einer anderen Sprache angezeigt werden. Typischerweise kann das Problem auftreten, wenn es mehrere Benutzer gibt, von denen einige ein Gebietsschema verwenden, während andere ein anderes verwenden.
Eine bekannte Behelfslösung besteht darin, Multithreading in PHP und Apache zu deaktivieren.
Das Problem hängt damit zusammen, wie das Setzen des Gebietsschemas in PHP funktioniert: Informationen zum Gebietsschema werden pro Prozess und nicht pro Thread verwaltet. In einer Multithreading-Umgebung ist es daher möglich, dass bei mehreren Projekten, die im selben Apache-Prozess ausgeführt werden, das Gebietsschema in einem anderen Thread geändert wird und dies beeinflusst, wie Daten im Zabbix-Thread verarbeitet werden.
Weitere Informationen finden Sie in den zugehörigen Problemberichten:
- ZBX-10911 (Problem mit wechselnden Frontend-Gebietsschemas)
- ZBX-16297 (Problem bei der Zahlenverarbeitung in Diagrammen bei Verwendung der
bcdiv-Funktion aus den BC-Math-Funktionen)
Diagramme
Probleme mit Diagrammen (klassisch)
Wenn Probleme mit klassischen Diagrammen auftreten, wird empfohlen, die GD-Bibliothek (libgd) auf Version 2.3.3-13 oder höher und PHP auf Version 8.0.19, 8.1.33, 8.2.29, 8.3.25, 8.4.12 oder höher zu aktualisieren.
Sommerzeit
Änderungen durch die Sommerzeit (DST) führen zu Unregelmäßigkeiten bei der Anzeige der Beschriftungen der X-Achse (doppelte Datumsangaben, fehlende Datumsangaben usw.).
Summenaggregation
Bei Verwendung der Summenaggregation in einem Diagramm für einen Zeitraum von weniger als einer Stunde zeigen Diagramme falsche (multiplizierte) Werte an, wenn die Daten aus Trends stammen.
Textüberlappung
Bei einigen Frontend-Sprachen (z. B. Japanisch) können lokale Schriftarten zu Textüberlappungen in der Diagrammlegende führen. Um dies zu vermeiden, verwenden Sie Version 2.3.0 (oder höher) der PHP-GD-Erweiterung.
Überwachung von Protokolldateien
log[]- und logrt[]-Datenpunkte lesen die Protokolldatei wiederholt vom Anfang an erneut, wenn das Dateisystem zu 100 % voll ist und die Protokolldatei erweitert wird (weitere Informationen finden Sie unter ZBX-10884).
Langsame MySQL-Abfragen
Der Zabbix Server erzeugt langsame SELECT-Abfragen, wenn für Datenpunkte keine Werte vorhanden sind.
Dieses Problem tritt bekanntermaßen in den MySQL-Versionen 5.6/5.7 auf (eine ausführlichere Diskussion finden Sie unter ZBX-10652) und kann in bestimmten Fällen auch in späteren MySQL-Versionen auftreten.
Eine mögliche Umgehung besteht darin, den Optimizer index_condition_pushdown oder prefer_ordering_index in MySQL zu deaktivieren.
Beachten Sie jedoch, dass diese Umgehung nicht alle Probleme im Zusammenhang mit langsamen Abfragen beheben kann.
Persistente Filtereinstellungen aus Links
Beim Öffnen eines Links zu einer Zabbix-Frontend-Seite, die Filtereinstellungen einschließlich der Zeitauswahl enthält, wird der Filter automatisch für den Benutzer in der Datenbank gespeichert und ersetzt die zuvor gespeicherten Filter- und/oder Zeitauswahleinstellungen für diese Seite. Diese Einstellungen bleiben aktiv, bis der Benutzer sie manuell aktualisiert oder zurücksetzt.
Problem mit IPv6-Adressen in SNMPv3-Traps
Aufgrund eines Fehlers in net-snmp wird die IPv6-Adresse bei der Verwendung von SNMPv3 in SNMP-Traps möglicherweise nicht korrekt angezeigt. Weitere Informationen sowie eine mögliche Behelfslösung finden Sie unter ZBX-14541.
Gekürzte lange IPv6-IP-Adresse in Informationen zu fehlgeschlagenen Anmeldungen
Eine Meldung über einen fehlgeschlagenen Anmeldeversuch zeigt nur die ersten 39 Zeichen einer gespeicherten IP-Adresse an, da dies die Zeichenbegrenzung des Datenbankfelds ist. Das bedeutet, dass IPv6-IP-Adressen mit mehr als 39 Zeichen unvollständig angezeigt werden.
Zabbix-Agent-Prüfungen unter Windows
Nicht vorhandene DNS-Einträge im Parameter Server der Zabbix-Agent-Konfigurationsdatei (zabbix_agentd.conf) können die Antwortzeit des Zabbix-Agenten unter Windows erhöhen.
Dies geschieht, weil der Windows-DNS-Caching-Dienst negative Antworten für IPv4-Adressen nicht zwischenspeichert.
Für IPv6-Adressen werden negative Antworten jedoch zwischengespeichert, daher besteht eine mögliche Umgehungslösung darin, IPv4 auf dem Host zu deaktivieren.
YAML-Export/-Import
Es gibt einige bekannte Probleme mit YAML-Export/Import:
- Fehlermeldungen sind nicht übersetzbar;
- Gültiges JSON mit der Dateierweiterung .yaml kann manchmal nicht importiert werden;
- Nicht in Anführungszeichen gesetzte menschenlesbare Datumsangaben werden automatisch in Unix-Zeitstempel umgewandelt.
Einrichtungsassistent unter SUSE mit NGINX und php-fpm
Der Frontend-Einrichtungsassistent kann die Konfigurationsdatei unter SUSE mit NGINX + php-fpm nicht speichern.
Dies wird durch eine Einstellung in der Unit /usr/lib/systemd/system/php-fpm.service verursacht, die verhindert, dass Zabbix nach /etc schreiben kann. (eingeführt in PHP 7.4).
Es gibt zwei verfügbare Umgehungslösungen:
- Setzen Sie die Option ProtectSystem in der php-fpm-systemd-Unit auf
truestatt auffull. - Speichern Sie die Datei
/etc/zabbix/web/zabbix.conf.phpmanuell.
Weiterleitung des Authorization-Headers
In einigen Fällen können Apache oder NGINX verhindern, dass der Authorization-Header in API-Anfragen Zabbix erreicht. Dies kann zu Authentifizierungsproblemen bei der Verwendung der Zabbix-API oder von Single-Sign-On-(SSO-)Diensten wie SAML mit Okta führen.
Um dies zu beheben, aktualisieren Sie die Konfiguration Ihres Webservers.
Für Apache fügen Sie, wenn Sie ihn als Reverse-Proxy verwenden (Nicht-CGI-Setup), die folgende Direktive zu /etc/httpd/conf/httpd.conf (auf RHEL-basierten Systemen) oder /etc/apache2/apache2.conf (auf Debian/Ubuntu) hinzu:
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
Wenn Apache Skripte direkt zur Verarbeitung von Anfragen ausführt (z. B. mit mod_cgi), fügen Sie stattdessen die folgende Direktive hinzu:
CGIPassAuth On
Im Gegensatz dazu verarbeitet NGINX den Authorization-Header automatisch.
Wenn NGINX jedoch als Reverse-Proxy fungiert, können Sie den Authorization-Header explizit weiterleiten, indem Sie die folgenden Direktiven zu /etc/nginx/nginx.conf hinzufügen (für den Speicherort Ihres Zabbix-Frontend):
...
location / {
...
proxy_set_header Authorization $http_authorization;
proxy_pass http://backend_server;
...
}
Starten Sie nach der Aktualisierung der Konfiguration Ihren Webserver neu.
Weitere Informationen finden Sie unter:
- ZBX-22952
- Apache 2.4 + PHP-FPM and Authorization headers
- SetEnvIfNoCase und CGIPassAuth-Direktiven
- NGINX Reverse Proxy
Chromium für den Zabbix-Web-Service unter Ubuntu 20
Obwohl der Zabbix-Web-Service in den meisten Fällen mit Chromium ausgeführt werden kann, verursacht die Verwendung von Chromium unter Ubuntu 20.04 den folgenden Fehler:
Cannot fetch data: chrome failed to start:cmd_run.go:994:
WARNING: cannot create user data directory: cannot create
"/var/lib/zabbix/snap/chromium/1564": mkdir /var/lib/zabbix: permission denied
Sorry, home directories outside of /home are not currently supported. See https://forum.snapcraft.io/t/11209 for details.
Dieser Fehler tritt auf, weil /var/lib/zabbix als Home-Verzeichnis des Benutzers „zabbix“ verwendet wird.
Benutzerdefinierte MySQL-Fehlercodes
Wenn Zabbix erkennt, dass die Backend-Datenbank nicht erreichbar ist, sendet es eine Benachrichtigung und versucht weiterhin, eine Verbindung herzustellen. Für bestimmte Datenbank-Engines werden spezifische Fehlercodes erkannt. In MySQL umfassen diese erkannten Fehlercodes:
- CR_CONN_HOST_ERROR
- CR_SERVER_GONE_ERROR
- CR_CONNECTION_ERROR
- CR_SERVER_LOST
- CR_UNKNOWN_HOST
- ER_SERVER_SHUTDOWN
- ER_ACCESS_DENIED_ERROR
- ER_ILLEGAL_GRANT_FOR_TABLE
- ER_TABLEACCESS_DENIED_ERROR
- ER_UNKNOWN_ERROR
Zusätzlich kann bei der Verwendung von Zabbix mit einer MySQL-Installation auf Azure die allgemeine Fehlermeldung [9002] Some errors occurred in den Zabbix-Protokollen erscheinen. Diese Meldung wird von der Datenbank an den Zabbix Server oder Proxy gesendet. Um die Ursache des Fehlers zu ermitteln, prüfen Sie bitte die Azure-Protokolle.
Ungültige reguläre Ausdrücke nach dem Wechsel zu PCRE2
In Zabbix 6.0 wurde Unterstützung für PCRE2 hinzugefügt. Obwohl PCRE weiterhin unterstützt wird, wurden die Zabbix-Installationspakete für RHEL 7 und neuer, SLES (alle Versionen), Debian 9 und neuer sowie Ubuntu 16.04 und neuer auf die Verwendung von PCRE2 aktualisiert. Obwohl der Wechsel zu PCRE2 viele Vorteile bietet, kann er dazu führen, dass bestimmte vorhandene PCRE-Regexp-Muster ungültig werden oder sich anders verhalten. Dies betrifft insbesondere das Muster \^[\w-\.]. Um diesen regulären Ausdruck wieder gültig zu machen, ohne die Semantik zu verändern, ändern Sie den Ausdruck in \^[-\w\.] . Dies liegt daran, dass PCRE2 das Minuszeichen als Trennzeichen behandelt und dadurch einen Bereich innerhalb einer Zeichenklasse erstellt.
Fehler im Geomap-Widget
Die Karten im Geomap-Widget werden möglicherweise nicht korrekt geladen, wenn Sie ein Upgrade von einer älteren Zabbix-Version mit NGINX durchgeführt und während des Upgrades nicht auf die neue NGINX-Konfigurationsdatei umgestellt haben.
Um das Problem zu beheben, können Sie die alte Konfigurationsdatei verwerfen, die Konfigurationsdatei aus dem Paket der aktuellen Version verwenden und sie wie in den Download-Anweisungen im Abschnitt e. PHP für Zabbix Frontend konfigurieren beschrieben neu konfigurieren.
Alternativ können Sie eine vorhandene NGINX-Konfigurationsdatei manuell bearbeiten (in der Regel /etc/zabbix/nginx.conf). Öffnen Sie dazu die Datei und suchen Sie den folgenden Block:
location ~ /(api\/|conf[^\.]|include|locale|vendor) {
deny all;
return 404;
}
Ersetzen Sie diesen Block dann durch:
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
Vorverarbeitung — globale Variablen sind unsicher
JavaScript in der Vorverarbeitung wird pro Anfrage ausgeführt, aber Zuweisungen an nicht deklarierte Bezeichner (zum Beispiel secret = value) erzeugen implizite globale Variablen, die über die aktuelle Ausführung hinaus bestehen bleiben können.
Das Speichern sensibler Daten (Token, Passwörter usw.) in impliziten globalen Variablen erhöht das Risiko einer versehentlichen Offenlegung oder Wiederverwendung durch nachfolgende Vorverarbeitungsläufe oder andere Integrationen, die in derselben Umgebung ausgeführt werden.
Verlassen Sie sich nicht auf implizite globale Variablen.
Deklarieren Sie Variablen immer mit var oder const, und vermeiden Sie es, Geheimnisse an globale Objekte anzuhängen (zum Beispiel globalThis oder window).
Es gibt keine unterstützte Möglichkeit, integrierte globale Objekte innerhalb der Vorverarbeitung zu überschreiben.
Sicheres Beispiel:
var apiToken = payload.token;
var count = 1;
return JSON.stringify({ token: apiToken, calls: count });
Prozessorgruppen unter Windows
Laut der Microsoft-Dokumentation haben Systeme mit weniger als 64 logischen Prozessoren immer nur eine einzige Prozessorgruppe, Gruppe 0. Zabbix-Benutzer haben jedoch einen seltenen Fehler ZBX-20260 gemeldet, bei dem auf Systemen mit 64 oder weniger logischen Prozessoren zwei Prozessorgruppen vorhanden sind. Dies führte dazu, dass die Leistungsindikatoren "\Processor(n)" nur für eine von zwei Prozessorgruppen verfügbar waren. Die eigentliche Ursache dieses Fehlers ist nicht bekannt. Ein ähnlicher Fall wurde jedoch auf stackoverflow.com beschrieben; dort lag die Ursache in der Interaktion zwischen BIOS und Windows.
Einschränkungen der Filterung mit utf8mb4-Sortierungen
Filter (z. B. unter Datenerfassung > Wartung) funktionieren möglicherweise nicht korrekt, wenn sie auf Entitäten angewendet werden, die bestimmte Unicode-Zeichen enthalten (z. B. ȼ, ɇ). Dieses Problem entsteht dadurch, wie die standardmäßige Sortierung utf8mb4_bin für MySQL- oder MariaDB-Datenbanken die Sortierung und den Vergleich von Unicode-Zeichen verarbeitet.
Um diese Einschränkung zu beheben, können Benutzer die Sortierung von Datenbankspalten auf Alternativen wie utf8mb4_0900_bin, utf8mb4_0900_ai_ci oder utf8mb4_unicode_520_ci ändern. Beachten Sie jedoch, dass das Ändern der Sortierung zu unerwartetem Verhalten bei der Verarbeitung von Leerzeichen sowie bei der Sortierung und Filterung anderer Zeichen führen kann.
Weitere Informationen zum Ändern von Sortierungen finden Sie in der MySQL-Dokumentation oder der MariaDB-Dokumentation. Einzelheiten zu den Unterschieden zwischen Sortierungen finden Sie unter Unicode Character Sets in der MySQL-Dokumentation.
Zugriff auf UI-Elemente mit MariaDB 10.5.1–10.5.9
Beim Zugriff auf das Zabbix-Web-Frontend mit einer anderen Rolle als Super Admin kann die Meldung „System error occurred. Please contact Zabbix administrator.“ angezeigt werden. Dieses Problem betrifft Installationen mit MariaDB-Versionen 10.5.1 bis 10.5.9.
Um dieses Problem zu vermeiden, aktualisieren Sie MariaDB auf eine Version neuer als 10.5.9. Weitere Informationen finden Sie unter ZBX-25746.
Profiling übermäßiger Speichernutzung mit tcmalloc
Wenn Sie vermuten, dass Ihre Zabbix-Installation zu viel Speicher verwendet, können Sie die Memory-Profiling-Funktion von tcmalloc verwenden, um den Speicherverbrauch von Zabbix Server/Proxy zu untersuchen.
1. Konfigurieren Sie bei der Installation von Zabbix aus den Quellen zusätzliche Flags:
export CFLAGS="-std=gnu99 -g -O0"
Das Flag -std=gnu99 ist für das Erstellen von Zabbix Server, Zabbix Proxy oder Zabbix Agent erforderlich.
Das Flag -g fügt zusätzliche Debugging-Informationen hinzu, während -O0 Optimierungen deaktiviert, die das Profiling von tcmalloc beeinträchtigen können.
2. Setzen Sie vor dem Starten des Zabbix Servers die folgenden Umgebungsvariablen. Diese Variablen teilen tcmalloc mit, wie die Speichernutzung verfolgt und gemeldet werden soll:
LD_PRELOAD="/usr/lib/aarch64-linux-gnu/libtcmalloc.so" \
HEAPPROFILE=./heap_profile \
HEAP_PROFILE_ALLOCATION_INTERVAL=0 \
HEAP_PROFILE_INUSE_INTERVAL=4294967296 \
HEAPPROFILESIGNAL=5 \
MALLOCSTATS=1 \
./sbin/zabbix_server -f -c /etc/zabbix/zabbix_server.conf
3. Lösen Sie einen Profildump aus, indem Sie Signal 5 an den Zielprozess senden. Ersetzen Sie 1234 durch die tatsächliche Prozess-ID (PID):
kill -5 1234
4. Geben Sie das erzeugte Profil aus:
pprof-symbolize -text ./sbin/zabbix_server ./heap_profile.0001.heap
Using local file ./sbin/zabbix_server.
Using local file ./heap_profile.0001.heap.
Total: 1078.1 MB
1076.8 99.9% 99.9% 1076.8 99.9% zbx_malloc2
1.0 0.1% 100.0% 1.0 0.1% __GI___strdup
0.2 0.0% 100.0% 0.2 0.0% CRYPTO_zalloc@@OPENSSL_3.0.0
0.1 0.0% 100.0% 0.1 0.0% OPENSSL_LH_insert@@OPENSSL_3.0.0
0.0 0.0% 100.0% 0.0 0.0% zbx_realloc2
0.0 0.0% 100.0% 0.1 0.0% PKCS7_decrypt@@OPENSSL_3.0.0
0.0 0.0% 100.0% 0.0 0.0% find_best_tree_node
0.0 0.0% 100.0% 0.0 0.0% CRYPTO_strndup@@OPENSSL_3.0.0
...
0.0 0.0% 100.0% 0.0 0.0% preprocessing_flush_value
0.0 0.0% 100.0% 1074.0 99.6% preprocessor_add_request
In diesem Beispiel ist zbx_malloc2 für fast alle Speicherallokationen verantwortlich.
Siehe auch:
- ZBX-25050 und ZBX-25584 für die zugehörigen Problemberichte.
- GCC Option Summary zu Kompilierungsoptionen (
-std=gnu99,-g,-O0usw.). - Dokumentation zu Gperftools Heap Profiler über Umgebungsvariablen für das tcmalloc-Profiling.
MySQL 8.0 Group Replication im Multi-Primary-Modus
Bei der Verwendung von MySQL 8.0 Group Replication im Multi-Primary-Modus kann während des Commits von Transaktionen ein Fehler ähnlich dem folgenden auftreten:
1531697:20250128:064734.697 query [txnlev:1] [update alerts set status=1,retries=0,error='' where alertid=154618;
1531697:20250128:064734.713 query [txnlev:1] [commit;]
1531697:20250128:064734.753 [Z3005] query failed: [3101] Plugin instructed the server to rollback the current transaction. [commit;]
Dieser Fehler scheint durch Probleme bei Rollback-Operationen mit Fremdschlüssel-Constraints ausgelöst zu werden.
Siehe auch:
- ZBX-26060 für den zugehörigen Problembericht.
- MySQL Bug #96758 "Rollbacks with Foreign Keys on single node" für das zugrunde liegende Problem.