【问题标题】:Logstash - Issue parsing json_lines formatLogstash - 解析 json_lines 格式的问题
【发布时间】:2017-02-03 16:49:11
【问题描述】:

试图让 json_lines 编解码器从文件中读取数据可能是一个 n00b 问题。

这是我的配置文件的样子

input {
  file {
    path => ['C:/dev/logstash-5.1.2/data/sample.log']
    start_position => "beginning"
    sincedb_path => 'C:/dev/logstash-5.1.2/data/.sincedb'
    codec => "json_lines"
  }
}
output {  
  file {
    path => ['C:/dev/logstash-5.1.2/data/sample-output.log']
    flush_interval => 0
  }
}   

这是我的超级简单输入文件的样子

{"id":1,"name":"A green door","price":12.50,"tags":["home","green"]}
{"id":2,"name":"A red door","price":12.50,"tags":["home","red"]}

当我将编解码器切换到plain 时,文件被读取并按预期写入输出。但无论我做什么,我都无法让json_lines 编解码器读取和写入这些数据。

我对 Logstash 很陌生,所以这可能只是一些我无法理解的简单事情。任何帮助将不胜感激!

干杯!

【问题讨论】:

    标签: logstash elastic-stack jsonlines


    【解决方案1】:

    json_lines documentation 上有这个警告:

    注意:如果您的源输入是面向行的 JSON,例如 redis 或文件输入,请不要使用此编解码器。而是使用 json 编解码器。更多信息:此编解码器期望接收换行终止行的流(字符串)。文件输入将产生一个没有换行符的行字符串。因此,此编解码器无法处理面向行的输入。

    请改用json codec

    【讨论】:

    • 谢谢!我对用户指南的编解码器页面上的“读取换行符分隔的 JSON”描述感到困惑..
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多