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 サーバーの設定ファイルで HistoryCacheSize2G に増やします。

4. Zabbix プロキシを使用している場合は、プロキシの設定ファイルで HistoryCacheSize2G に、ProxyMemoryBufferSize2G に増やします。

5. Zabbix エージェントを使用している場合は、Zabbix サーバー/プロキシとエージェント間の通信タイムアウトを増やします(たとえば、アイテムのタイムアウト や、Zabbix の サーバー/プロキシ および エージェント の設定ファイルにある Timeout パラメーター値)。 そうしないと、それらの間のメッセージが完了せず、"message length does not match expected length" のようなエラーが表示される場合があります。 また、必要に応じて スクリプトのタイムアウトアイテムテスト のタイムアウトなど、他のタイムアウトも確認してください。