Table of Contents

8. Известные проблемы

Смотрите также: Проблемы при компиляции.

Запуск прокси с MySQL 8.0.0-8.0.17

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:

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

Для версий MySQL 8.0.0 - 8.0.13:

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

Timescale DB: высокое потребление памяти при большом количестве секций

Версии 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. Она была решена, начиная с TimescaleDB 2.5.1.

Для получения более подробной информации, пожалуйста обратитесь к TimescaleDB Issue #3773.

Обновление

Настройки режима SQL для успешного обновления

Параметр sql_mode в MySQL/MariaDB должен быть выставлен в режим "STRICT_TRANS_TABLES". Если он отсутствует, обновление базы данных Zabbix завершится неудачей (смотрите также ZBX-19435).

Обновление с MariaDB 10.2.1 и старше

Обновление Zabbix может завершится с ошибкой, если таблицы базы данных были созданы с MariaDB версии 10.2.1 и старше, так как в этих версиях по умолчанию используется компактный формат строк. Такая проблема исправляется изменением формата строк на динамический формат (смотрите также ZBX-17690).

Непреднамеренная установка пакетов EPEL Zabbix

Если установлен и подключён репозиторий EPEL, установка Zabbix из пакетов приведёт к установке пакетов EPEL Zabbix, а не официальных пакетов Zabbix.

В этом случае деинсталируйте пакеты Zabbix из EPEL, т.е.:

dnf remove zabbix-server-mysql

Заблокируйте пакеты Zabbix из EPEL. Добавьте следующую строку в файл /etc/yum.conf:

exclude=zabbix6.0*

Установите сервер Zabbix заново:

dnf install zabbix-server-mysql

Обратите внимание, что официальные пакеты Zabbix имеют слово release в строке версии:

6.0.25-release1.el8

TLS подключение к базе данных с MariaDB

Если используется MariaDB, то соединение TLS к базе данных не поддерживается с опцией verify_ca для параметра DBTLSConnect .

Возможные взаимные блокировки с MySQL/MariaDB

При работе под высокой нагрузкой и использовании более одного процесса LLD worker, возможно возникновение взаимных блокировок (deadlocks), вызванных ошибкой InnoDB, относящейся к стратегии блокировок строк (см. upstream bug). Ошибка была исправлена в 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. Такое поведение связано со слишком малым размером стека по умолчанию (4МБ), который необходимо увеличить, выполнив:

ulimit -s 10240

Для получения более подробной информации, пожалуйста, обратитесь к соответствующему отчёту о проблеме: ZBX-18275.

Ограничения регулярных выражений в Zabbix агенте 2

Агент Zabbix 2 не поддерживает просмотр вперед и назад в регулярных выражениях из-за ограничений стандартной библиотеки регулярных выражений Go.

IPMI проверки

IPMI проверки не будут работать со стандартным пакетом библиотеки OpenIPMI на Debian до 9 (stretch) версии и Ubuntu до 16.04 (xenial). Чтобы исправить проблему, пересоберите OpenIPMI библиотеку с включённым OpenSSL, как обсуждалось в ZBX-6139.

SSH проверки

  • Некоторые дистрибутивы 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 для получения подробной информации.

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 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.

Веб-мониторинг и HTTP агент

Zabbix сервер имеет утечку памяти на некоторых дистрибутивах Linux по причине ошибки в библиотеке при включённой опции "Проверка SSL узла" в веб-сценариях или HTTP агенте. Пожалуйста, обратитесь к ZBX-10486 для получения более подробной информации и возможных вариантов решения.

Простые проверки

Имеется проблема в утилите fping версий до v3.10, которые некорректно обрабатывают дубликаты ответных echo пакетов. Такое поведение может вызывать неожиданные результаты в элементах данных icmpping, icmppingloss, icmppingsec. Рекомендуется использовать последнюю версию fping. Пожалуйста, обратитесь к ZBX-11726 для получения более подробной информации.

Ошибки при выполнении fping в контейнерах без root-доступа

Когда контейнеры работают в режиме без root-доступа или в среде со специальными ограничениями, вы можете столкнуться с ошибками, связанными с выполнением fping при выполнении проверок ICMP, такими как: fping: Operation not permitted, — или потерей всех пакетов ко всем ресурсам.

Для исправления этой проблема добавьте --cap-add=net_raw к командам «docker run» или «podman run».

В дополнение к этому, выполнение fping в средах без root-доступа может потребовать модификации sysctl, то есть:

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

где «1995» — это GID zabbix. Для дополнительной информации смотрите ZBX-22833 [en].

SNMP проверки

При использовании операционной системы OpenBSD, проблема использования памяти после освобождения памяти в библиотеке Net-SNMP вплоть до версии 5.7.3 может привести к аварийной остановке сервера Zabbix, если в файле конфигурации сервера Zabbix указан параметр SourceIP. Как временное решение, пожалуйста, не задавайте параметр SourceIP. Эта проблема также применима и к Linux, но она не приводит к остановке работы сервера Zabbix. Локальный патч к пакету net-snmp применён на 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 для получения более подробной информации.

Сбой в процессе alerter в RHEL 7

В RHEL 7 обнаружены случаи сбоя в процессах alerter сервера Zabbix. Пожалуйста, обратитесь к 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 [en].

Переключение локалей в веб-интерфейсе

Было замечено, что локали в веб-интерфейсе могут переключаться без какой-либо явной логики, то есть некоторые страницы (или части страниц) отображаются на одном языке, тогда как другие страницы (или части страниц) — на другом. Обычно такая проблема может возникнуть, когда имеется несколько пользователей, некоторые из которых используют одну локаль, в то время как другие используют другую локаль.

Известный вариант решения такой проблемы — отключение многопоточности в PHP и Apache.

Эта проблема связана с тем, как локали работают в PHP: информация о локали сохраняется по каждому процессу, а не по потоку. Поэтому в многопоточной среде, где несколько проектов выполняются одним и тем же процессом Apache, имеется вероятность, что локаль меняется в другом потоке, что меняет способ обработки данных в потоке Zabbix.

Для получения более подробной информации смотрите соответствующие отчёты о проблеме:

  • ZBX-10911 (Проблема с переключением локалей в веб-интерфейсе)
  • ZBX-16297 (Проблема с обработкой чисел в графиках с использованием функции bcdiv из функций BC Math)

Конфигурация opcache в PHP 7.3

Если "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 для получения более подробной информации).

Медленные запросы MySQL

Zabbix сервер генерирует медленные запросы SELECT в случае несуществующих значений у элементов данных. Известно, что эта проблема встречается в MySQL версий 5.6/5.7 (для её обсуждения обратитесь к ZBX-10652), а также, в некоторых случаях, может происходить и более поздних версиях MySQL. Чтобы обойти эту проблему, отключите параметр index\_condition\_pushdown оптимизатора в MySQL. Обратите внимание, однако, что такой обходной путь может исправить не все проблемы, относящиеся к медленным запросам.

Медленная синхронизация конфигурации с Oracle

В инсталяциях 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.

API login

У пользователя может быть создано большое количество открытых сессий при использовании пользовательских скриптов с методом user.login без последующего использования user.logout.

Проблема с IPv6 адресами в SNMPv3 трапах

По причине проблемы в net-snmp, в SNMP трапах IPv6 адреса могут некорректно отображаться при использовании SNMPv3. Для получения более подробной информации и возможных вариантах решения смотрите ZBX-14541.

Урезание длинных IP адресов IPv6 в информации о неуспешном входе в систему

Сообщение об ошибочном входе в систему отобразит только первые 39 символов сохранённого IP адреса, так как это ограничение длины поля базы данных. Это означает, что IP адреса IPv6 длиннее 39 символов будут отображаться не полностью.

Проверки Zabbix агент на Windows

Несуществующие записи DNS в параметре Server в файле конфигурации Zabbix агента (zabbix_agentd.conf) могут повысить время ответа Zabbix агента на Windows. Такое случается по причине того, что демон Windows DNS кэширования не кэширует отрицательные ответы по IPv4 адресам. Однако, для IPv6 адресов отрицательные ответы кэшируются; таким образом, возможным вариантом решения будет отключение IPv4 на хосте.

Экспорт/импорт YAML

Имеются несколько известных проблем, связанных с экспортом/импортом YAML:

  • Сообщения об ошибках не поддаются переводу;
  • Валидный JSON с расширением файла .yaml иногда не удается импортировать;
  • Не заключённые в кавычки привычные человеку даты автоматически конвертируются в штампы времени в формате Unix.

Мастер установки в SUSE с NGINX и 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 файл.

Chromium для веб-сервиса Zabbix в Ubuntu 20

Хотя в большинстве случаев веб-сервис 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.

Специальные коды ошибок MySQL

Если Zabbix используется с MySQL инсталляцией в Azure, в журналах Zabbix может появиться расплывчатое сообщение об ошибке [9002] Some errors occurred. Этот общий текст ошибки отправляется Zabbix серверу или прокси со стороны базы данных. Для получения более подробных сведений о причине возникновения такой ошибки обратитесь к журналам Azure.

Ошибочные регулярные выражения после переключения на PCRE2

В 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.0-6.0.2

В 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|vendor) {
               deny            all;
               return          404;
       }

Затем, замените этот блок следующим:

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

Logrotate для Zabbix сервера и прокси

Утилита logrotate включена только в пакеты zabbix-agent, zabbix-agent2 и zabbix-web-service, но требует отдельной установки для Zabbix сервера и прокси. Необходимые для logrotate зависимости были добавлены в пакеты сервера и прокси для RHEL и SUSE, начиная с версии Zabbix 6.4.4rc1.

Проблемы в Zabbix 6.0.11

Ошибки парсинга JSONPath

Ошибки парсинга JSONPath возникают в случае, если значение начинается с пробельных символов (включая перевод строки) либо содержит пустой массив/объект. Исправлено в версии Zabbix 6.0.12.

Вычисления И/ИЛИ в фильтрах LLD

Вычисление выражений И/ИЛИ в фильтрах/переопределениях низкоуровневого обнаружения может в данной версии выполняться ошибочно. Исправлено в версии Zabbix 6.0.12.

Недостающие файлы в архиве агента Windows

В версиях 6.0.0-6.0.27 ZIP-файлов загрузки Zabbix агента для Windows отсутствуют файлы zabbix_sender.h и zabbix_sender.lib, необходимые для zabbix_sender.dll.