Логи парсить ошибка 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