zabbix_proxy
op MySQL-versies 8.0.0-8.0.17 mislukt met de volgende "toegang geweigerd" foutmelding:
[Z3001] verbinden met database 'zabbix' mislukt: [1227] Toegang geweigerd; u hebt (ten minste) de SUPER, SYSTEM_VARIABLES_ADMIN of SESSION_VARIABLES_ADMIN rechten nodig voor deze bewerking
Dit komt door MySQL 8.0.0 die speciale rechten begon af te dwingen voor het instellen van sessievariabelen. Echter, in 8.0.18 is dit gedrag verwijderd: Sinds MySQL 8.0.18 is het instellen van de sessiewaarde van deze systeemvariabele niet langer een beperkte bewerking.
De workaround is gebaseerd op het toekennen van extra rechten aan de gebruiker zabbix
:
Voor MySQL-versies 8.0.14 - 8.0.17:
Voor MySQL-versies 8.0.0 - 8.0.13:
PostgreSQL-versies 9.6-12 gebruiken te veel geheugen bij het bijwerken van tabellen met een groot aantal partities (zie probleemrapport). Dit probleem doet zich voor wanneer Zabbix trends bijwerkt op systemen met TimescaleDB als trends worden opgesplitst in relatief kleine (bijv. 1 dag) brokken. Dit leidt tot honderden brokken in de trends-tabellen met standaard instellingen voor gegevensbeheer - de situatie waarin PostgreSQL waarschijnlijk zonder geheugen komt te zitten.
Dit probleem is opgelost sinds Zabbix 5.0.1 voor nieuwe installaties met TimescaleDB, maar als TimescaleDB voorheen met Zabbix was geconfigureerd, zie dan ZBX-16347 voor migratie-aanwijzingen.
Dit probleem doet zich voor bij gebruik van TimescaleDB 2.5.0. Dit probleem is opgelost sinds TimescaleDB 2.5.1.
Voor meer informatie, zie TimescaleDB Issue #3773.
The sql_mode
setting in MySQL/MariaDB must have the "STRICT_TRANS_TABLES" mode set. If it is absent, the Zabbix database upgrade will fail (see also ZBX-19435).
Het upgraden van Zabbix kan mislukken als database-tabellen zijn aangemaakt met MariaDB 10.2.1 en eerder, omdat in die versies de standaard rij-indeling compact is. Dit kan worden opgelost door de rij-indeling te wijzigen in dynamisch (zie ook ZBX-17690).
In dual-stack environments (systems configured to support both IPv4 and IPv6), the hostname localhost
typically resolves to both IPv4 and IPv6 addresses. Due to the common prioritization of IPv6 over IPv4 by many operating systems and DNS resolvers, Zabbix templates may fail to work correctly if the service being monitored is configured to listen only on IPv4.
Services that are not configured to listen on IPv6 addresses may become inaccessible, leading to monitoring failures. Users might configure access correctly for IPv4 but still face connectivity issues due to the default behavior of prioritizing IPv6.
A workaround for this is to ensure that the services (Nginx, Apache, PostgreSQL, etc.) are configured to listen on both IPv4 and IPv6 addresses, and Zabbix server/agent is allowed access via IPv6. Additionally, in Zabbix templates and configurations, use localhost
explicitly instead of 127.0.0.1
to ensure compatibility with both IPv4 and IPv6.
For example, when monitoring PostgreSQL with the PostgreSQL by Zabbix agent 2 template, you may need to edit the pg_hba.conf
file to allow connections for the zbx_monitor
user. If the dual-stack environment prioritizes IPv6 (system resolves localhost to ::1
) and you configure localhost
but only add an IPv4 entry (127.0.0.1/32
), the connection will fail because there is no matching IPv6 entry.
The following pg_hba.conf
file example ensures that the zbx_monitor
user can connect to any database from the local machine using both IPv4 and IPv6 addresses with different authentication methods:
# 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
If necessary, you can also use the IPv4 address (127.0.0.1
) directly when configuring the PostgreSQL by Zabbix agent 2 template macro for the connection string.
With EPEL repository installed and enabled, installing Zabbix from packages will lead to EPEL Zabbix packages being installed rather than official Zabbix packages.
In this case uninstall Zabbix packages from EPEL, i.e.:
Block Zabbix packages from EPEL. Add the following line in the /etc/yum.conf
file:
Install Zabbix server again:
Notice that official Zabbix packages have the word release
in their version string:
When installing Zabbix from Red Hat Enterprise Linux packages on Red Hat Universal Base Image environments, ensure access to required repositories and dependencies. Zabbix packages depend on libOpenIPMI.so
and libOpenIPMIposix.so
libraries, which are not provided by any package in the default package manager repositories enabled on UBI systems and will result in installation failures.
The libOpenIPMI.so
and libOpenIPMIposix.so
libraries are available in the OpenIPMI-libs
package, which is provided by the redhat-#-for-<arch>-appstream-rpms
repository. Access to this repository is curated by subscriptions, which, in the case of UBI environments, get propagated by mounting repository configuration and secrets directories of the RHEL host into the container file-system namespace.
For more information, see ZBX-24291.
When upgrading Zabbix on Red Hat Enterprise Linux, you may encounter an expired signing key issue for packages on Zabbix repository. When a signing key expires, attempts to verify package signatures will result in an error indicating that the certificate or key is no longer valid. For example:
error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <[email protected]>):
1. Certificiate 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
To resolve such issues, manually reinstall the latest zabbix-release
package for your specific variant of RHEL (replace the link below with the correct one from Zabbix repository).
For example, on RHEL 9, run:
Then, update the repository information:
For more information, see ZBX-24761.
Database TLS-verbinding wordt niet ondersteund met de optie verify_ca voor de DBTLSConnect parameter als MariaDB wordt gebruikt.
Bij hoge belasting en met meer dan één LLD-werker kan het voorkomen dat er een deadlock ontstaat door een InnoDB-fout gerelateerd aan de rij-vergrendelingsstrategie (zie upstream bug). De fout is opgelost in MySQL sinds versie 8.0.29, maar niet in MariaDB. Voor meer details, zie ZBX-21506.
Gebeurtenissen worden mogelijk niet correct gecorreleerd als het tijdsinterval tussen de eerste en tweede gebeurtenis zeer klein is, bijvoorbeeld een halve seconde of minder.
PostgreSQL 11 en eerdere versies ondersteunen alleen een zwevende-kommawaarde bereik van ongeveer -1,34E-154 tot 1,34E+154.
Diverse Zabbix-processen kunnen willekeurig crashen bij het opstarten op de NetBSD-versies 8.X en 9.X. Dit komt door de te kleine standaard stapelgrootte (4 MB), die moet worden vergroot door het volgende uit te voeren:
Voor meer informatie, zie het bijbehorende probleemrapport: ZBX-18275.
Zabbix agent 2 does not support lookaheads and lookbehinds in regular expressions due to the standard Go regexp library limitations.
IPMI-controles werken niet met de standaard OpenIPMI-bibliotheekpakketten op Debian vóór 9 (stretch) en Ubuntu vóór 16.04 (xenial). Om dit op te lossen, moet je de OpenIPMI-bibliotheek opnieuw compileren met OpenSSL ingeschakeld, zoals besproken in ZBX-6139.
Sommige Linux-distributies zoals Debian en Ubuntu ondersteunen geen versleutelde privésleutels (met wachtwoordzin) als de libssh2-bibliotheek is geïnstalleerd via pakketten. Zie ZBX-4850 voor meer details.
Bij gebruik van libssh 0.9.x op sommige Linux-distributies met OpenSSH 8 kunnen SSH-controles soms melden "Kan geen gegevens van SSH-server lezen". Dit wordt veroorzaakt door een libssh probleem (meer gedetailleerd rapport). De verwachting is dat de fout is opgelost met de stabiele libssh 0.9.5-release. Zie ook ZBX-17756 voor details.
Het gebruik van het pipe-teken "|" in het SSH-script kan leiden tot een foutmelding "Kan geen gegevens van SSH-server lezen". In dat geval wordt aanbevolen de libssh-bibliotheek bij te werken naar een nieuwe versie. Zie ook ZBX-21337 voor details.
De MySQL unixODBC-stuurprogramma moet niet worden gebruikt met Zabbix-server of Zabbix-proxy die is gecompileerd tegen de MariaDB-connectorbibliotheek en vice versa. Als het mogelijk is, is het ook beter om dezelfde connector niet als stuurprogramma te gebruiken vanwege een probleem vanuit de bron. Voorgestelde opzet:
PostgreSQL, SQLite of Oracle-connector → MariaDB- of MySQL-unixODBC-stuurprogramma MariaDB-connector → MariaDB-unixODBC-stuurprogramma MySQL-connector → MySQL-unixODBC-stuurprogramma
Zie ZBX-7665 voor meer informatie en beschikbare oplossingen.
XML-gegevens die worden opgevraagd uit Microsoft SQL Server kunnen op verschillende manieren worden afgekapt op Linux- en UNIX-systemen.
Er is waargenomen dat het gebruik van ODBC-controles voor het bewaken van Oracle-databases met behulp van verschillende versies van Oracle Instant Client voor Linux ertoe kan leiden dat de Zabbix-server crasht. Zie ook: ZBX-18402, ZBX-20803.
Als u de FreeTDS UnixODBC-stuurprogramma gebruikt, moet u een 'SET NOCOUNT ON'-verklaring toevoegen aan een SQL-query (bijvoorbeeld, SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....
). Anders zal het database monitor-item in Zabbix niet in staat zijn om de informatie op te halen met een foutmelding "SQL query returned empty result".
Zie ZBX-19917 voor meer informatie.
De verzoeksmethodeparameter, die alleen wordt gebruikt in HTTP-controles, kan na een upgrade van een pre-4.0 Zabbix-versie mogelijk onjuist worden ingesteld op '1', een niet-standaardwaarde voor alle items. Voor details over hoe u deze situatie kunt oplossen, zie ZBX-19308.
Zabbix-server lekt geheugen op sommige Linux-distributies vanwege een upstream bug wanneer "SSL verify peer" is ingeschakeld in web-scenario's of de HTTP-agent. Zie ZBX-10486 voor meer informatie en beschikbare oplossingen.
Er is een bug in fping-versies ouder dan v3.10 die duplicaat-echo-antwoordpakketten verkeerd afhandelt. Dit kan onverwachte resultaten veroorzaken voor items zoals icmpping
, icmppingloss
en icmppingsec
. Het wordt aanbevolen om de nieuwste versie van fping te gebruiken. Zie ZBX-11726 voor meer details.
When containers are running in rootless mode or in a specific-restrictions environment, you may face errors related to fping execution when performing ICMP checks, such as fping: Operation not permitted
or all packets to all resources lost.
To fix this problem add --cap-add=net_raw
to "docker run" or "podman run" commands.
Additionally fping execution in non-root environments may require sysctl modification, i.e.:
where "1995" is the zabbix GID. For more details, see ZBX-22833.
Als het OpenBSD-besturingssysteem wordt gebruikt, kan een use-after-free-bug in de Net-SNMP-bibliotheek tot versie 5.7.3 een crash van de Zabbix-server veroorzaken als de parameter SourceIP is ingesteld in het configuratiebestand van de Zabbix-server. Als workaround, stel de SourceIP-parameter niet in. Hetzelfde probleem geldt ook voor Linux, maar dit zorgt er niet voor dat de Zabbix-server stopt met werken. Een lokale patch voor het net-snmp-pakket op OpenBSD is toegepast en zal worden vrijgegeven met OpenBSD 6.3.
Er zijn pieken waargenomen in SNMP-gegevens die mogelijk verband houden met bepaalde fysieke factoren, zoals spanningspieken in het elektriciteitsnet. Zie ZBX-14318 voor meer details.
Het pakket "net-snmp-perl" dat nodig is voor SNMP-traps is verwijderd in RHEL 8.0-8.2 en opnieuw toegevoegd in RHEL 8.3.
Als je RHEL 8.0-8.2 gebruikt, is de beste oplossing om te upgraden naar RHEL 8.3.
Zie ook ZBX-17192 voor meer informatie.
Er zijn gevallen geweest waarbij een Zabbix server alerter proces is gecrasht in RHEL 7. Zie ZBX-10461 voor meer details.
Bij het upgraden van Zabbix agent 2 (versie 6.0.5 of ouder) vanuit pakketten kan een foutmelding met betrekking tot een bestandsconflict met betrekking tot plugins optreden. Om de fout op te lossen, maak een back-up van je agent 2-configuratie (indien nodig), verwijder de agent 2 en installeer deze opnieuw.
Op RHEL-gebaseerde systemen, voer het volgende uit:
Op Debian-gebaseerde systemen, voer het volgende uit:
Voor meer informatie, zie ZBX-23250.
Het is opgemerkt dat frontend-talen zonder duidelijke logica kunnen wisselen, dat wil zeggen dat sommige pagina's (of delen van pagina's) in de ene taal worden weergegeven, terwijl andere pagina's (of delen van pagina's) in een andere taal worden weergegeven. Typisch kan dit probleem optreden wanneer er meerdere gebruikers zijn, waarvan sommigen één taal gebruiken en anderen een andere taal.
Een bekende workaround hiervoor is om multithreading in PHP en Apache uit te schakelen.
Het probleem heeft te maken met hoe het instellen van de locale werkt in PHP: locale-informatie wordt per proces bijgehouden, niet per thread. Dus in een multi-threaded omgeving, wanneer er verschillende projecten worden uitgevoerd door dezelfde Apache-process, is het mogelijk dat de locale in een andere thread wordt gewijzigd en dat dit van invloed is op hoe gegevens kunnen worden verwerkt in de Zabbix-thread.
Voor meer informatie, zie de volgende gerelateerde probleemrapporten:
bcdiv
-functie van BC Math-functies)Als "opcache" is ingeschakeld in de PHP 7.3-configuratie, kan de Zabbix-frontend een leeg scherm weergeven wanneer deze voor de eerste keer wordt geladen. Dit is een geregistreerde PHP-bug. Om dit te omzeilen, stel alstublieft de parameter "opcache.optimization_level" in op 0x7FFFBFDF
in de PHP-configuratie (php.ini-bestand).
Veranderingen in de zomertijd (DST) kunnen onregelmatigheden veroorzaken bij het weergeven van de X-as labels (dubbele datums, ontbrekende datums, enz.).
Bij het gebruik van sommatie-aggregatie in een grafiek voor een periode van minder dan één uur, kunnen grafieken onjuiste (vermenigvuldigde) waarden weergeven wanneer de gegevens afkomstig zijn van trends.
Voor sommige frontend-talen (bijv. Japans) kunnen lokale lettertypen tekst overlapping in de legenda van de grafiek veroorzaken. Om dit te voorkomen, gebruik versie 2.3.0 (of later) van de PHP GD-extensie.
log[]
en logrt[]
items blijven logbestanden herhaaldelijk vanaf het begin lezen als het bestandssysteem 100% vol is en het logbestand wordt bijgevoegd (zie ZBX-10884 voor meer informatie).
De Zabbix-server genereert trage SELECT
-queries in het geval van niet-bestaande waarden voor items. Dit probleem doet zich voor in MySQL-versies 5.6/5.7 (voor een uitgebreide discussie, zie ZBX-10652), en in specifieke gevallen kan het ook voorkomen in latere MySQL-versies. Een workaround hiervoor is het uitschakelen van de index_condition_pushdown
of prefer_ordering_index
optimizer in MySQL. Let op dat deze workaround mogelijk niet alle problemen met trage queries oplost.
De configuratiesynchronisatie kan traag zijn in Zabbix 6.0-installaties met een Oracle DB die een groot aantal items en item-voorverwerkingsstappen heeft. Dit wordt veroorzaakt door de trage verwerking van het nclob gegevenstype in de Oracle-database-engine.
Om de prestaties te verbeteren, kunt u de veldtypen handmatig omzetten van nclob naar nvarchar2 door de databasepatch items_nvarchar_prepare.sql toe te passen. Houd er rekening mee dat deze conversie de maximale veldgrootte verlaagt van 65535 bytes naar 4000 bytes voor item-voorverwerkingsparameters en itemparameters zoals Description, veld Script van Script-item, velden Request body en Headers van HTTP agent-item, en veld SQL query van Database monitor-item. Queries om te bepalen welke sjabloonnamen moeten worden verwijderd voordat u de patch toepast, worden als opmerking in de patch gegeven. Als alternatief, als MAX_STRING_SIZE is ingesteld, kunt u nvarchar2(4000) in de patchqueries wijzigen in nvarchar2(32767) om de veldgroottebeperking van 32767 bytes in te stellen.
Voor een uitgebreide discussie, zie ZBX-22363.
Er kunnen veel open gebruikerssessies worden gecreëerd wanneer u aangepaste scripts gebruikt met de user.login
methode zonder daaropvolgende user.logout
.
Vanwege een bug in net-snmp kan een IPv6-adres mogelijk niet correct worden weergegeven bij het gebruik van SNMPv3 in SNMP-traps. Voor meer details en een mogelijke oplossing, zie ZBX-14541.
Een melding van een mislukte aanmeldpoging zal alleen de eerste 39 tekens van een opgeslagen IP-adres weergeven, omdat dat het tekenlimiet is in het databaseveld. Dit betekent dat IPv6 IP-adressen langer dan 39 tekens onvolledig worden weergegeven.
Niet-bestaande DNS-vermeldingen in een Server
-parameter van het Zabbix-agentconfiguratiebestand (zabbix_agentd.conf) kunnen de responstijd van de Zabbix-agent op Windows verhogen. Dit gebeurt omdat de Windows DNS-cachingservice geen negatieve antwoorden voor IPv4-adressen in de cache opslaat. Voor IPv6-adressen worden echter wel negatieve antwoorden gecachet. Een mogelijke oplossing hiervoor is het uitschakelen van IPv4 op de host.
Er zijn enkele bekende problemen met YAML export/import:
De frontend-installatiewizard kan geen configuratiebestand opslaan op SUSE met NGINX + php-fpm. Dit wordt veroorzaakt door een instelling in het bestand /usr/lib/systemd/system/php-fpm.service, waardoor Zabbix niet naar /etc kan schrijven (ingevoerd in PHP 7.4).
Er zijn twee workaround-opties beschikbaar:
Hoewel de Zabbix-webdienst in de meeste gevallen kan worden uitgevoerd met Chromium, veroorzaakt het gebruik van Chromium op Ubuntu 20.04 de volgende fout:
Kan gegevens niet ophalen: chrome kon niet worden gestart: cmd_run.go: 994:
WAARSCHUWING: kan geen gebruikersgegevensmap maken: kan
"/var/lib/zabbix/snap/chromium/1564" niet maken: mkdir /var/lib/zabbix: toegang geweigerd
Sorry, home directories outside of /home are not currently supported. See https://forum.snapcraft.io/t/11209 for details.
Deze fout treedt op omdat /var/lib/zabbix
wordt gebruikt als de thuisdirectory van gebruiker 'zabbix'.
Als Zabbix wordt gebruikt met een MySQL-installatie op Azure, kan een onduidelijke foutmelding [9002] Some errors occurred in Zabbix-logs verschijnen. Deze generieke fouttekst wordt door de database naar de Zabbix-server of -proxy gestuurd. Om meer informatie te krijgen over de oorzaak van de fout, controleer de Azure-logs.
In Zabbix 6.0 is ondersteuning voor PCRE2 toegevoegd. Hoewel PCRE nog steeds wordt ondersteund, zijn de installatiepakketten voor Zabbix bijgewerkt om PCRE2 te gebruiken voor RHEL 7 en nieuwer, SLES (alle versies), Debian 9 en nieuwer, en Ubuntu 16.04 en nieuwer. Hoewel dit veel voordelen biedt, kan overschakelen naar PCRE2 ertoe leiden dat bepaalde bestaande PCRE-reguliere expressiepatronen ongeldig worden of zich anders gedragen. Dit heeft met name invloed op het patroon ^[\w-\.]. Om deze reguliere expressie weer geldig te maken zonder de betekenis te beïnvloeden, verander je de expressie in ^[-\w\.]. Dit komt doordat PCRE2 het minteken behandelt als een scheidingsteken, wat een bereik creëert binnen een karakterklasse.
In Zabbix 6.0 zijn nieuwe, flexibelere algoritmes voor de berekening van de status van services geïntroduceerd.
Na een upgrade van Zabbix <6.0 naar Zabbix 6.0.0, 6.0.1, 6.0.2, zullen de service-statusberekeningsregels 'Meest kritiek als alle kinderen problemen hebben' en 'Meest kritiek van de kindservices' worden omgewisseld. Services die zijn aangemaakt in Zabbix 6.0.0 en nieuwer hebben correcte statusberekeningsregels.
Bij het upgraden van versies <6.0 naar Zabbix 6.0.3 of nieuwer, zal Zabbix de service-statusberekeningsregels correct bijwerken. Upgraden van 6.0.x naar 6.0.3 zal geen effect hebben op de service-statusberekeningsregels.
De kaarten in de Geomap-widget kunnen mogelijk niet correct worden geladen als je hebt geüpgraded vanuit een oudere versie van Zabbix met NGINX en tijdens de upgrade niet bent overgeschakeld naar het nieuwe NGINX-configuratiebestand.
Om het probleem op te lossen, kun je het oude configuratiebestand negeren, het configuratiebestand uit het 6.0-pakket gebruiken en het opnieuw configureren zoals beschreven in de downloadinstructies in sectie e. Configure PHP for Zabbix frontend.
Als alternatief kun je handmatig een bestaand NGINX-configuratiebestand bewerken (meestal /etc/zabbix/nginx.conf). Open het bestand en zoek naar de volgende blok:
Vervang vervolgens dit blok door:
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
Het hulpprogramma logrotate is alleen opgenomen in de pakketten voor zabbix-agent, zabbix-agent2 en zabbix-web-service, maar moet apart worden geïnstalleerd voor Zabbix server en proxy. De logrotate-afhankelijkheid is toegevoegd aan de server- en proxy-pakketten voor RHEL en SUSE vanaf Zabbix 6.4.4rc1.
Fouten bij het parsen van JSONPath treden op bij voorloopspaties en lege arrays/objecten. Dit is opgelost in Zabbix 6.0.12.
De evaluatie van AND/OR-expressies in de filters/overschrijvingen voor laag-niveau ontdekking kan falen in deze versie. Dit is opgelost in Zabbix 6.0.12.
The Windows Zabbix agent download ZIP file is missing zabbix_sender.h and zabbix_sender.lib files in versions 6.0.0-6.0.27, required for zabbix_sender.dll.
As global variables are shared across different webhook calls, the following code will result in the tag value counter gradually increasing:
try
{
aa = aa + 1;
}
catch(e)
{
aa = 0;
}
result = {
'tags': {
'endpoint': aa
}
};
return JSON.stringify(result);
Using local variables instead of global ones is recommended to make sure that each script operates on its own data and that there are no collisions between simultaneous calls.