【问题标题】:Logstash, one json object to multiple onesLogstash,一个json对象到多个对象
【发布时间】:2016-03-31 13:40:04
【问题描述】:

请我的logstash输入如下:

{"views":[{"name":"a"},{"name":" b"},{"name":" c"}]}

我只想将它作为 3 个文档插入到 Elasticsearch 中,而不是一个,但是 logstash 将它作为一个文档输出,请任何想法解决这个问题?

【问题讨论】:

    标签: json elasticsearch logstash


    【解决方案1】:

    试试这个例子:

    input {
      stdin {
      }
    }
    filter {
      json {
        source => "message"
      }
      split { 
        field => "views"
      }
    }
    output {
        stdout {
            codec => rubydebug
        }
    }
    

    【讨论】:

    • 非常感谢,你救了我的命 =)
    • 如果我想使用视图中的字段进行拆分,作为嵌套字段,我应该怎么做? @Кирилл Полищук
    • 试试这个语法:split { field => "[views][nested_views]" }
    • 请@Кирилл Полищук,我确实有树级别,我只想按第 3 级拆分,我的意思是我有每个现有第 3 级的文档,这是我的过滤器:filter { if !("splitted_views" in [tags]) { json { source => "message" } split { field => "views" add_tag => ["splitted_views"] } } if ( "splitted_views" in [tags] and [views][jobs] ) { split { add_tag => ["splitted_jobs"] field => "views[jobs]" } } if ( "splitted_jobs" in [tags] and [views][jobs][builds] ) { split { field => "views[jobs][builds]" } } } I'我得到了多余的文档,有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2017-09-13
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多