20 大型 JSON 值支持

为确保使用 JSON 数据类型(1MiB 或更大)时能够可靠地处理大值,请根据需要检查并应用以下配置更改:

1. 如果您使用的是 MySQL 或 MariaDB,请在 /etc/mysql/my.cnf 中增大允许的最大数据包大小(在某些系统上默认可能为 1MB):

[mysqld]
max_allowed_packet=128M

[mysqldump]
max_allowed_packet=1G

2. 根据需要调整其他 MySQL/MariaDB 服务器系统变量InnoDB 系统变量。例如:

innodb_io_capacity=1900
connect_timeout=600
wait_timeout=57600
interactive_timeout=57600
net_read_timeout=7200
net_write_timeout=7200
net-buffer-length=32704

3. 将 Zabbix 服务器配置文件中的 HistoryCacheSize 增加到 2G

4. 如果您使用的是 Zabbix proxy,请在 proxy 配置文件中将 HistoryCacheSize 增加到 2G,并将 ProxyMemoryBufferSize 增加到 2G

5. 如果您使用的是 Zabbix agent,请增加 Zabbix 服务器/proxy 与 agent 之间的通信超时时间(例如,监控项超时 或 Zabbix 服务器/proxyagent 配置文件中的 Timeout 参数值)。 否则,它们之间的消息可能无法完成传输,您可能会看到诸如 "message length does not match expected length" 的错误。 此外,还应根据需要检查其他超时设置,例如 脚本超时监控项测试 超时。