Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 在给定的日志结构上通过logstash中的grok过滤器对日志文本进行配对_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash - Fatal编程技术网 elasticsearch 在给定的日志结构上通过logstash中的grok过滤器对日志文本进行配对,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 在给定的日志结构上通过logstash中的grok过滤器对日志文本进行配对,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 在给定的日志结构上通过logstash中的grok过滤器对日志文本进行配对

elasticsearch 在给定的日志结构上通过logstash中的grok过滤器对日志文本进行配对,elasticsearch,logstash,elasticsearch,Logstash,上面是日志格式 请帮助在logstash中编写一个grok筛选器,用于分隔字段,如下所示: 2019-04-01 10:57:35|[a1vx4d9r - ecaf-myself - N2PENL-ECFA0141.india.airtel.itm - servlet:/reserveNumbers/getAvailableNumbers/v1?httpMethodRestrict=POST ][[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.

上面是日志格式

请帮助在logstash中编写一个grok筛选器,用于分隔字段,如下所示:

2019-04-01 10:57:35|[a1vx4d9r - ecaf-myself - N2PENL-ECFA0141.india.airtel.itm - servlet:/reserveNumbers/getAvailableNumbers/v1?httpMethodRestrict=POST ][[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO|com.airtel.common.aop.LogExecutionTime|EXECUTION TIME LOGGING METHODNAME: postResponseFromESB EXECUTION TIME: 472 ms

编写grok过滤器很容易,因为已经定义了所有必需的模式。您可以使用此应用程序尝试grok筛选器,并查看它是否与您的日志模式匹配:

对于上面的示例,下面的grok过滤器将起作用。您可以使用上述两种资源检查并微调它,以满足您的需要:

timestamp: 2019-04-01 10:57:35
user_id:a1vx4d9r
project name: ecaf-myself
host_name: N2PENL
api_name:ECFA0141.india.airtel.itm - servlet:/reserveNumbers/getAvailableNumbers/v1?httpMethodRestrict=POST 
thread_id: [ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'
log_level: INFO
Method_name:postResponseFromESB 
Method_time:472

主席先生,假设用户id不存在,并且日志类似于-2019-04-01 10:57:35 |[a1vx4d9r----servlet:/reserveNumbers/GetAvailableEnumbers/v1?httpMethodRestrict=POST][[ACTIVE]ExecuteThread:'36'用于队列:'weblogic.kernel.Default(自调优)]INFO | com.airtel.common.aop.LogExecutionTime |执行时间日志记录方法名称:postResponseFromESB执行时间:472毫秒。如果任何字段不存在,因此我们无法提取相同的字段,如何避免grokparseFailure。如果某些条目缺少字段,则表示该字段是可选的。请看这个问题来处理这些字段:-请帮助回答这个问题。
%{TIMESTAMP_ISO8601}.*\[%{WORD:user_id}* - %{NOTSPACE:project_name}* - %{WORD:host_name}*-%{DATA:api_name} \]%{GREEDYDATA:thread}\] %{WORD:log_level}.*METHODNAME: %{WORD:Method_name}.*EXECUTION TIME: %{INT:Method_time}