使用 shuf 来打乱一个文件中的行或是选择文件中一个随机的行。

logstash 中grok 表达式解析该日志

匿名 | 发布于2017年12月08日 | 阅读数:5037

日志

192.168.6.25 - - [24/Apr/2016:01:25:53 +0800] GET "/goLogin" "" 8080 200 1692 23 "http://10.1.8.193:8080/goMain" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0"
192.168.6.25 - - [24/Apr/2016:01:25:53 +0800] GET "/js/common/jquery-1.10.2.min.js" "" 8080 304 - 67 "http://10.1.8.193:8080/goLogin" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0"
192.168.6.25 - - [24/Apr/2016:01:25:53 +0800] GET "/css/common/login.css" "" 8080 304 - 75 "http://10.1.8.193:8080/goLogin" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0"
192.168.6.25 - - [24/Apr/2016:01:25:53 +0800] GET "/js/system/login.js" "" 8080 304 - 53 "http://10.1.8.193:8080/goLogin" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0"
 
grok解析日志表达式

%{IPORHOST:clientip} %{NOTSPACE:identd} %{NOTSPACE:auth} \[%{HTTPDATE:timestamp}\] %{WORD:http_method} %{NOTSPACE:request} %{NOTSPACE:request_query|-} %{NUMBER:port} %{NUMBER:statusCode} (%{NOTSPACE:bytes}|-) %{NUMBER:reqTime} %{QS:referer} %{QS:userAgent}
 
问题:则
%{NOTSPACE:request_query|-}

(%{NOTSPACE:bytes}|-)的区别
已邀请:

luohuanfeng

赞同来自:

第一个 %{NOTSPACE:request_query|-} 试了一下 |-后面好像没什么用...
第二个 (%{NOTSPACE:bytes}|-) 先匹配%{NOTSPACE:bytes} 如果匹配失败再匹配'-'字符. 匹配到-后 当做占位符,然后bytes是空值.
但是 你这个NOTSPACE的正则\S会把-也匹配上..所以 (%{NOTSPACE:bytes}|-) 也没啥用..

http://grokdebug.herokuapp.com/
可以自己试试

要回复问题请先登录注册