Кодировка получаемых значений
Сервер ожидает, что каждое получаемое текстовое значение будет в кодировке UTF-8. Это относится к любому типу проверок: Агент, ssh, telnet и т.д.
Различные системы/устройства и проверки могут возвращать в значениях non-ASCII символы. Для таких случаев почти все доступные в Подсистеме ключи имеют дополнительный параметр ключа элемента данных <кодировка>. Этот параметр ключа необязателен, но он должен быть указан, если получаемое значение не в кодировке UTF-8 и содержит non-ASCII символы. Иначе результат может быть неожиданным и непредсказуемым.
Описание поведения различных БД в этих случаях:
- MySQL – если значение содержит non-ASCII символ в не UTF-8-кодировке, то этот символ и следующий за ним символ будут отброшены при записи этого значения базой данных. Никакие предупреждающие сообщения не записываются в zabbix_server.log;
- PostgreSQL – если значение содержит non-ASCII символ в не UTF-8-кодировке, то это приведет к ошибке в SQL-запросе (PGRES_FATAL_ERROR:ERROR invalid Byte sequence for encoding), и данные не будут записаны. Соответствующее сообщение с предупреждением будет записано в zabbix_server.log.