Примечание: для проверки вашего паттерна вы можете использовать этот сайт , что позволяет сэкономить много времени при работе с паттернами.
Шаблон, который вы используете, слишком длинный, если вам нужны только IP, request и pageName, вам следует просто попытаться извлечь то, что вам нужно.В дополнение к этому более короткий шаблон будет выполняться быстрее и более гибким для изменения.
Этот фильтр правильно извлекает то, что вы просили:
match => {"message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:PageName}"}
С этим шаблоном и предоставленными вами журналами, вы получите этот результат (с сайтом, на который я ссылался выше):
![enter image description here](https://i.stack.imgur.com/h6dF8.png)
Я протестировал фильтр с logstash:
filter {
grok { match => {"message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:PageName}"} }
}
output {
stdout { codec => json }
}
С этим входом:
2018-09-16 04:11:52 Веб-сервер W3SVC10 107.6.166.194 GET / axestrack / homepagedata / uname = satish34 & pwd = 3445 & panelid = 1 80 - 223.188.235.131 HTTP / 1.1 Dalvik / 1.6.0 + (Linux; + U; + Android + 4.4.4; + 2014818 + MIUI / V7.5.2.0.KHJMIDE) - - vehicletrack.biz 200 0 0 730 229 413
Я получаю такой результат:
{
"client":"107.6.166.194",
"method":"GET",
"@version":"1",
"host":"frsred-0077",
"message":"2018-09-16 04:11:52 W3SVC10 webserver 107.6.166.194 GET /axestrack/homepagedata/ uname=satish34&pwd=3445&panelid=1 80 - 223.188.235.131 HTTP/1.1 Dalvik/1.6.0+(Linux;+U;+Android+4.4.4;+2014818+MIUI/V7.5.2.0.KHJMIDE) - - vehicletrack.biz 200 0 0 730 229 413\r",
"@timestamp":"2018-09-18T08:13:23.539Z",
"PageName":"/axestrack/homepagedata/"
}