Добрый день, коллеги.
Сразу оговорюсь, что своими силами проблему борол, но она меня уделала.
Есть лог файл, который нужно полносттью передавать в zabbix и этот файл в кодировке UCS-2 Little Endian
Никак не могу понять, каким образом её правильно указать в ключе log или logrt
Ради чистоты эксперимента создал файл, в NP++ сменил кодировку на Little Endian и начал заполнять его отсебятиной, меняя кодировку в zabbix после нескольких новых строк в файле.
В итоге, сложилось впечатление, что сегодня не мой день )
Нашел кучу информации о том, то UTF-16 - Неофициальный синоним для UCS-2
Протестил вот эти варианты и уже готов сдаться:
"UCS2"
UCS2
"UCS-2"
UCS-2
"UCS-2LE"
UCS-2LE
"UCS-2 LE"
UCS-2 LE
"UCS-2 Little Endian"
UCS-2 Little Endian
"UTF-16"
UTF-16
"UTF-16LE"
UTF-16LE
"UTF-16 LE"
UTF-16 LE
"UTF-16 Little Endian"
UTF-16 Little Endian
"1202"
1202
"cp1202"
cp1202
С кавычками и без проверял на всякий случай.
В логах агента видно, что в некоторых кодировках он передаёт серверу value:'(null)' или value:''
В истории элемента видно, что поступают новые записи, но эти записи - пустые строки.
На данном форуме в нерусских ветках нашел сообщения от вроде бы матёрых пользователей, которые утверждают, что вариант "UTF-16" отлично обрабатывает логи MSSQL Server, который как оказалось тоже в кодировке UCS-2 Little Endian
Проверил - точно не мой день сегодня ! ) У меня такой вариант не работает. Вот для примера ключ:
log["C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\SQLAGENT.OUT" ,*,"UTF-16"]
В результате получаю кучу каких-то Китайских иероглифов
Я конечно попробую все варианты указания кодировок проверить на файлах MSSQL, хотя и понимаю, что это не имеет особого смысла.
Смущает и то, что у некоторых UTF-16 нормально отрабатывает, но может это еще и из-за того, что windows server у меня в Русской редакции, а SQL Английский ?
Может кто-нибудь настраивал мониторинг файлов в UCS-2 ?
Что я еще не учел ?
Очень надеюсь на помощь, так как как минимум на выходных не смогу спать спокойно ))
Сразу оговорюсь, что своими силами проблему борол, но она меня уделала.
Есть лог файл, который нужно полносттью передавать в zabbix и этот файл в кодировке UCS-2 Little Endian
Никак не могу понять, каким образом её правильно указать в ключе log или logrt
Ради чистоты эксперимента создал файл, в NP++ сменил кодировку на Little Endian и начал заполнять его отсебятиной, меняя кодировку в zabbix после нескольких новых строк в файле.
В итоге, сложилось впечатление, что сегодня не мой день )
Нашел кучу информации о том, то UTF-16 - Неофициальный синоним для UCS-2
Протестил вот эти варианты и уже готов сдаться:
"UCS2"
UCS2
"UCS-2"
UCS-2
"UCS-2LE"
UCS-2LE
"UCS-2 LE"
UCS-2 LE
"UCS-2 Little Endian"
UCS-2 Little Endian
"UTF-16"
UTF-16
"UTF-16LE"
UTF-16LE
"UTF-16 LE"
UTF-16 LE
"UTF-16 Little Endian"
UTF-16 Little Endian
"1202"
1202
"cp1202"
cp1202
С кавычками и без проверял на всякий случай.
В логах агента видно, что в некоторых кодировках он передаёт серверу value:'(null)' или value:''
В истории элемента видно, что поступают новые записи, но эти записи - пустые строки.
На данном форуме в нерусских ветках нашел сообщения от вроде бы матёрых пользователей, которые утверждают, что вариант "UTF-16" отлично обрабатывает логи MSSQL Server, который как оказалось тоже в кодировке UCS-2 Little Endian
Проверил - точно не мой день сегодня ! ) У меня такой вариант не работает. Вот для примера ключ:
log["C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\SQLAGENT.OUT" ,*,"UTF-16"]
В результате получаю кучу каких-то Китайских иероглифов
Я конечно попробую все варианты указания кодировок проверить на файлах MSSQL, хотя и понимаю, что это не имеет особого смысла.
Смущает и то, что у некоторых UTF-16 нормально отрабатывает, но может это еще и из-за того, что windows server у меня в Русской редакции, а SQL Английский ?
Может кто-нибудь настраивал мониторинг файлов в UCS-2 ?
Что я еще не учел ?
Очень надеюсь на помощь, так как как минимум на выходных не смогу спать спокойно ))
Comment