要不要也来分享分享一下啊

es6.8 logstash写入怎么将几个日志合并到一起将所有字段展示

Logstash | 作者 DengJ | 发布于2020年12月17日 | 阅读数:1967

例如我接收到的第一个文档,通过logstash 输出至es
 {"call_id": "123456", start_time="2020-01-01 01:00:00", orgCode:"666777", type: "1"}


几分钟后,logstash收到具有相同call_id,不同字段值的日志
 {"call_id": "123456", start_time="2020-01-01 01:00:00", type: "2",end_time="2020-01-01 01:00:05"}


这些字段已正确加载,但是创建了两个文档。我希望只为初始日志创建一个文档,然后用第二个日志来更新覆盖第一个日志,两个日志互相不存在的字段保留,这意味着更新后的文档将具有以下字段:
 {"call_id": "123456", start_time="2020-01-01 01:00:00", type: "2",orgCode:"666777",end_time="2020-01-01 01:00:05"}


output {

    # 根据上面的type不同,建立不同索引
    if [type] == "robotLog" {
        elasticsearch {
            action => "index"
            hosts  => "127.0.0.1:9200"
            index => "robot_log-%{+YYYY.MM.dd}"
            document_type => "_doc"
            codec => "json"
        }
    }

    # 调试模式
    stdout {
        codec => json_lines
    }

}

这种请问需要用什么插件可以实现
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

设置相同id 这样第二次写入会覆盖第一次写入

要回复问题请先登录注册