2016-10-10 4 views
0

Я получаю grokparsefailure в некоторых из этих журналов apache, что для меня не имеет смысла. Одним из тегов кибаны для них является grokparsefailure. Очевидно, что-то здесь не так, но мне трудно понять, что это такое. запись Пример журнала, что привело к отказу:Проблема с согласованием GROK для журналов доступа

127.0.0.1 - - [10/Oct/2016:19:05:54 +0000] "POST /v1/api/query.random HTTP/1.1" 201 - "-" "-" 188 

Logstash выходной файл конфигурации:

filter { 
if [type] == "access" { 
    grok { 
     match => { "message" => "%{COMBINEDAPACHELOG}" } 
    } 
    } 
} 
filter { 
if [type] == "requests" { 
    grok { 
     match => { "message" => "%{COMBINEDAPACHELOG}" } 
    } 
    } 
} 
output { 
    elasticsearch { 
    hosts => ["http://ESCLUSTER:9200"] 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "[type]" 
    } 
    stdout { 
    codec => rubydebug 
    } 
} 
+0

С несколькими операторами grok {} добавьте уникальный параметр tag_on_failure к каждому из них. Это скажет вам, какой из них терпит неудачу и, надеюсь, даст вам больше рекомендаций по устранению проблемы. –

+0

Это запрос один. Извините за то, что не дал этого раньше, но я уже знал, какой из них был, поскольку «тип» также зарегистрирован в es, поэтому я могу видеть тип, соответствующий запросу grokpatternfailure. – stobiewankenobi

ответ

0

Есть два пространства вместо одного между двумя - и между - и [: 127.0.0.1 - - [.

pattern (%{IPORHOST:clientip} %{HTTPDUSER:ident} %{HTTPDUSER:auth}) ожидайте только одного места в этом пункте.

Так как вы исправить свой формат журнала, так что все журналы имеют тот же формат, или заменить %{COMBINEDAPACHELOG} на

%{IPORHOST:clientip} %{HTTPDUSER:ident}%{SPACE}%{HTTPDUSER:auth}%{SPACE}\[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} 

Эта модель эквивалентна COMBINEDAPACHELOG шаблону, но я заменяю пробелы в начале по шаблону %{SPACE}, которые соответствуют одному или нескольким местам.

 Смежные вопросы

  • Нет связанных вопросов^_^