【问题标题】:Logstash File plugin fails on UTF-8 JSON inputLogstash 文件插件在 UTF-8 JSON 输入上失败
【发布时间】:2014-12-10 14:27:03
【问题描述】:

我们将 JSON 日志文件导入 Elasticsearch 数据库,至少在某些机器上,我们发现导入失败并抱怨编码问题(“不兼容的编码:Windows-1252 和 UTF-8”)。输入配置很简单:

  file {
    path => "D:/Octopus/Applications/prod-ndoa/Bridge.Web/logs/BridgeSoap.*.txt"
    sincedb_path => "D:/Octopus/Applications/prod-ndoa/Bridge.Web/logs/sincedb"
    codec => json
   }

但只要输入文件在文件开头包含字节原点标记(BOM),处理就会失败。

如果我删除编解码器 json,则导入工作但使用“普通”格式(即我们的 JSON 文档作为字符串导入)。

奇怪的是,这在某些机器上已经运行了很长时间。发现此错误的是新机器安装测试。

【问题讨论】:

    标签: json encoding utf-8 logstash


    【解决方案1】:

    据 Logstash 人员称,这是 JSON 编解码器使用的 Ruby 解析器的一个已知问题:

    https://github.com/logstash-plugins/logstash-codec-json/issues/1

    不幸的是,在 Windows 机器上,UTF-8 文档通常在文件开头保存 BOM,因此如果 JSON 代码更灵活并接受这些字符,那就太好了。

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2011-09-25
      • 1970-01-01
      相关资源
      最近更新 更多