logstash 中的贪婪匹配:
10.252.142.174 - - [06/Sep/2016:08:41:36 +0800] "GET /api/validate/code/send?mobilePhone=18652221499&messageType=1&_=1454297673274 HTTP/1.1" 200 52 0.010 112.17.240.27
表达式:
%{IPORHOST:clientip}s+-s+-s+[%{HTTPDATE:time}]s+"%{WORD:verb}s+(?<api>(S+))?.*%{IPORHOST:remote}
输出;
{
"clientip": [
[
"10.252.142.174"
]
],
"time": [
[
"06/Sep/2016:08:41:36 +0800"
]
],
"verb": [
[
"GET"
]
],
"api": [
[
"/api/validate/code/send"
]
],
"remote": [
[
"27"
]
]
}
此时remote 输出27
/*****************
%{IPORHOST:clientip}s+-s+-s+[%{HTTPDATE:time}]s+"%{WORD:verb}s+(?<api>(S+))?.*?%{IPORHOST:remote}
此时输出:
{
"clientip": [
[
"10.252.142.174"
]
],
"time": [
[
"06/Sep/2016:08:41:36 +0800"
]
],
"verb": [
[
"GET"
]
],
"api": [
[
"/api/validate/code/send"
]
],
"remote": [
[
"112.17.240.27"
]
]
}
或者:
%{IPORHOST:clientip}s+-s+-s+[%{HTTPDATE:time}]s+"%{WORD:verb}s+(?<api>(S+))?.*s+%{IPORHOST:remote}