当我的主要使用原因是传递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
没有问题。
有什么方法可以让我更好地追踪或者至少知道我失败的原因吗?
答案 0 :(得分:0)
我发现问题不是长度而是缺少换行符 - 所以我需要做的就是在日志文件中添加换行符。
BTW,没有 4K长度限制 - 至少在使用TCP时没有。