Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logstash 根据log-ELK中的字段组合请求和响应_Logstash_Elk - Fatal编程技术网

Logstash 根据log-ELK中的字段组合请求和响应

Logstash 根据log-ELK中的字段组合请求和响应,logstash,elk,Logstash,Elk,我们有麋鹿设置与filebeat,logstash和elasticsearch和kibana。 我需要在logstash收集请求和响应 我已经按如下方式配置了管道配置。现在,如果我对管道使用单个worker,那么日志聚合将不会出现任何问题。如果我使用多个worker,则不会发生聚合。是否有使用多个工作进程和日志聚合的解决方案 if [transaction] == "request" { aggregate { task_id

我们有麋鹿设置与filebeat,logstash和elasticsearch和kibana。 我需要在logstash收集请求和响应

我已经按如下方式配置了管道配置。现在,如果我对管道使用单个worker,那么日志聚合将不会出现任何问题。如果我使用多个worker,则不会发生聚合。是否有使用多个工作进程和日志聚合的解决方案

 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"

         }
}

对于要使用的
聚合
过滤器,您只能使用一个工人,如果您使用多个工人,您的响应事件可能会在您的请求之前处理,因此您的过滤器将无法工作

这是弹性的

您应该非常小心地将Logstash filter worker设置为1(-w 1标志),以使此筛选器正常工作,否则事件可能会被无序处理,并会出现意外结果