This is a translation of the original English documentation page. Help us make it better.
Table of Contents

8 Познати проблеми

Види такође: Проблеми са компајлацијом.

Покретање проксија са MySQL 8.0.0-8.0.17

zabbix_proxy на MySQL верзијама 8.0.0-8.0.17 не успева са следећим грешка "приступ одбијен":

[Z3001] веза са базом података 'zabbix' није успела: [1227] Приступ одбијен; потребна вам је (бар једна од) привилегија SUPER, SYSTEM_VARIABLES_ADMIN или SESSION_VARIABLES_ADMIN за ову операцију

То је због тога што је MySQL 8.0.0 почео да примењује посебне дозволе за постављање варијабли сесије. Међутим, у 8.0.18 ово понашање је уклоњено: Од MySQL 8.0.18, постављање вредности сесије ове системске променљиве више није ограничено операција.

Заобилазно решење се заснива на давању додатних привилегија zabbix корисник:

За MySQL верзије 8.0.14 - 8.0.17:

grant SESSION_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';

За MySQL верзије 8.0.0 - 8.0.13:

grant SYSTEM_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';

Надоградња

Подешавање СКЛ режима за успешну надоградњу

Поставка sql_mode у MySQL/MariaDB мора имати подешен режим "STRICT_TRANS_TABLES". Ако је одсутан, надоградња Zabbix базе података неће успети (погледајте такође ZBX-19435).

Надоградите са MariaDB 10.2.1 и раније

Надоградња Zabbix-а можда неће успети ако су табеле базе података креиране помоћу MariaDB-а 10.2.1 и раније, јер је у тим верзијама подразумевани формат реда компактан. Ово се може поправити променом формата реда у динамички (погледајте такође ZBX-17690).

Шаблони

Компатибилност шаблона у дуал-стек (IPv4/IPv6) окружењима

У дуал-стек окружењима (системи конфигурисани да подржавају и IPv4 и IPv6), име домаћина localhost се обично разрешава и на IPv4 и на IPv6 адресе. Због уобичајеног давања приоритета IPv6 у односу на IPv4 од стране многих оперативних система и DNS разрешивача, Zabbix шаблони можда неће исправно функционисати ако је сервис који се прати конфигурисан да слуша само на IPv4.

Сервиси који нису конфигурисани да слушају на IPv6 адресама могу постати недоступни, што доводи до кварова у праћењу. Корисници могу правилно конфигурисати приступ за IPv4, али се и даље суочавају са проблемима повезивања због подразумеваног понашања давања приоритета IPv6.

Решење за ово је да се осигура да су сервиси (Nginx, Apache, PostgreSQL, итд.) конфигурисани да слушају и на IPv4 и на IPv6 адресама и да је Zabbix серверу/агенту дозвољен приступ путем IPv6.

Поред тога, у Zabbix шаблонима и конфигурацијама, експлицитно користите localhost уместо 127.0.0.1 да бисте осигурали компатибилност са IPv4 и IPv6.

На пример, када пратите PostgreSQL помоћу шаблона PostgreSQL by Zabbix agent 2, можда ћете морати да измените датотеку pg_hba.conf да бисте омогућили повезивање за корисника zbx_monitor. Ако окружење са двоструким стеком даје приоритет IPv6 (систем решава localhost као ::1) и конфигуришете localhost, али додате само IPv4 унос (127.0.0.1/32), веза ће бити неуспешна јер не постоји одговарајући IPv6 унос.

Следећи пример датотеке pg_hba.conf осигурава да корисник zbx_monitor може да се повеже са било којом базом података са локалне машине користећи и IPv4 и IPv6 адресе са различитим методама аутентификације:

# 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

Ако је потребно, можете директно користити и IPv4 адресу (127.0.0.1) приликом конфигурисања макроа шаблона PostgreSQL by Zabbix agent 2 за стринг за повезивање.

Случајна инсталација EPEL Zabbix пакета

Са инсталираним и омогућеним EPEL репозиторијумом, инсталирање Zabbix-а из пакета ће довести до инсталирања EPEL Zabbix пакета уместо званичних Zabbix пакета.

У овом случају, деинсталирајте Zabbix пакете из EPEL-а, тј.:

dnf remove zabbix-server-mysql

Блокирајте Zabbix пакете из EPEL-а. Додајте следећи ред у датотеку /etc/yum.conf:

exclude=zabbix7.0*

Поново инсталирајте Zabbix сервер:

dnf install zabbix-server-mysql

Обратите пажњу да званични Zabbix пакети имају реч release у свом низу верзије:

7.0.0-release1.el8

Zabbix пакети за RHEL на Red Hat UBI окружењима

Када инсталирате Zabbix из Red Hat Enterprise Linux пакета на Red Hat Universal Base Image окружења, обезбедите приступ потребним репозиторијумима и зависностима. Zabbix пакети зависе од библиотека libOpenIPMI.so и libOpenIPMIposix.so, које не обезбеђује ниједан пакет у подразумеваним репозиторијумима менаџера пакета омогућеним на UBI системима и довешће до неуспеха инсталације.

Библиотеке libOpenIPMI.so и libOpenIPMIposix.so су доступне у пакету OpenIPMI-libs, који обезбеђује redhat-#-for-<arch>-appstream-rpms спремиште. Приступ овом спремишту је куриран претплатама, које се, у случају UBI окружења, пропагирају монтирањем директорија конфигурације спремишта и тајних директорија RHEL домаћина у именски простор система датотека контејнера.

За више информација погледајте ZBX-24291.

Истекао кључ за потписивање за RHEL пакете

Приликом надоградње Zabbix-а на Red Hat Enterprise Linux или његовим дериватима, можете наићи на проблем са истеклим кључем за потписивање за пакете на Zabbix репозиторијуму. Када кључ за потписивање истекне, покушаји провере потписа пакета резултираће грешком која указује да сертификат или кључ више нису важећи. На пример:

грешка: Верификација потписа помоћу сертификата D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (јул 2022) <[email protected]>):
       1. Сертификат 19F2475308EFA7DD неважећи: сертификат није активан
       јер: Примарни кључ није активан
       јер: Истекао 2024-07-04T11:41:23Z
       2. Кључ 19F2475308EFA7DD неважећи: кључ није активан
       јер: Примарни кључ није активан
       јер: Истекао 2024-07-04T11:41:23Z

Да бисте решили такве проблеме, ручно поново инсталирајте најновији zabbix-release пакет за вашу специфичну варијанту RHEL-а (замените линк испод исправним један из Zabbix репозиторијума).

На пример, на RHEL 9, покрените:

rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rhel/9/noarch/zabbix-release-latest.el9.noarch.rpm

Затим, ажурирајте информације о репозиторијуму:

dnf update

За више информација, погледајте ZBX-24761.

Временска база података: велика потрошња меморије са великим бројем партиција

PostgreSQL верзије 9.6-12 користе превише меморије приликом ажурирања табела са великим бројем партиција. Овај проблем се манифестује када Zabbix ажурира трендове на системима са TimescaleDB ако су трендови подељени на релативно мале (нпр. 1 дан) делове. То доводи до стотина делова присутних у табелама трендова са подразумеваним подешавањима одржавања - стање у којем ће PostgreSQL-у вероватно понестати меморије.

Проблем је решен од Zabbix-а 5.0.1 за нове инсталације са TimescaleDB-ом, али ако је TimescaleDB подешен са Zabbix-ом пре тога, погледајте ZBX-16347 за напомене о миграцији.

Timescale DB 2.5.0: политика компресије може да не успе на табелама које садрже целе бројеве

Овај проблем се манифестује када се користи TimescaleDB 2.5.0/2.5.1. Решен је од TimescaleDB 2.5.2.

За више информација, погледајте TimescaleDB Issue #3773.

TLS веза базе података са MariaDB

TLS веза базе података није подржана са опцијом 'verify_ca' за DBTLSConnect параметар ако се користи MariaDB.

Могућа блокада са MySQL/MariaDB

Када се ради под великим оптерећењем и са више од једног LLD радника укључених, могуће је наићи на застој узроковану грешком InnoDB која се односи на стратегију закључавања редова (погледајте упстреам грешка). Грешка је исправљена у MySQL од 8.0.29, али не и у MariaDB. За више детаља погледајте ZBX-21506.

Глобална корелација догађаја

Догађаји можда неће бити правилно повезани ако временски интервал између први и други догађај је веома мали, односно пола секунде и мање.

Нумерички (флоат) опсег типова података са PostgreSQL 11 и старијим верзијама

PostgreSQL 11 и старије верзије подржавају само вредност у покретном зарезу опсег од приближно -1.34E-154 до 1.34E+154.

NetBSD 8.0 и новије

Различити Zabbix процеси се могу насумично срушити при покретању на NetBSD-у верзије 8.X и 9.X. То је због премале подразумеване величине стека (4MB), који се мора повећати покретањем:

ulimit -s 10240

За више информација погледајте повезани извештај о проблему: ZBX-18275.

Ограничења регуларног израза у Zabbix агенту 2

Zabbix агент 2 не подржава lookaheads и lookbehinds у регуларним изразима због ограничења стандардне библиотеке Go regexp.

IPMI провере

IPMI провере неће радити са укљученим стандардним пакетом библиотеке OpenIPMI Debian пре 9 (stretch) и Ubuntu пре 16.04 (xenial). Да поправим да поново компајлирајте OpenIPMI библиотеку са омогућеним OpenSSL-ом као што је објашњено у ZBX-6139.

SSH провере

  • Неке Linux дистрибуције као што су Debian, Ubuntu не подржавају шифроване приватни кључеви (са приступном фразом) ако је библиотека libssh2 инсталирана из пакети. Погледајте ZBX-4850 за више детаља.

– Када користите libssh 0.9.к на неким Linux дистрибуцијама са OpenSSH 8, SSH провере могу повремено извести "Не могу да прочитам податке са SSH сервера". Ово је узроковано од libssh издање (more detailed report). Грешка је очекивана да је поправљено стабилним издањем libssh 0.9.5. Види такође ZBX-17756 за детаље.

  • Коришћење цеви "|" у SSH скрипти може довести до а Грешка "Не могу да прочитам податке са SSH сервера". У овом случају се препоручује да надоградите верзију библиотеке libssh. Такође погледајте ZBX-21337 за детаље.

ODBC провере

  • MySQL unixODBC драјвер не треба користити са Zabbix сервером или Zabbix проксијем компајлираним са MariaDB конектор библиотеком и обрнуто, ако је могуће, боље је избегавати коришћење истог конектора као и драјвера због грешке у узводном програму. Предложено подешавање:

PostgreSQL, SQLite или Oracle конектор → MariaDB или MySQL unixODBC драјвер MariaDB конектор → MariaDB unixODBC драјвер MySQL конектор → MySQL unixODBC драјвер

Погледајте ZBX-7665 за више информација и доступна решења.

  • XML подаци упити са Microsoft SQL Server-а могу бити скраћени на различите начине на Linux и UNIX системима.

  • Примећено је да коришћење ODBC провера за праћење Oracle база података користећи различите верзије Oracle Instant Client-а за Linux доводи до пада Zabbix сервера. Видите такође: ZBX-18402, ZBX-20803.

  • Ако користите FreeTDS UnixODBC драјвер, потребно је да додате 'SET NOCOUNT ON' наредбу SQL упиту (на пример, SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....). У супротном, ставка за праћење базе података у Zabbix-у неће успети да преузме информације са грешком "SQL упит је вратио празан резултат".
    Више информација потражите у ZBX-19917.

Нетачан параметар метода захтева у ставкама

Параметар методе захтева, који се користи само у HTTP проверама, може бити погрешно постављено на '1', вредност која није подразумевана за све ставке као резултат надоградите са Zabbix верзије пре 4.0. За детаље о томе како да ово поправите ситуацију, погледајте ZBX-19308.

Веб надгледање и HTTP агент

Zabbix сервер пропушта меморију на неким Linux дистрибуцијама због upstream грешка када "SSL verify peer" је омогућен у веб сценаријима или HTTP агенту. Погледајте ZBX-10486 за више информације и доступна решења.

Једноставне провере

Постоји грешка у fping верзијама старијим од v3.10 која погрешно рукује дупликати echo replay пакета. Ово може довести до неочекиваних резултата за icmpping, icmppingloss, icmppingsec ставке. Препоручује се да се користите најновију верзију fping. Молим вас погледајте ZBX-11726 за више детаљима.

Грешке при извршавању fping-а у контејнерима без рут-а

Када контејнери раде у режиму без рут-а или у окружењу са специфичним ограничењима, можете се суочити са грешкама везаним за извршавање fping-а приликом обављања ICMP провера, као што је fping: Операција није дозвољена или сви пакети за све ресурсе су изгубљени.

Да бисте решили овај проблем, додајте --cap-add=net_raw командама "docker run" или "podman run".

Поред тога, извршавање fping-а у окружењима без рут-а може захтевати модификацију sysctl-а, тј.:

sudo sysctl -w "net.ipv4.ping_group_range=0 1995"

где је "1995" zabbix GID. За више детаља, погледајте ZBX-22833.

SNMP провере

Ако се користи OpenBSD оперативни систем, грешка без употребе у Net-SNMP библиотека до верзије 5.7.3 може изазвати пад Zabbix-а сервер ако је параметар SourceIP постављен на Zabbix серверу конфигурациони фајл. Као решење, немојте постављати SourceIP параметар. Исти проблем важи и за Linux, али не узроковати да Zabbix сервер престане да ради. Локална закрпа за нет-снмп пакет на OpenBSD је примењен и биће објављен са OpenBSD 6.3.

SNMP подаци

Примећени су скокови у SNMP подацима који могу бити повезани са одређеним физички фактори као што су скокови напона у мрежи. Видите ZBX-14318 више детаља.

SNMP замке

Пакет "net-snmp-perl", потребан за SNMP замке, је уклоњен RHEL 8.0-8.2; поново додато у RHEL 8.3.

Дакле, ако користите RHEL 8.0-8.2, најбоље решење је надоградња на RHEL 8.3.

Такође погледајте ZBX-17192 за више информација.

Пад процеса упозорења у RHEL 7

Наишли су на случајеве пада процеса упозорења Zabbix сервера у RHEL 7. Погледајте ZBX-10461 за детаље.

Надоградња Zabbix агента 2 (6.0.5 или старија)

Приликом надоградње Zabbix агента 2 (верзија 6.0.5 или старија) из пакета, може доћи до грешке услед конфликта датотека повезаног са додатком. Да бисте исправили грешку, направите резервну копију конфигурације агента 2 (ако је потребно), деинсталирајте агента 2 и поново га инсталирајте.

На системима заснованим на RHEL-у, покрените:

dnf remove zabbix-agent2 dnf install zabbix-agent2

На системима заснованим на Debian-у, покрените:

apt remove zabbix-agent2 apt install zabbix-agent2

За више информација, погледајте ZBX-23250.

Промена локалних подешавања фронтенда

Примећено је да се локална подешавања фронтенда могу мењати без очигледне логике, тј. неке странице (или делови страница) се приказују на једном језику, док су друге странице (или делови страница) на другом језику. Типично, проблем се може појавити када постоји више корисника, од којих неки користе један локални подешавања, док други користе други.

Познато решење за ово је онемогућавање вишенитног рада у PHP-у и Apache-у.

Проблем је повезан са начином на који подешавање локалног подешавања функционише у PHP-у: информације о локалном подешавања се одржавају по процесу, а не по нити. Дакле, у вишенитном окружењу, када постоји неколико пројеката које покреће исти Apache процес, могуће је да се локално подешавања промене у другој нити и то промени начин на који се подаци могу обрађивати у Zabbix нити.

За више информација, погледајте повезане извештаје о проблемима:

  • ZBX-10911 (Проблем са променом локалних подешавања фронтенда)
  • ZBX-16297 (Проблем са обрадом бројева у графовима коришћењем функције bcdiv математичких функција BC )

Графови

летње рачунање времена

Промене летњег рачунања времена (DST) доводе до неправилности када приказивање ознака X осе (дуплицирање датума, датум који недостаје, итд.).

Агрегација збира

Када користите sum aggregation на графикону за период краћи од једног сата, графикони се приказују нетачне (умножене) вредности када подаци потичу из трендова.

Текст се преклапа

За неке језике корисничког интерфејса (нпр. јапански), локални фонтови могу да изазову преклапање текста у легенди графикона. Да бисте то избегли, користите верзију 2.3.0 (или новију) PHP GD екстензије.

Надгледање датотеке дневника

Ставке log[] и logrt[] више пута поново читају датотеку евиденције из почиње ако је систем датотека 100% пун и датотека евиденције се додаје (погледајте ZBX-10884 за више информације).

Спори MySQL упити

Zabbix сервер генерише споре SELECT упите у случају непостојећих вредности за ставке. Познато је да се овај проблем јавља у верзијама MySQL 5.6/5.7 (за проширену дискусију погледајте ZBX-10652), а, у одређеним случајевима, може се појавити иу каснијим верзијама MySQL-а. Заобилазно решење за ово је онемогућавање index_condition_pushdown или prefer_ordering_index оптимизатор у MySQL-у. Имајте на уму, међутим, да ово решење можда неће решити све проблеме у вези са спорим упитима.

Трајна подешавања филтера из веза

Када отворите везу ка страници Zabbix корисничког интерфејса која садржи подешавања филтера, укључујући бирач времена, филтер се аутоматски чува у бази података за корисника, замењујући претходно сачувани филтер и/или подешавања селектора времена за ту страницу. Ова подешавања остају активна све док их корисник ручно не ажурира или ресетује.

Проблем са IPv6 адресом у SNMPv3 замкама

Због нет-снмп грешке, IPv6 адреса можда неће бити исправно приказана када користећи SNMPv3 у SNMP замкама. За више детаља и могуће решење, погледајте ZBX-14541.

Исечена дуга IPv6 IP адреса у информацијама о неуспешној пријави

Порука о неуспелом покушају пријаве ће приказати само првих 39 знакова сачуване IP адресе јер је то ограничење броја знакова у бази података поље. То значи да ће IPv6 IP адресе дуже од 39 знакова бити приказан непотпуно.

Zabbix агент проверава Windows

Непостојећи DNS уноси у параметру Сервер Zabbix агента конфигурациони фајл (zabbix_agentd.conf) може повећати Zabbix агент време одговора на Windows-у. Ово се дешава због Windows DNS кеширања даемон не кешује негативне одговоре за IPv4 адресе. Међутим, за Негативни одговори IPv6 адреса су кеширани, тако да је могуће решење ово је онемогућавање IPv4 на домаћину.

YAML извоз/увоз

Постоје неки познати проблеми са YAML-ом извоз/увоз:

  • Поруке о грешкама се не могу превести;
  • Важећи JSON са екстензијом датотеке .yaml понекад се не може увести;
  • Ненаведени датуми читљиви за човека се аутоматски конвертују у Unix временске ознаке.

Чаробњак за подешавање на SUSE-у са NGNIX-ом и php-fpm-ом

Чаробњак за подешавање корисничког интерфејса не може да сачува конфигурациону датотеку на SUSE са NGINX-ом + php-fpm. Ово је узроковано подешавањем у /usr/lib/systemd/system/php-fpm.service јединица, која спречава Zabbix да писање у /etc. (уведено у PHP 7.4).

Доступне су две опције за заобилазно решење:

  • Поставите ProtectSystem опцију на 'true' уместо на 'full' у јединици php-fpm systemd.
  • Ручно сачувајте /etc/zabbix/web/zabbix.conf.php датотеку.

Прослеђивање заглавља за ауторизацију

У неким случајевима, Apache или NGINX могу спречити да заглавље за ауторизацију у API захтевима стигне до Zabbix-а. Ово може изазвати проблеме са аутентификацијом при коришћењу Zabbix API-ја или услуга јединственог пријављивања (SSO), као што је SAML са Okta-ом.

Да бисте решили овај проблем, ажурирајте конфигурацију вашег веб сервера.

За Apache, ако га користите као обрнути прокси (подешавање које није CGI), додајте следећу директиву у /etc/httpd/conf/httpd.conf (на RHEL-базираним системима) или /etc/apache2/apache2.conf (на Debian/Ubuntu):

SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

Ако Apache директно извршава скрипте за обраду захтева (нпр. коришћењем mod_cgi), уместо тога додајте следећу директиву:

CGIPassAuth On

Насупрот томе, NGINX аутоматски обрађује заглавље Authorization. Међутим, ако NGINX делује као обрнути прокси, можете експлицитно проследити заглавље ауторизације додавањем следећих директива у /etc/nginx/nginx.conf (за вашу локацију Zabbix фронтенда):

...
       location / {
       ...
       proxy_set_header Ауторизација $http_authorization;
       proxy_pass http://backend_server;
       ...
       }

Након ажурирања конфигурације, поново покрените веб сервер.

За више детаља, погледајте:

Chromium за Zabbix веб сервис на Ubuntu 20

Иако у већини случајева, Zabbix веб сервис може да ради са укљученим Chromium-ом Ubuntu 20.04 који користи Chromium изазива следећу грешку:

Није могуће преузети податке: chrome није успео да се start:cmd_run.go:994:
       УПОЗОРЕЊЕ: не могу креирати именик корисничких података: не могу креирати 
       "/var/lib/zabbix/snap/chromium/1564": mkdir /var/lib/zabbix: дозвола одбијена
       Жао нам је, кућни директорији изван /home тренутно нису подржани. Погледајте https://forum.snapcraft.io/t/11209 за детаље.

Ова грешка се јавља зато што се /var/lib/zabbix користи као почетни директоријум корисника 'zabbix'.

MySQL прилагођени кодови грешака

Када Zabbix открије да је позадинска база података недоступна, шаље обавештење и наставља да покушава да се повеже. За одређене механизме базе података препознају се специфични кодови грешака. У MySQL-у, ови препознати кодови грешака укључују:

  • 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

Поред тога, када користите Zabbix са MySQL инсталацијом на Azure-у, генеричка порука о грешци [9002] Дошло је до неких грешака може се појавити у Zabbix логовима. Ову поруку база података шаље Zabbix серверу или проксију. Да бисте утврдили узрок грешке, погледајте Azure логове.

Неважећи регуларни изрази након преласка на PCRE2

У Zabbix 6.0 је додата подршка за PCRE2. Иако је PCRE и даље подржан, Zabbix инсталациони пакети за RHEL 7 и новије, SLES (све верзије), Debian 9 и новије, Ubuntu 16.04 и новије су ажурирани да користе PCRE2. Иако пружа многе предности, прелазак на PCRE2 може довести до тога да одређени постојећи PCRE обрасци регуларних израза постану неважећи или да се понашају другачије. Ово посебно утиче на образац ^[\w-\.]. Да би овај регекп поново био валидан без утицаја на семантику, промените израз у ^[-\w\.] . Ово се дешава због чињенице да PCRE2 третира знак цртице као граничник, стварајући опсег унутар класе карактера.

Грешка у виџету Геомап

Мапе у виџету Геомап се можда неће правилно учитати ако сте надоградили са старије верзије Zabbix-а са NGINX-ом и нисте прешли на нову конфигурациону датотеку NGINX-а током надоградње.

Да бисте решили проблем, можете одбацити стару конфигурациону датотеку, користити конфигурациону датотеку из пакета тренутне верзије и поново је конфигурисати као што је описано у упутствима за преузимање у одељку e. Конфигуришите PHP за Zabbix кориснички интерфејс.

Алтернативно, можете ручно изменити постојећу конфигурациону датотеку NGINX-а (обично /etc/zabbix/nginx.conf). Да бисте то урадили, отворите датотеку и пронађите следећи блок:

location ~ /(api/|conf[^\.]|include|locale|vendor) { deny all; return 404; }

Затим, замените овај блок са:

location ~ /(api/|conf[^\.]|include|locale) { deny all; return 404; }

location /vendor { денy all; врати 404; }

Случај употребе са глобалним варијаблама које се деле у позивима вебхука

Пошто се глобалне променљиве (на пример, коришћењем global = 1 без декларације var, let или const) деле између различитих позива вебхука, следећи код ће резултирати постепеним повећањем бројача вредности ознаке:

try 
       {
          аа = аа + 1;
       }
       catch(e)
       {
          аа = 0;
       }

       result = {
               'tags': {
                   'endpoint': аа
               }
           };
       return JSON.stringify(result);

Препоручује се коришћење локалних променљивих уместо глобалних како би се осигурало да свака скрипта ради на сопственим подацима и да нема колизија између истовремених позива.

Групе процесора на Windows-у

Microsoft документација наводи да системи са мање од 64 логичка процесора увек имају једну групу процесора, Групу 0. Међутим, Zabbix корисници су пријавили ретку грешку ZBX-20260, када постоје две групе процесора на системима са 64 или мање логичких процесора. Ово је довело до тога да имамо "(n)" бројаче перформанси само за једну од две групе процесора. Стварни основни узрок ове грешке није познат. Међутим, сличан случај је описан на stackoverflow.com, а основни узрок је био у интеракцији између BIOS-а и Windows-а.

Ограничења филтрирања са utf8mb4 колацијама

Филтери (нпр. у Прикупљање податакаОдржавање) можда неће правилно функционисати када се примене на ентитете који садрже одређене Unicode знакове (нпр. ȼ, ɇ). Овај проблем настаје због начина на који подразумевана utf8mb4_bin колација за MySQL или MariaDB базе података обрађује сортирање и поређење Unicode знакова.

Да би се решило ово ограничење, корисници могу променити колацију колона базе података у алтернативе као што су utf8mb4_0900_bin, utf8mb4_0900_ai_ci или utf8mb4_unicode_520_ci. Међутим, имајте на уму да промена колације може изазвати неочекивано понашање у руковању празним просторима, као и сортирањем и филтрирањем за друге знакове.

За више информација о промени колација, погледајте MySQL документацију или MariaDB документацију. За детаље о разликама у колацији, погледајте Unicode Character Sets у MySQL документацији.

Приступ UI елементима са MariaDB 10.5.1–10.5.9

Приступ Zabbix корисничком интерфејсу са улогом која није Супер администратор може довести до поруке: "System error occurred. Please contact Zabbix administrator.". Овај проблем утиче на инсталације које користе MariaDB верзије 10.5.1 до 10.5.9.

Да бисте избегли овај проблем, ажурирајте MariaDB на верзију каснију од 10.5.9. За више детаља погледајте ZBX-25746.

Profiling excessive memory usage with tcmalloc

If you suspect your Zabbix installation is using too much memory, you can use tcmalloc's memory profiling feature to investigate Zabbix server/proxy memory consumption.

1. When installing Zabbix from sources, configure additional flags:

export CFLAGS="-std=gnu99 -g -O0"

The -std=gnu99 flag is required for building Zabbix server, Zabbix proxy, or Zabbix agent. The -g flag adds extra debugging information, while -O0 disables optimizations, which can interfere with tcmalloc's profiling.

2. Set the following environment variables before starting the Zabbix server. These variables tell tcmalloc how to track and report memory usage:

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. Trigger a profile dump by sending signal 5 to the target process. Replace 1234 with the actual process ID (PID):

kill -5 1234

4. Print the generated profile:

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 this example, zbx_malloc2 is responsible for almost all memory allocations.

See also:

Групна репликација MySQL 8.0 у вишеструко примарном режиму

Када користите групну репликацију MySQL 8.0 у вишеструко примарном режиму, можете наићи на грешку током потврђивања трансакција сличну следећој:

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] Додатак је наложио серверу да врати тренутну трансакцију. [commit;]

Изгледа да је ова грешка изазвана проблемима са операцијама враћања које укључују ограничења страних кључева.

Погледајте такође: