5 Codering van geretourneerde waarden

De Zabbix-server verwacht dat elke geretourneerde tekstwaarde is gecodeerd in UTF8. Dit is van toepassing op elk type controles: Zabbix-agent, SSH, Telnet, enz.

Verschillende gemonitorde systemen/apparaten en controles kunnen niet-ASCII tekens in de waarde retourneren. Voor dergelijke gevallen bevatten bijna alle mogelijke zabbix-sleutels een extra item sleutelparameter - <codering>. Deze sleutelparameter is optioneel, maar moet worden gespecificeerd als de geretourneerde waarde niet in de UTF8-codering staat en niet-ASCII-tekens bevat. Anders kan het resultaat onverwacht en onvoorspelbaar zijn.

Een beschrijving van het gedrag met verschillende database-achtergronden in dergelijke gevallen volgt.

MijnSQL

Als een waarde een niet-ASCII-teken bevat in niet-UTF8-codering - dit karakter en het volgende wordt weggegooid wanneer de database opslaat: deze waarde. Er worden geen waarschuwingsberichten geschreven naar de zabbix_server.log.
Relevant voor minimaal MySQL versie 5.1.61

PostgreSQL

Als een waarde een niet-ASCII-teken bevat in niet-UTF8-codering - dit leidt tot een mislukte SQL-query (PGRES_FATAL_ERROR:ERROR ongeldige byte volgorde voor codering) en gegevens worden niet opgeslagen. een passende waarschuwingsbericht zal worden geschreven naar de zabbix_server.log.
Relevant voor minimaal PostgreSQL versie 9.1.3