这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

8 已知问题

全局事件关联

如果第一次和第二次事件之间的时间间隔非常短,即半秒或更短,则事件可能无法正确关联。

. #### Installation from packages

It has been observed that it is impossible to install a specific frontend version by running, e.g.:

yum install -v zabbix-web-mysql-scl-5.0.0

As a workaround to this issue, if you wish to install a specific frontend version, specify version for all components, e.g.:

yum install zabbix-web-mysql-scl-5.0.0 zabbix-apache-conf-scl-5.0.0 zabbix-web-5.0.0 zabbix-web-deps-scl-5.0.0

IPMI 检查

在 Debian 9(stretch)之前和 Ubuntu16.04(xenial)之前使用 OpenIPMI 库,IPMI 检查可能无法正常工作。若要解决此问题,需要重新编译 OpenIPMI 库并启用 OpenSSL,详见ZBX-6139

SSH 检查

一些 Linux 发行版本如 Debian、Ubuntu,如果使用了安装包安装了 libssh2 类库,则系统将不支持使用密码加密私钥,详见 ZBX-4850 获得更多信息。

ODBC 检查

由于 upstream bug,如果 Zabbix server 或 proxy 使用 MySQL 作为其数据库,MySQL ODBC 库可能无法使用。有关更多信息和可用的解决办法,详见 ZBX-7665

由于 Microsoft 的 问题。从 Microsoft SQL Server 查询的 XML 数据可能会被截断为 2033 个字符。

HTTPS 检查

在使用 https 协议的 Web 场景和 HTTP agent 监控项,如果目标服务器配置了禁止 TLS v1.0 或更低版本的协议,Zabbix agent 检查 net.tcp.service[https...]net.tcp.service.perf[https...] 可能会失败。有关更多信息和可用的解决方法,详见ZBX-9879

Possible deadlocks with MySQL/MariaDB

When running under high load, and with more than one LLD worker involved, it is possible to run into a deadlock caused by an InnoDB error related to the row-locking strategy (see upstream bug). The error has been fixed in MySQL since 8.0.29, but not in MariaDB. For more details, see ZBX-21506.

Web 监控和 HTTP agent

当 "SSL verify peer" 在 Web 场景或 HTTP agent 启用时,由于upstream bug,Zabbix server 可能在 CentOS6、CentOS7和其他相关 Linux 发行版本上发生内存泄露。有关更多信息和可用的解决方法,详见ZBX-10486

简单检查

由于早于 v3.10 和 2.1.2 版本的 fping 存在一个 BUG,即它错误地处理重复的回放数据包。这可能会使监控项 icmppingicmppinglossicmppingsec 导致一些意外的结果。建议使用最新版本的fping。详见 ZBX-11726 获得更多信息。

SNMP 检查

如果使用 OpenBSD 操作系统,并在 Zabbix server 的配置文件中设置了 SourceIP 参数,则在 5.7.3 版本的 Net-SNMP 库中的一个 Use-After-Free(UAF)漏洞可能导致Zabbix server 崩溃。 作为解决方法,请不要设置 SourceIP 参数。 同样的问题也适用于Linux,但它不会导致 Zabbix server 停止工作。应用与 OpenBSD 上 net-snmp 软件包的局部补丁,将会随 OpenBSD 6.3 版本一起发布。

PHP 7.0 的兼容性问题

已经观察到,使用 PHP 7.0 导入具有 Web 监控触发器的模板,可能会因触发器表达式中的 Web 监控项的双引号错误而导入失败。 但将 PHP 升级到 7.1 时,问题就随之消失了。

图表

切换到夏令时(Daylight Saving Time,DST)会导致显示 X 轴标签错误(如日期重复,日期缺失等)。

日志文件监控

当文件系统空间为 100% 已满时,如果日志文件仍然在被追加,那么 log[]logrt[] 监控想会反复从头重新读取日志文件。详见 ZBX-10884 获得更多信息。

MySQL 的慢查询

如果监控项的值不存在,那么 Zabbix server 将会生成慢查询(关于 SELECT)。这是由于 MySQL 5.6/5.7 版本中一个已知的问题造成的。解决此问题的办法是在 MySQL 中禁用 index_condition_pushdown 优化器。详见ZBX-10652

API login

当使用带有 user.login 方法 的自定义脚本时,则可以创建大量开放式用户会话,而无需遵循 user.logout

Simple checks

There is a bug in fping versions earlier than v3.10 that mishandles duplicate echo replay packets. This may cause unexpected results for icmpping, icmppingloss, icmppingsec items. It is recommended to use the latest version of fping. Please see ZBX-11726 for more details.

Errors with fping execution in rootless containers

When containers are running in rootless mode or in a specific-restrictions environment, you may face errors related to fping execution when performing ICMP checks, such as fping: Operation not permitted or all packets to all resources lost.

To fix this problem add --cap-add=net_raw to "docker run" or "podman run" commands.

Additionally fping execution in non-root environments may require sysctl modification, i.e.:

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

where "1995" is the zabbix GID. For more details, see ZBX-22833.

SNMP checks

If the OpenBSD operating system is used, a use-after-free bug in the Net-SNMP library up to the 5.7.3 version can cause a crash of Zabbix server if the SourceIP parameter is set in the Zabbix server configuration file. As a workaround, please do not set the SourceIP parameter. The same problem applies also for Linux, but it does not cause Zabbix server to stop working. A local patch for the net-snmp package on OpenBSD was applied and will be released with OpenBSD 6.3.

SNMP data spikes

Spikes in SNMP data have been observed that may be related to certain physical factors like voltage spikes in the mains. See ZBX-14318 more details.

SNMP traps

The "net-snmp-perl" package, needed for SNMP traps, has been removed in RHEL/CentOS 8.0-8.2; re-added in RHEL 8.3.

So if you are using RHEL 8.0-8.2, the best solution is to upgrade to RHEL 8.3; if you are using CentOS 8.0-8.2, you may wait for CentOS 8.3 or use a package from EPEL.

Please also see ZBX-17192 for more information.

Alerter process crash in Centos/RHEL 7

Instances of a Zabbix server alerter process crash have been encountered in Centos/RHEL 7. Please see ZBX-10461 for details.

Flipping frontend locales

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:

  • ZBX-10911 (Problem with flipping frontend locales)
  • ZBX-16297 (Problem with number processing in graphs using the bcdiv function of BC Math functions)

PHP 7.3 opcache configuration

If "opcache" is enabled in the PHP 7.3 configuration, Zabbix frontend may show a blank screen when loaded for the first time. This is a registered PHP bug. To work around this, please set the "opcache.optimization_level" parameter to 0x7FFFBFDF in the PHP configuration (php.ini file).

Graphs

Changes to Daylight Saving Time (DST) result in irregularities when displaying X axis labels (date duplication, date missing, etc).

Log file monitoring

log[] and logrt[] items repeatedly reread log file from the beginning if file system is 100% full and the log file is being appended (see ZBX-10884 for more information).

Slow MySQL queries

Zabbix server generates slow select queries in case of non-existing values for items. This is caused by a known issue in MySQL 5.6/5.7 versions. A workaround to this is disabling the index_condition_pushdown optimizer in MySQL. For an extended discussion, see ZBX-10652.

Permission checks for dashboards with graphs

If SVG graphs are used in Zabbix dashboards, Zabbix frontend may generate non-optimized API queries when checking user permissions to hosts and items. This is happening because such searches support wildcards and case-insensitive name matching.

To improve performance of SQL statements, manually apply the patch index_host_and_item_name_upper_field.sql provided in Zabbix 5.0.31 and newer.

For MySQL, run:

shell> mysql -uzabbix -p<password> zabbix < index_host_and_item_name_upper_field.sql

For PostgreSQL, run:

shell> cat index_host_and_item_name_upper_field.sql | sudo -u zabbix psql zabbix

For Oracle, run:

sqlplus> @index_host_and_item_name_upper_field.sql

Creation of deterministic triggers should be enabled for the time of patch application. On MySQL and MariaDB, this requires GLOBAL log_bin_trust_function_creators = 1 to be set if binary logging is enabled and there is no superuser privileges and log_bin_trust_function_creators = 1 is not set in MySQL configuration file. To set the variable using MySQL console, run:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Once the patch has been successfully applied, log_bin_trust_function_creators can be disabled:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Triggers are also created for PostgreSQL and Oracle database.

Non-existing item value retrieval with MySQL 5.6/5.7

Zabbix server generates slow select queries in case of non-existing values for items. This is caused by a known issue in MySQL 5.6/5.7 versions. A workaround to this is disabling the index_condition_pushdown optimizer in MySQL. For an extended discussion, see ZBX-10652.

Slow event info retrieval with older MySQL databases

Zabbix 5.0 installations with MySQL 5.X and 8.0.19 might run a slow query when retrieving problem/event information from the database. In particular, this affects the Problems by severity widget, event.get and problem.get API methods. To improve performance of SQL statements, apply the patch provided in ZBX-18080 (available for Zabbix 5.0.4 and newer).

API login

A large number of open user sessions can be created when using custom scripts with the user.login method without a following user.logout.

IPv6 address issue in SNMPv3 traps

Due to a net-snmp bug, IPv6 address may not be correctly displayed when using SNMPv3 in SNMP traps. For more details and a possible workaround, see ZBX-14541.

Trimmed long IPv6 IP address in failed login information

Failed login attempt message will display only the first 39 characters of a stored IP address as that's the character limit in the database field. That means that IPv6 IP addresses longer than 39 characters will be shown incompletely.

Zabbix agent checks on Windows

Non-existing DNS entries in a Server parameter of Zabbix agent configuration file (zabbix_agentd.conf) may increase Zabbix agent response time on Windows. This happens because Windows DNS caching daemon doesn't cache negative responses for IPv4 addresses. However, for IPv6 addresses negative responses are cached, so a possible workaround to this is disabling IPv4 on the host.

Setup wizard on SUSE with NGINX and php-fpm

Frontend setup wizard cannot save configuration file on SUSE with NGINX + php-fpm. This is caused by a setting in /usr/lib/systemd/system/php-fpm.service unit, which prevents Zabbix from writing to /etc. (introduced in PHP 7.4).

There are two workaround options available:

  • Set the ProtectSystem option to 'true' instead of 'full' in the php-fpm systemd unit.
  • Manually save /etc/zabbix/web/zabbix.conf.php file.

MySQL custom error codes

If Zabbix is used with MySQL installation on Azure, an unclear error message [9002] Some errors occurred may appear in Zabbix logs. This generic error text is sent to Zabbix server or proxy by the database. To get more information about the cause of the error, check Azure logs.