Encodage des valeurs retournées

Le serveur Zabbix attend que chaque valeur textuelle retournée soit encodée en UTF8. Cela s'applique à tout type de vérifications : agent Zabbix, SSH, Telnet, etc.

Différents systèmes/périphériques surveillés et différentes vérifications peuvent renvoyer des caractères non ASCII dans la valeur. Dans de tels cas, presque toutes les clés zabbix possibles contiennent un paramètre de clé d'élément supplémentaire - <encoding>. Ce paramètre de clé est facultatif, mais il doit être spécifié si la valeur retournée n'est pas encodée en UTF8 et contient des caractères non ASCII. Sinon, le résultat peut être inattendu et imprévisible.

Une description du comportement avec différents backends de base de données dans de tels cas suit.

MySQL

Si une valeur contient un caractère non ASCII dans un encodage autre que UTF8, ce caractère et les suivants seront ignorés lorsque la base de données stockera cette valeur. Aucun message d'avertissement ne sera écrit dans le fichier zabbix_server.log.
Concerne au moins la version 5.1.61 de MySQL.

PostgreSQL

Si une valeur contient un caractère non ASCII dans un encodage non UTF8, cela entraînera l'échec de la requête SQL (PGRES_FATAL_ERROR:ERROR invalid byte sequence for encoding) et les données ne seront pas stockées. Un message d'avertissement approprié sera écrit dans le fichier zabbix_server.log.
Applicable au moins à la version 9.1.3 de PostgreSQL.