Логи парсить ошибка apache2 с Грок для Logstash

Im пытается разобрать мой журнал ошибок apache2, и у меня возникли проблемы.. Кажется, он не соответствует фильтру. Я уверен, что временная метка неверна, но я не уверен, и я не могу найти никакой документации, чтобы понять это. Кроме того, есть ли способ получить то, что находится в fields.errmsg для меня @message?

Log

[Wed Jun 26 22:13:22 2013] [error] [client 10.10.10.100] PHP Fatal error:  Uncaught exception 'FooBar'

Конфигурация Грузоотправителя

input {
        file {
                'path' => '/var/log/apache2/*-error.log'
                'type' => 'apache-error'
        }

}

filter {
        grok {
                type => "apache-error"
                pattern => "[%{HTTPDATE:timestamp}] [%{WORD:class}] [%{WORD:originator} %{IP:clientip}] %{GREEDYDATA:errmsg}"
        }
}


output {
        stdout {}
        redis {
                'data_type' => 'list'
                'host' => 'logstash.server.net'
                'key' => 'logstash'
        }
}

4 ответов


Ахой!

Я знаю, что немного опоздал на вечеринку,но вот оно!

Я создал /etc/logstash/patterns.d/ каталог в системе и thew файл с именем apache-error в нем содержатся:

APACHE_ERROR_TIME %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}
APACHE_ERROR_LOG \[%{APACHE_ERROR_TIME:timestamp}\] \[%{LOGLEVEL:loglevel}\] (?:\[client %{IPORHOST:clientip}\] ){0,1}%{GREEDYDATA:errormsg}

/etc/logstash/patterns.d/ будет ссылаться в logstash настройки следующим образом:

grok {
  patterns_dir => [ "/etc/logstash/patterns.d" ]
  match => [ "message", "%{APACHE_ERROR_LOG}" ]
}

вы можете проверить его в Отладчик Grok, как упоминал Адам в своем комментарии. Кажется, отлично работает с образцом записи журнала, который вы отправляете. Был довольно основательно работал с одним из моих клиентов.

шаблон выше помещает окончательное сообщение в


наши журналы ошибок выглядят немного иначе:

[Tue Dec 08 12:30:35.997887 2015] [ssl:info] [pid 1178:tid 1072] (70014)End of file found: [client 10.129.24.77:49987] AH01991: SSL input filter read failed.

но я нашел предопределенный шаблон, который прекрасно работает:

HTTPD24_ERRORLOG

см. В источник Logstash


Logstash имеет встроенный анализатор журналов apache.

вот пример...

grok {
   type    => 'company'
   pattern => ["%{COMBINEDAPACHELOG}"]
   add_tag => "apache"
}

Как ссылка, вы можете проверить, Logstash это docs


не сработало для меня:

EEE MMM dd HH:mm:ss yyyy

работал на меня (Apache 2.4):

EEE MMM dd HH:mm:ss.SSSSSS yyyy