я пытаюсь разобрать этот лог строку: - 2014-04-29 13: 04: 23,733 [главная] INFO (api.batch.ThreadPoolWorker) Command- параметры командной строки для этого запуска: вот файл конфигурации logstash я использую:Logstash 1.4.2 Grok фильтр: _grokparsefailure
input {
stdin {}
}
filter {
grok {
match => [ "message", " - %{TIMESTAMP_ISO8601:time} \[%{WORD:main}\] %{LOGLEVEL:loglevel} %{JAVACLASS:class} %{DATA:mydata} "]
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
output {
elasticsearch {
host => "localhost"
}
stdout { codec => rubydebug }
}
{
"message" => " - 2014-04-29 13:04:23,733 [main] INFO (api.batch.ThreadPoolWorker) Commans run:",
"@version" => "1",
"@timestamp" => "2015-02-02T10:53:58.282Z",
"host" => "NAME_001.corp.com",
"tags" => [
[0] "_grokparsefailure"
]
}
Пожалуйста, если кто-нибудь может помочь мне найти, где проблема по образцу Горка. Я попытался разобрать эту строку в http://grokdebug.herokuapp.com/, но она анализирует только временную метку,% {WORD} и% {LOGLEVEL}, остальное игнорируется!
Благодарим вас за отзыв. Я уже пробовал ваше решение, добавив, что \ (% {JAVACLASS: class} \ не решает проблему. Паттерн JAVACLASS работает нормально, когда я использую его только в шаблоне соответствия, он извлекает класс java: {... " class "=>" api.batch.ThreadPoolWorker " } Но когда я добавляю остальные шаблоны вместе с JAVACLASS, он дает мне тег ошибки grokparsefailure. Я тестировал другие шаблоны, которые они отлично работают, это просто объединение всех их вместе с JAVACLASS, который создает ошибку. Любые предложения, пожалуйста? – sally
Ваш образец журнала работал в моей конфигурации. И шаблон JAVACLASS: \\ (% {JAVACLASS: class} \\), включите '\\'. my config. –
Я попытался снова после удаления всех неудачных журналов из elasticsearch, и теперь это сработало. Большое вам спасибо за вашу помощь. – sally