Смотрите также: Проблемы при компиляции.
zabbix_proxy на версиях MySQL 8.0.0-8.0.17 завершается со следующей ошибкой "access denied":
[Z3001] connection to database 'zabbix' failed: [1227] Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation
Такое поведение связано с тем, что 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:
Версии PostgreSQL 9.6-12 используют слишком много памяти при обновлении таблиц с большим количеством секций. Эта проблема проявляет себя, когда Zabbix выполняет обновление динамики изменений на системах с TimescaleDB, в случае если таблицы динамики изменений разбиты на относительно маленькие фрагменты (например, по 1 дню). Это приводит к тому, что в таблицах динамики изменений присутствуют сотни фрагментов при настройках очистки истории по умолчанию — состояние, при котором PostgreSQL скорее всего может исчерпать всю оперативную память.
Эта проблемы решена, начиная с Zabbix 5.0.1 для новых инсталляций с TimescaleDB, но если TimescaleDB был сконфигурирован с Zabbix до этого момента, пожалуйста обратитесь к ZBX-16347 за информацией по процессу миграции.
Эта проблема проявляет себя при использовании TimescaleDB 2.5.0. Она была решена, начиная с TimescaleDB 2.5.1.
Для получения более подробной информации, пожалуйста обратитесь к TimescaleDB Issue #3773.
Параметр sql_mode
в MySQL/MariaDB должен быть выставлен в режим "STRICT_TRANS_TABLES". Если он отсутствует, обновление базы данных Zabbix завершится неудачей (смотрите также ZBX-19435).
Обновление Zabbix может завершится с ошибкой, если таблицы базы данных были созданы с MariaDB версии 10.2.1 и старше, так как в этих версиях по умолчанию используется компактный формат строк. Такая проблема исправляется изменением формата строк на динамический формат (смотрите также ZBX-17690).
В средах с двумя стеками (системы, настроенные для поддержки как 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, а не официальных пакетов 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.
При обновлении Zabbix на Red Hat Enterprise Linux вы можете столкнуться с проблемой просроченного ключа подписи для пакетов в репозитории Zabbix. По истечении срока действия ключа подписи попытки проверить подписи пакетов приведут к ошибке, указывающей, что сертификат или ключ более недействительны, Например:
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
Чтобы решить такие проблемы, переустановите вручную последний пакет zabbix-release
для вашего конкретного варианта RHEL (замените сслыку ниже на правильную из репозитория Zabbix).
Например, на RHEL 9, выполните:
Затем обновите информацию о репозитории:
Для получения дополнительной информации см. ZBX-24761 [en].
Если используется MariaDB, то соединение TLS к базе данных не поддерживается с опцией verify_ca для параметра DBTLSConnect .
При работе под высокой нагрузкой и использовании более одного процесса LLD worker, возможно возникновение взаимных блокировок (deadlocks), вызванных ошибкой InnoDB, относящейся к стратегии блокировок строк (см. upstream bug). Ошибка была исправлена в MySQL, начиная с версии 8.0.29, но не в MariaDB. Для более подробной информации, обратитесь к ZBX-21506.
События могут не коррелироваться должным образом, если промежуток времени между первым и вторым событием очень мал, то есть полсекунды и менее.
PostgreSQL версии 11 и старше поддерживают значения с дробной точкой только в диапазоне приблизительно от -1.34E-154 до 1.34E+154.
Различные процессы Zabbix могут случайным образом аварийно завершать работу при запуске на NetBSD версий 8.X и 9.X. Такое поведение связано со слишком малым размером стека по умолчанию (4МБ), который необходимо увеличить, выполнив:
Для получения более подробной информации, пожалуйста, обратитесь к соответствующему отчёту о проблеме: ZBX-18275.
Агент Zabbix 2 не поддерживает просмотр вперед и назад в регулярных выражениях из-за ограничений стандартной библиотеки регулярных выражений Go.
IPMI проверки не будут работать со стандартным пакетом библиотеки OpenIPMI на Debian до 9 (stretch) версии и Ubuntu до 16.04 (xenial). Чтобы исправить проблему, пересоберите OpenIPMI библиотеку с включённым OpenSSL, как обсуждалось в ZBX-6139.
Некоторые дистрибутивы Linux, такие как Debian и Ubuntu, не поддерживают шифрованные закрытые (private) ключи (с парольной фразой), если библиотека libssh2 установлена из пакетов. Пожалуйста, обратитесь к ZBX-4850 для получения более подробных сведений.
При использовании libssh 0.9.x на некоторых дистрибутивах Linux с OpenSSH 8 проверки SSH могут иногда сообщать "Cannot read data from SSH server". Такое поведение вызвано проблемой(более подробный отчёт) libssh. Ожидается, что эта ошибка исправлена в стабильном выпуске libssh 0.9.5. Смотрите также ZBX-17756 для получения подробной информации.
Использование вертикальной черты "|" в SSH скрипте может привести к ошибке "Cannot read data from SSH server". В этом случае рекомендуется обновить версию библиотеки libssh. Смотрите также ZBX-21337 для получения подробной информации.
Драйвер 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 for Linux приводит к аварийной остановке Zabbix сервера. Смотрите также ZBX-18402, ZBX-20803.
При использовании драйвера UnixODBC FreeTDS, нужно SQL-запрос предварить утверждением 'SET NOCOUNT ON' (например: SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....
). В противном случае элемент данных с типом "Монитор баз данных" в Zabbix при получении информации завершится ошибкой "SQL query returned empty result".
Обратитесь к ZBX-19917 для получения более подробной информации.
Параметр метода запроса, используемый только в HTTP проверках, может быть некорректным образом задан значением '1', значением не по умолчанию для всех элементов данных в результате обновления с версии pre-4.0 Zabbix. Для получения более подробных сведений по устранению данной ситуации смотрите ZBX-19308.
Zabbix сервер имеет утечку памяти на некоторых дистрибутивах Linux по причине ошибки в библиотеке при включённой опции "Проверка SSL узла" в веб-сценариях или HTTP агенте. Пожалуйста, обратитесь к ZBX-10486 для получения более подробной информации и возможных вариантов решения.
Имеется проблема в утилите fping версий до v3.10, которые некорректно обрабатывают дубликаты ответных echo пакетов. Такое поведение может вызывать неожиданные результаты в элементах данных icmpping, icmppingloss, icmppingsec. Рекомендуется использовать последнюю версию fping. Пожалуйста, обратитесь к ZBX-11726 для получения более подробной информации.
Когда контейнеры работают в режиме без root-доступа или в среде со специальными ограничениями, вы можете столкнуться с ошибками, связанными с выполнением fping при выполнении проверок ICMP, такими как: fping: Operation not permitted
, — или потерей всех пакетов ко всем ресурсам.
Для исправления этой проблема добавьте --cap-add=net_raw
к командам «docker run» или «podman run».
В дополнение к этому, выполнение fping в средах без root-доступа может потребовать модификации sysctl, то есть:
где «1995» — это GID zabbix. Для дополнительной информации смотрите ZBX-22833 [en].
При использовании операционной системы OpenBSD, проблема использования памяти после освобождения памяти в библиотеке Net-SNMP вплоть до версии 5.7.3 может привести к аварийной остановке сервера Zabbix, если в файле конфигурации сервера Zabbix указан параметр SourceIP. Как временное решение, пожалуйста, не задавайте параметр SourceIP. Эта проблема также применима и к Linux, но она не приводит к остановке работы сервера Zabbix. Локальный патч к пакету net-snmp применён на 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 для получения более подробной информации.
В RHEL 7 обнаружены случаи сбоя в процессах alerter сервера Zabbix. Пожалуйста, обратитесь к ZBX-10461 для получения более подробной информации.
При обновлении Zabbix агента 2 (версии 6.0.5 или старше) из пакетов, может возникнуть ошибка конфликта файлов, связанных с плагином. Чтобы исправить ошибку, сделайте резервную копию конфигурации агента 2 (если необходимо), деинсталируйте агент 2 и установите заново.
На системах на базе RHEL, выполните:
На системах на базе Debian, выполните:
Для более подробной информации обратитесь к ZBX-23250 [en].
Было замечено, что локали в веб-интерфейсе могут переключаться без какой-либо явной логики, то есть некоторые страницы (или части страниц) отображаются на одном языке, тогда как другие страницы (или части страниц) — на другом. Обычно такая проблема может возникнуть, когда имеется несколько пользователей, некоторые из которых используют одну локаль, в то время как другие используют другую локаль.
Известный вариант решения такой проблемы — отключение многопоточности в PHP и Apache.
Эта проблема связана с тем, как локали работают в PHP: информация о локали сохраняется по каждому процессу, а не по потоку. Поэтому в многопоточной среде, где несколько проектов выполняются одним и тем же процессом Apache, имеется вероятность, что локаль меняется в другом потоке, что меняет способ обработки данных в потоке Zabbix.
Для получения более подробной информации смотрите соответствующие отчёты о проблеме:
bcdiv
из функций BC Math)Если "opcache" включён в конфигурации PHP 7.3, Zabbix веб-интерфейс может отображать пустой экран при первой загрузке. Это известная проблема PHP. Как вариант решения этой проблемы, пожалуйста, задайте параметр "opcache.optimization_level" значением 0x7FFFBFDF в конфигурации PHP (файл php.ini).
Переходы на летнее время (DST) приводят к нарушению отображения подписей к оси X (дублирование данных, отсутствие данных и т.п.).
При использовании агрегирования в виде суммы в графике за период менее одного часа, графики отображают некорректные (размноженные) значения, когда данные поступают из динамики изменений.
Для некоторых языков веб-интерфейса (например, японского), местные шрифты могут приводить к наложению текста в легенде графика. Чтобы избежать этого, используйте версию 2.3.0 (или более позднюю) расширения PHP GD.
Элементы данных log[]
и logrt[]
многократно перечитывают файл журнала с самого начала, если файловая система заполнена на 100% и файл журнала продолжает заполняться (смотрите ZBX-10884 для получения более подробной информации).
Zabbix сервер генерирует медленные запросы SELECT
в случае несуществующих значений у элементов данных. Известно, что эта проблема встречается в MySQL версий 5.6/5.7 (для её обсуждения обратитесь к ZBX-10652), а также, в некоторых случаях, может происходить и более поздних версиях MySQL. Чтобы обойти эту проблему, отключите параметр index\_condition\_pushdown
оптимизатора в MySQL. Обратите внимание, однако, что такой обходной путь может исправить не все проблемы, относящиеся к медленным запросам.
В инсталяциях Zabbix 6.0 с базой данных Oracle, имеющих большое количество элементов данных и шагов предобрабротки элементов данных, синхронизация конфигурации может быть медленной. Причиной этого является скорость обработки полей типа nclob механизмом СУБД Oracle.
Для улучшения производительности Вы можете сконвертировать типы полей из nclob в nvarchar2 путём применения вручную патча для базы данных items_nvarchar_prepare.sql. Обратите внимание, что такое преобразование сократит ограничение максимального размера поля с 65535 байт до 4000 байт для параметров предобработки элементов данных и параметров элементов данных — таких как Описание, поле Скрипт у элементов данных типа «Скрипт», поля Тело запроса и Заголовки у элементов данных типа «HTTP агент», поле SQL запрос у элемента данных типа «Монитор баз данных». Запросы для определения имён шаблонов, которые нужно удалить перед применением патча, представлены в патче в виде комментария. Как альтернатива, если выставлено 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.
По причине проблемы в net-snmp, в SNMP трапах IPv6 адреса могут некорректно отображаться при использовании SNMPv3. Для получения более подробной информации и возможных вариантах решения смотрите ZBX-14541.
Сообщение об ошибочном входе в систему отобразит только первые 39 символов сохранённого IP адреса, так как это ограничение длины поля базы данных. Это означает, что IP адреса IPv6 длиннее 39 символов будут отображаться не полностью.
Несуществующие записи DNS в параметре Server
в файле конфигурации 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 приводит к следующей ошибке:
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.
Эта ошибка возникает из-за того, что в качестве домашней директории пользователя «zabbix» используется /var/lib/zabbix
.
Если Zabbix используется с MySQL инсталляцией в Azure, в журналах Zabbix может появиться расплывчатое сообщение об ошибке [9002] Some errors occurred. Этот общий текст ошибки отправляется Zabbix серверу или прокси со стороны базы данных. Для получения более подробных сведений о причине возникновения такой ошибки обратитесь к журналам Azure.
В Zabbix 6.0 добавлена поддержка PCRE2. Хотя PCRE по-прежнему поддерживается, установочные пакеты Zabbix для RHEL 7 и новее, SLES (всех версий), Debian 9 и новее, Ubuntu 16.04 и новее были обновлены и теперь используют PCRE2. Несмотря на множество преимуществ, переход на PCRE2 может привести к тому, что существующие шаблоны регулярных выражений PCRE станут ошибочными или изменят своё поведение. В частности, это изменение затрагивает шаблон ^[\w-\.]. Чтобы сделать это регулярное выражение снова корректным, не затрагивая семантику, измените выражение на ^[-\w\.] . Такая проблема происходит из-за того, что PCRE2 рассматривает символ тире как разделитель, при этом создавая диапазон внутри класса символов. Обновлены следующие установочные пакеты Zabbix, теперь они используют PCRE2: RHEL 7 и новее, SLES (все версии), Debian 9 и новее, Ubuntu 16.04 и новее.
В Zabbix 6.0 были внедрены более гибкие алгоритмы вычисления состояния услуг.
После обновления с Zabbix <6.0 на Zabbix 6.0.0, 6.0.1, 6.0.2 правила вычисления состояния услуг «Самое критичное, если все дочерние имеют проблемы» и «Самое критичное из дочерних услуг» окажутся перепутанными между собой. Услуги, которые созданы в Zabbix 6.0.0 и более новых версиях, будут иметь корректные правила вычисления состояния.
При обновлении с версий <6.0 на Zabbix 6.0.3 или более новые, Zabbix корректно обновит правила вычисления состояния услуг. Обновление с 6.0.x на 6.0.3 никак не повлияет на правила вычисления состояния услуг.
Карты в виджете Геокарты могут не загружаться корректно, если вы обновились с более старой версии Zabbix с NGINX и не переключились на новый файл конфигурации в процессе обновления.
Чтобы исправить эту проблемы, вы можете выбросить старый файл конфигурации, использовать файл конфигурации из пакета 6.0 и перенастроить его, как описано в инструкциях по загрузке в разделе e. Настройте PHP для веб-интерфейса.
Как альтернатива, вы можете вручную изменить существующий файл конфигурации NGINX (обычно, /etc/zabbix/nginx.conf). Чтобы это сделать, откройте файл и найдите следующий блок:
Затем, замените этот блок следующим:
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
Утилита logrotate включена только в пакеты zabbix-agent, zabbix-agent2 и zabbix-web-service, но требует отдельной установки для Zabbix сервера и прокси. Необходимые для logrotate зависимости были добавлены в пакеты сервера и прокси для RHEL и SUSE, начиная с версии Zabbix 6.4.4rc1.
Ошибки парсинга JSONPath возникают в случае, если значение начинается с пробельных символов (включая перевод строки) либо содержит пустой массив/объект. Исправлено в версии Zabbix 6.0.12.
Вычисление выражений И/ИЛИ в фильтрах/переопределениях низкоуровневого обнаружения может в данной версии выполняться ошибочно. Исправлено в версии Zabbix 6.0.12.
В версиях 6.0.0-6.0.27 ZIP-файлов загрузки Zabbix агента для Windows отсутствуют файлы zabbix_sender.h и zabbix_sender.lib, необходимые для zabbix_sender.dll.
Поксольку глобальные переменные являются общими для разных вызовов вебхуков, следующий код приведёт к постепенному увеличению счётчика значений тега:
try
{
aa = aa + 1;
}
catch(e)
{
aa = 0;
}
result = {
'tags': {
'endpoint': aa
}
};
return JSON.stringify(result);
Рекомендуется использовать локальные переменные вместо глобальных, чтобы убедиться, что каждый скрипт работает со своими собственными данными и нет конфликтов между одновременными вызовами.