[英]Elasticsearch logstash configuration for multiple json (nested) file in a folder
我有一个包含 json 文件的文件夹,格式如下。
{
"name" : "test",
"Age" : 30,
"friends" : [
{"friend1" : "test2",
"age" : 25 },
{"friend2" : "test3",
"age" : 27}
],
"country" : "unknown"
}
我正在尝试将这些数据摄取到 elasticsearch 索引。
我想知道logstash 配置应该是什么样子。 非常感激。
您的 logstash 配置可能如下所示。 这里我假设用户名是唯一的,并将其用作弹性文档的 id。
input {
file {
path => "/pathToMyJsonFiles/*.json"
start_position => beginning
codec => json
}
}
filter {
mutate {
copy => { "name" => "userId" }
}
}
output {
elasticsearch {
hosts => ["elasticHost:port"]
index => "users_index"
manage_template => false
document_id => "%{[userId]}"
}
}
请注意,文件输入插件每行读取一个logstash事件,因此,如果 json 被格式化为您的示例,您可能需要更改分隔符,或将文件格式化为有一个 json ZA8CFDE6331BD59EB2AC96F89111 每行:
{"name":"User1","Age":30,"friends":[{"friend":"test2","age":25},{"friend":"test3","age":27}],"country":"unknown"}
{"name":"User2","Age":30,"friends":[{"friend":"test2","age":25}],"country":"unknown"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.