使用logstash处理大型json - 不工作且不打印任何错误

时间:2015-11-26 13:06:19

标签: logstash logstash-configuration

当我的主要使用原因是传递logstash一个大的json(10 mb)时,我开始使用logstash on windows ),过滤{{1}不知怎的,把它写到json

就目前而言,我并不十分关心elastic search过滤(我会关心我的工作)。我希望文件通过json并转到我的logstash

供稿elastic search的客户使用logstash连接。

我的tcp简单配置文件如下所示:

logstash

对于我来说,对我来说确实有用,例如:

input
{
    tcp
    {
        port=>7788
        codec=>"json"
    }
}

output
{
    elasticsearch
    {
        hosts=>"localhost:9200"
        codec=>"json"
    }
    stdout
    {
        codec=>rubydebug
    }
}

我看到json工作并将数据传递给{"foo":"bar", "bar": "foo"} 一切都很好

此外,当使用默认编解码器(" text")时,它可以工作,但不是预期的。

当输入很大logstash时,我的问题就开始了。

假设我有一个10 MB elastic search - 我需要做些什么,以便jsons能够json作为logstash来处理它?该文件应缩进还是不缩进?在将其转换为字节之前,我应该使用什么编码?我的logstash应该有哪些编解码器\设置?

BTW,当我使用curl并通过大tcp直接进行弹性搜索时 - 它有效 - 所以json没有问题。

有什么方法可以让我更好地追踪或者至少知道我失败的原因吗?

1 个答案:

答案 0 :(得分:0)

我发现问题不是长度而是缺少换行符 - 所以我需要做的就是在日志文件中添加换行符。

BTW,没有 4K长度限制 - 至少在使用TCP时没有。