Ad Widget

Collapse

Не отображаются русские символы при чтении из лог файла

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • forzasakh
    Junior Member
    • Jun 2021
    • 5

    #1

    Не отображаются русские символы при чтении из лог файла

    Есть виртуалка Windows Server 2016 там стоит агент 3.0.4 на ней лог файл в кодировке ANSI
    Ключ со стороны заббикса выглядит следующий образом: log["C:\Test\Test1\logs\test_log.txt"]
    При такой настрйоке логи прилетают, но русский язык отображается вопросительными знаками (???????)
    Если в ключ добавляю принудительно кодировку Windows-1251
    log["C:\Test\Test1\logs\test_log.txt","Windows-1251"] уже логи не прилетают в принципе.
    Менял уже и кодировку самого файла с ANSI на UTF-8, русские символы всё равно не отображаются.
    Куда копать, подскажите пожалуйста.

    zabbix_server - 3.0.16 (Linux)
    Zabbix Agent - 3.0.4 (Windows Server 2016)

  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Originally posted by forzasakh
    Если в ключ добавляю принудительно кодировку Windows-1251
    log["C:\Test\Test1\logs\test_log.txt","Windows-1251"] уже логи не прилетают в принципе.
    Менял уже и кодировку самого файла с ANSI на UTF-8, русские символы всё равно не отображаются.
    Куда копать, подскажите пожалуйста.

    zabbix_server - 3.0.16 (Linux)
    Zabbix Agent - 3.0.4 (Windows Server 2016)
    Копать в сторону чтения документации и явного указания кодировки в параметрах ключа, чтобы она совпадала с реальной.

    Ещё некоторые замечания:
    • Кодировка указывается не вторым, а третьим параметром ключа. Второй параметр - это регулярное выражение для фильтра. Если вы там указываете значение "Windows-1251", то в логе будут искаться только строки, содержащие данную подстроку (это объясняет то, почему при таких настройках у вас всё "перестало работать": таких строк в логе, вероятно, просто нет).
    • Если меняете кодировку в существующем элементе данных, то лучше не редактировать существующий, а сделать его клон (оригинал потом удалите). Потому как не всегда изменение кодировки существующего элемента данных срабатывает корректно (особенно для многобайтовых последовательностей, вроде UTF-8).
    • Версия 3.0 уже давно не поддерживается. Рассмотрите возможность обновления.

    Comment

    Working...