Такође погледајте: Проблеми са компилацијом.
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:
За MySQL верзије 8.0.0 - 8.0.13:
Поставка sql_mode
у MySQL/MariaDB мора имати подешен режим "STRICT_TRANS_TABLES". Ако је одсутан, надоградња Zabbix базе података неће успети (погледајте такође ZBX-19435).
Надоградња Zabbix-а можда неће успети ако су табеле базе података креиране помоћу MariaDB-а 10.2.1 и раније, јер је у тим верзијама подразумевани формат реда компактан. Ово се може поправити променом формата реда у динамички (погледајте такође ZBX-17690).
У окружењима са двоструким стеком (системи конфигурисани да подржавају и ИПв4 и ИПв6), име домаћина 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 агент 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 ADDRES SMETHOD
host all zbx_monitor localhost trust
host all zbx_monitor127.0.0.1/32 md5
host all zbx_monitor::1/128 scram-sha-256
Ако је потребно, такође можете користити IPv4 адресу (127.0.0.1
) директно када конфигуришете PostgreSQL by Zabbix агент 2 шаблонски макро за низ везе.
Са инсталираним и омогућеним EPEL репозиторијумом, инсталирање Zabbix-а из пакета ће довести до тога да се инсталирају EPEL Zabbix пакети уместо званичних Zabbix пакета.
У овом случају деинсталирајте Zabbix пакете из EPEL-а, тј.:
Блокирајте Zabbix пакете из EPEL-а. Додајте следећи ред у датотеку /etc/yum.conf
:
Поново инсталирајте Zabbix сервер:
Обратите пажњу да званични Zabbix пакети имају реч release
у низу верзије:
Када инсталирате 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.
When upgrading Zabbix on Red Hat Enterprise Linux or its derivatives, 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.
TLS веза базе података није подржана са опцијом 'verify_ca' за DBTLSConnect параметар ако се користи MariaDB.
Када се ради под великим оптерећењем и са више од једног LLD радника укључених, могуће је наићи на застој узроковану грешком InnoDB која се односи на стратегију закључавања редова (погледајте упстреам грешка). Грешка је исправљена у MySQL од 8.0.29, али не и у MariaDB. За више детаља погледајте ZBX-21506.
Догађаји можда неће бити правилно повезани ако временски интервал између први и други догађај је веома мали, односно пола секунде и мање.
PostgreSQL 11 и старије верзије подржавају само вредност у покретном зарезу опсег од приближно -1.34E-154 до 1.34E+154.
Различити Zabbix процеси се могу насумично срушити при покретању на NetBSD-у верзије 8.X и 9.X. То је због премале подразумеване величине стека (4MB), који се мора повећати покретањем:
За више информација погледајте повезани извештај о проблему: ZBX-18275.
Zabbix агент 2 не подржава lookaheads и lookbehinds у регуларним изразима због ограничења стандардне библиотеке Go regexp.
IPMI провере неће радити са укљученим стандардним пакетом библиотеке OpenIPMI Debian пре 9 (stretch) и Ubuntu пре 16.04 (xenial). Да поправим да поново компајлирајте OpenIPMI библиотеку са омогућеним OpenSSL-ом као што је објашњено у ZBX-6139.
– Када користите libssh 0.9.к на неким Linux дистрибуцијама са OpenSSH 8, SSH провере могу повремено извести "Не могу да прочитам податке са SSH сервера". Ово је узроковано од libssh издање (more detailed report). Грешка је очекивана да је поправљено стабилним издањем libssh 0.9.5. Види такође ZBX-17756 за детаље.
MySQL unixODBC драјвер не би требало да се користи са Zabbix сервером или Zabbix проксијем компајлираним на MariaDB конектору библиотека и обрнуто, ако је могуће, такође је боље избегавати коришћење истог конектора као и драјвер због upstream bug. Предложено подешавање:
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.
Zabbix сервер пропушта меморију на неким Linux дистрибуцијама због upstream грешка када "SSL verify peer" је омогућен у веб сценаријима или HTTP агенту. Погледајте ZBX-10486 за више информације и доступна решења.
Постоји грешка у fping верзијама старијим од v3.10 која погрешно рукује дупликати echo replay пакета. Ово може довести до неочекиваних резултата за icmpping
, icmppingloss
, icmppingsec
ставке. Препоручује се да се користите најновију верзију fping. Молим вас погледајте ZBX-11726 за више детаљима.
Када се контејнери покрећу у режиму без корена или у окружењу са одређеним ограничењима, можете се суочити са грешкама у вези са извршавањем fping-а приликом извођења ICMP провера, као што је fping: Операција није дозвољена
или су изгубљени сви пакети за све ресурсе.
Да бисте решили овај проблем, додајте --cap-add=net_raw
у команде "docker run" или "podman run".
Поред тога, извршавање fping-а у окружењима која нису роот може захтевати модификацију sysctl-а, тј.:
где је "1995" zabbix GID. За више детаља погледајте ZBX-22833.
Ако се користи OpenBSD оперативни систем, грешка без употребе у Net-SNMP библиотека до верзије 5.7.3 може изазвати пад Zabbix-а сервер ако је параметар SourceIP постављен на Zabbix серверу конфигурациони фајл. Као решење, немојте постављати SourceIP параметар. Исти проблем важи и за Linux, али не узроковати да Zabbix сервер престане да ради. Локална закрпа за нет-снмп пакет на OpenBSD је примењен и биће објављен са OpenBSD 6.3.
Примећени су скокови у SNMP подацима који могу бити повезани са одређеним физички фактори као што су скокови напона у мрежи. Видите ZBX-14318 више детаља.
Пакет "net-snmp-perl", потребан за SNMP замке, је уклоњен RHEL 8.0-8.2; поново додато у RHEL 8.3.
Дакле, ако користите RHEL 8.0-8.2, најбоље решење је надоградња на RHEL 8.3.
Такође погледајте ZBX-17192 за више информација.
Наишли су на случајеве пада процеса упозорења Zabbix сервера у RHEL 7. Погледајте ZBX-10461 за детаље.
Приликом надоградње Zabbix агента 2 (верзија 6.0.5 или старија) из пакета, може доћи до грешке у конфликту датотека у вези са додацима. Да бисте исправили грешку, направите резервну копију конфигурације агента 2 (ако је потребно), деинсталирајте агента 2 и поново га инсталирајте.
На системима заснованим на RHEL, покрените:
На системима заснованим на Debian-у покрените:
За више информација погледајте ZBX-23250.
It has been observed that frontend locales may flip without apparent logic, i. e. some pages (or parts of pages) are displayed in one language while other pages (or parts of pages) in a different language. Typically the problem may appear when there are several users, some of whom use one locale, while others use another.
A known workaround to this is to disable multithreading in PHP and Apache.
The problem is related to how setting the locale works in PHP: locale information is maintained per process, not per thread. So in a multi-thread environment, when there are several projects run by same Apache process, it is possible that the locale gets changed in another thread and that changes how data can be processed in the Zabbix thread.
For more information, please see related problem reports:
bcdiv
function of BC Math functions)Промене летњег рачунања времена (DST) доводе до неправилности када приказивање ознака X осе (дуплицирање датума, датум који недостаје, итд.).
Када користите sum aggregation на графикону за период краћи од једног сата, графикони се приказују нетачне (умножене) вредности када подаци потичу из трендова.
За неке језике корисничког интерфејса (нпр. јапански), локални фонтови могу да изазову преклапање текста у легенди графикона. Да бисте то избегли, користите верзију 2.3.0 (или новију) PHP GD екстензије.
Ставке log[]
и logrt[]
више пута поново читају датотеку евиденције из почиње ако је систем датотека 100% пун и датотека евиденције се додаје (погледајте ZBX-10884 за више информације).
Zabbix сервер генерише споре SELECT
упите у случају непостојећих вредности за ставке. Познато је да се овај проблем јавља у верзијама MySQL 5.6/5.7 (за проширену дискусију погледајте ZBX-10652), а, у одређеним случајевима, може се појавити иу каснијим верзијама MySQL-а. Заобилазно решење за ово је онемогућавање index_condition_pushdown
или prefer_ordering_index
оптимизатор у MySQL-у. Имајте на уму, међутим, да ово решење можда неће решити све проблеме у вези са спорим упитима.
Синхронизација конфигурације може бити спора у Zabbix инсталацијама са Oracle DB-ом које имају велики број ставки и корака за претходну обраду ставки. Ово је узроковано брзином обраде поља типа nclob Oracle машине базе података.
Да бисте побољшали перформансе, можете да конвертујете типове поља из nclob у nvarchar2 тако што ћете ручно применити закрпу базе података [items_nvarchar_prepare.sql]((/../assets/en/manual/installation/items_nvarchar_prepare.sql). Имајте на уму да ће ова конверзија смањити максималну величину поља са 65535 бајтова на 4000 бајтова за параметре за претходну обраду ставке и параметре ставке као што су Description, поље ставке скрипте Script, Поља ставке HTTP агента Request body и Headers, поље ставке за праћење базе података SQL query. Упити за одређивање имена шаблона које треба избрисати пре примене закрпе су дати у закрпи као коментар. Алтернативно, ако је MAX_STRING_SIZE подешен, можете променити nvarchar2(4000) у nvarchar2(32767) у упитима закрпе да бисте поставили ограничење величине поља од 32767 бајтова.
За проширену дискусију, погледајте ZBX-22363.
Велики број отворених корисничких сесија може се креирати када се користи прилагођено скрипте са user.login
методом без следећег user.logout
.
When opening a link to Zabbix frontend page that contains filter settings, including the time selector, the filter is automatically saved in the database for the user, replacing the previously saved filter and/or time selector settings for that page. These settings remain active until the user manually updates or resets them.
Због нет-снмп грешке, IPv6 адреса можда неће бити исправно приказана када користећи SNMPv3 у SNMP замкама. За више детаља и могуће решење, погледајте ZBX-14541.
Порука о неуспелом покушају пријаве ће приказати само првих 39 знакова сачуване IP адресе јер је то ограничење броја знакова у бази података поље. То значи да ће IPv6 IP адресе дуже од 39 знакова бити приказан непотпуно.
Непостојећи DNS уноси у параметру Сервер
Zabbix агента конфигурациони фајл (zabbix_agentd.conf) може повећати Zabbix агент време одговора на Windows-у. Ово се дешава због Windows DNS кеширања даемон не кешује негативне одговоре за IPv4 адресе. Међутим, за Негативни одговори IPv6 адреса су кеширани, тако да је могуће решење ово је онемогућавање IPv4 на домаћину.
Постоје неки познати проблеми са YAML-ом извоз/увоз:
Чаробњак за подешавање корисничког интерфејса не може да сачува конфигурациону датотеку на SUSE са NGINX-ом + php-fpm. Ово је узроковано подешавањем у /usr/lib/systemd/system/php-fpm.service јединица, која спречава Zabbix да писање у /etc. (уведено у PHP 7.4).
Доступне су две опције за заобилазно решење:
Иако у већини случајева, 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'.
Ако се Zabbix користи са MySQL инсталацијом на Azure-у, нејасна грешка порука [9002] Дошло је до неких грешака могу се појавити у Zabbix евиденцији. Ово генерички текст грешке се шаље на Zabbix сервер или проки од стране базе података. То добити више информација о узроку грешке, проверите Azure евиденције.
У Zabbix 6.0 је додата подршка за PCRE2. Иако је PCRE и даље подржан, Zabbix инсталациони пакети за RHEL 7 и новије, SLES (све верзије), Debian 9 и новије, Ubuntu 16.04 и новије су ажурирани да користе PCRE2. Иако пружа многе предности, прелазак на PCRE2 може довести до тога да одређени постојећи PCRE обрасци регуларних израза постану неважећи или да се понашају другачије. Ово посебно утиче на образац ^[\w-\.]. Да би овај регекп поново био валидан без утицаја на семантику, промените израз у ^[-\w\.] . Ово се дешава због чињенице да PCRE2 третира знак цртице као граничник, стварајући опсег унутар класе карактера.
Мапе у Геомап виџету се можда неће правилно учитати ако сте извршили надоградњу са старије Zabbix верзије са NGINX-ом и нисте прешли на нову NGINX конфигурациону датотеку током надоградње.
Да бисте решили проблем, можете одбацити стару конфигурациону датотеку, користити конфигурациону датотеку из пакета тренутне верзије и поново је конфигурисати као што је описано у упутствима за преузимање у одељку е. Конфигуришите PHP за Zabbix кориснички интерфејс.
Алтернативно, можете ручно да уредите постојећу NGINX конфигурациону датотеку (обично, /etc/zabbix/nginx.conf). Да бисте то урадили, отворите датотеку и пронађите следећи блок:
Затим замените овај блок са:
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
Пошто се глобалне променљиве деле у различитим позивима вебхука, следећи код ће довести до постепеног повећања бројача вредности ознаке:
try
{
аа = аа + 1;
}
catch(e)
{
аа = 0;
}
result = {
'tags': {
'endpoint': аа
}
};
return JSON.stringify(result);
Препоручује се коришћење локалних променљивих уместо глобалних да бисте били сигурни да свака скрипта ради на сопственим подацима и да нема колизија између истовремених позива.
Upgrading to Zabbix 7.0.1 (or later) from Zabbix 7.0.0 with PostgreSQL/TimescaleDB results in a server crash. This issue is caused by a workaround to a compression job issue in the auditlog table in Zabbix 7.0 that irreversibly changed the compression policy of the auditlog table.
To fix the issue, please perform a manual rebuild of the auditlog table. The buggy auditlog table can be detected using this query:
SELECT config FROM timescaledb_information.jobs WHERE application_name LIKE 'Compression%' AND hypertable_schema='public' AND hypertable_name='auditlog';.
If it returns a JSON object containing property compress_after
(like {"hypertable_id": 14, "compress_after": 612000}) then you should rebuild the table.
Make sure that Zabbix server is at least 7.0.1rc2 version (or later); otherwise it will set the wrong compression policy again.
The simplest way for rebuilding the auditlog table is:
CREATE TABLE auditlog_tmp (
LIKE auditlog INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES
);
PERFORM create_hypertable('auditlog_tmp', 'auditid', chunk_time_interval => 604800,
time_partitioning_func => 'cuid_timestamp', migrate_data => true, if_not_exists => true);
WITH moved_rows AS (
DELETE FROM auditlog
RETURNING *
)
INSERT INTO auditlog_tmp
SELECT * FROM moved_rows;
DROP TABLE auditlog;
ALTER TABLE auditlog_tmp RENAME TO auditlog;
See also TimescaleDB documentation for more optimized ways to migrate data.
Since the timestamp required for partitioning is extracted from the auditid
field with a custom-made function the helper procedures used for data migration from timescaledb-extras will not work.
Using pg_restore
to restore a PostgreSQL/TimescaleDB backup created in Zabbix 7.0.0-7.0.4 will result in a missing base36_decode
function error, causing the restore to fail:
ERROR: function base36_decode(text) does not exist
LINE 1: CAST(base36_decode(substring(cuid FROM 2 FOR 8))/1000 AS int...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
This error occurs when restoring a backup created with pg_dump
.
To fix this issue, please replace the cuid_timestamp
function in your Zabbix database before creating the backup (stopping PostgreSQL/TimescaleDB before running the script is recommended):
CREATE OR REPLACE FUNCTION cuid_timestamp(cuid varchar(25)) RETURNS integer AS $$
DECLARE
base36 varchar;
a char[];
ret bigint;
i int;
val int;
chars varchar;
BEGIN
base36 := substring(cuid FROM 2 FOR 8);
chars := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
FOR i IN REVERSE char_length(base36)..1 LOOP
a := a || substring(upper(base36) FROM i FOR 1)::char;
END LOOP;
i := 0;
ret := 0;
WHILE i < (array_length(a, 1)) LOOP
val := position(a[i + 1] IN chars) - 1;
ret := ret + (val * (36 ^ i));
i := i + 1;
END LOOP;
RETURN CAST(ret/1000 AS integer);
END;
$$ LANGUAGE 'plpgsql' IMMUTABLE;
DROP FUNCTION IF EXISTS base36_decode(character varying);
See also ZBX-24955 (for additional details on the error) and TimescaleDB documentation (for additional backup and restore options).
In version 7.0.7, Zabbix server crashes upon processing low-level discovery rule overrides. As a workaround, disable LLD rules containing overrides. The issue has been fixed in Zabbix 7.0.8rc2.