繁体   English   中英

Elasticsearch logstash 配置文件夹中的多个 json(嵌套)文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM