根据日志中的字段组合请求和响应-ELK

我们为ELK设置了文件拍子,logstash,elasticsearch和kibana。 我需要在logstash处汇总请求和响应。

我已经按照以下方式配置了管道配置。现在,如果我将单个工作程序用于管道,则日志聚合工作没有任何问题。如果我使用多名工人,则不会发生聚合。有使用多个工作程序和日志聚合的解决方案吗?

 if [transaction] == "request" { 

       aggregate {
                        task_id => "%{id}"
                        code => "
                        map['method'] = event.get('method')
                        map['request'] = event.get('request')
                        map['user'] = event.get('user')
                        map['application'] = event.get('application')"
                        map_action => "create"
         }
                    drop {}#drop the request before persisting,to save indexing space in elasticsearch server
  }
  if [message] =~ "TRANSactION:response" {

         aggregate {
                    task_id => "%{id}"
                    code => "
                    event.set('method',map['method'])
                    event.set('response',map['response'])
                    event.set('user',map['user'])
                    event.set('application',map['application'])"
                    map_action => "update"

         }
}
mjg1mlf2 回答:根据日志中的字段组合请求和响应-ELK

要使aggregate过滤器正常工作,您只能使用一名工作人员,如果您使用多个工作人员,则您的响应事件可能会在您的请求之前得到处理,因此您的过滤器将无法工作。

这是docummented,用弹性表示。

  

您应该非常小心地将Logstash过滤器工作程序设置为1(-w 1标志),以使此过滤器正常工作,否则事件可能会被无序处理,并且会发生意外结果。

本文链接:https://www.f2er.com/3139438.html

大家都在问