эластичный поисковый фильтр Grok

Я только начал работать с ELK и logstash. Я хочу проанализировать свой собственный журнал apache. Я написал простой конвейер logstash.

input {
  beats {
    port => 5044
}
filter {
    grok {
      match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
}

output {
    stdout { codec => rubydebug }
}

Я пробовал с match => { "message" => "%{COMMONAPACHELOG}" }

но он не разбирает, исправляет мой журнал

Пример моего журнала

10.7.46.39 - - [25/Feb/2021:18:17:08 +0300] "POST /secure/TvmGw6 HTTP/1.1" 200 332
10.4.14.39 - - [25/Feb/2021:18:17:08 +0300] "POST /secure/TvmGw6 HTTP/1.1" 200 332

Не могли бы вы помочь мне написать правильный фильтр. Спасибо


person supportth    schedule 26.02.2021    source источник
comment
Какой результат генерирует конфигурация?   -  person llermaly    schedule 26.02.2021


Ответы (1)


Вот шаблон Grok, соответствующий вашему журналу:

%{IP:iPad dress} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] \"%{WORD:verb} %{URIPATH:path} HTTP/%{NUMBER:httpversion}\" %{NUMBER:response} %{NUMBER:bytes}

Я использовал Grok Debugger для проверки шаблона grik.

person Sourav Atta    schedule 26.02.2021
comment
большое спасибо! - person supportth; 26.02.2021