[英]Grok: how to match until first space (IIS Log)
我想解析IIS日志。 可能的输入之一如下所示
2017-10-01 00:00:01 W3SVC2 xx xx.xx.xx.xx GET /CMSPages/PortalTemplate.aspx searchtext = excel-template-aa-xx-xx&xx =%2xx%2xx.com%yyyyy 443-yy。 yy.yy.yy HTTP / 1.1 Mozilla / 5.0 +(compatible; + bingbot / 2.0; ++ http://www.bing.com/bingbot.htm)--www.yyyyy.com 410 0 64 0 335 32791
我可以解析以上输入,直到searchtext
但是我不知道如何获取搜索文本?
%{TIMESTAMP_ISO8601:log_timestamp}%{SPACE}%{WORD:machine}%{SPACE}%{WORD:ServerName}%{SPACE}%{IPV4:serverIP}%{SPACE}%{WORD:method}%{SPACE}%{URIPATH:uriStem}%{SPACE}%{WORD:searchTextWord}
有什么方法可以检查searchtext
存在,然后获取以下文本(直到第一个空格)作为搜索文本。
\bsearchtext=\S+
对于Gork,使其为可选:
(%{searchtext=\S+})?
结果如下:
SEARCHTEXT = Excel的模板-AA-XX-XX&XX =%的2xx%2xx.com%YYYYY
\\b
位置为单词边界 searchtext
从字面上匹配 \\S+
匹配任何非空白字符一次或多次
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.