20 Obsługa dużych wartości JSON

Aby zapewnić niezawodne przetwarzanie dużych wartości z typem danych JSON data type (1 MiB lub więcej), przejrzyj i zastosuj poniższe zmiany konfiguracji w razie potrzeby:

1. Jeśli używasz MySQL lub MariaDB, zwiększ maksymalny dozwolony rozmiar pakietu w pliku /etc/mysql/my.cnf (na niektórych systemach może domyślnie wynosić 1 MB):

[mysqld]
max_allowed_packet=128M

[mysqldump]
max_allowed_packet=1G

2. W razie potrzeby dostosuj dodatkowe server system variables MySQL/MariaDB oraz InnoDB system variables. Na przykład:

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. Zwiększ wartość HistoryCacheSize do 2G w pliku konfiguracyjnym serwer Zabbix.

4. Jeśli używasz Zabbix proxy, zwiększ wartość HistoryCacheSize do 2G oraz ProxyMemoryBufferSize do 2G w pliku konfiguracyjnym proxy.

5. Jeśli używasz Zabbix agent, zwiększ limity czasu komunikacji między serwerem/proxy Zabbix a agentem (na przykład item timeouts lub wartość parametru Timeout w plikach konfiguracyjnych Zabbix server/proxy i agent). W przeciwnym razie wiadomości między nimi mogą nie zostać w pełni przesłane i mogą pojawić się błędy takie jak "message length does not match expected length". W razie potrzeby przejrzyj także inne limity czasu, takie jak limit czasu script timeout lub limit czasu item test.