gpt4 book ai didi

json - 在 Logstash 中解析 JSON 对象数组

转载 作者:行者123 更新时间:2023-12-05 04:13:07 26 4
gpt4 key购买 nike

我有一个日志文件,它是一个对象数组,看起来像这样:

[
{ "cate1": "data1a", "cate2": "data2a" },
{ "cate1": "data1b", "cate2": "data2b" },
{ "cate1": "data1c", "cate2": "data2c" }
]

我需要数组中的每个对象都是 Elasticsearch 中的一个单独条目,每个“类别”都是一个字段。我当前的 logstash.conf 文件是:

input {
tcp {
port => 5000
}
}

## Add your filters / logstash plugins configuration here

filter {
json {
source => "message"
target => "event"
}
mutate {
gsub => ["message","\]",""]
gsub => ["message","\[",""]
}
}

output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}

但它用“_jsonparsefailure”标记每一行,除了第一个条目,它也解析方括号。我将如何配置 Logstash 以正确执行此操作?

最佳答案

您应该考虑使用 json codec 而不是使用 json 过滤器根据您的输入。它似乎完全符合您的要求:

This codec may be used to decode (via inputs) and encode (via outputs) full JSON messages. If the data being sent is a JSON array at its root multiple events will be created (one per element).

它看起来像这样:

input {
tcp {
port => 5000
codec => json{ }
}
}

关于json - 在 Logstash 中解析 JSON 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com