Как распечатать или сохранить все пропущенные строки большого файла журнала в logstash - PullRequest
0 голосов
/ 22 марта 2019

Иногда из-за неправильной структуры некоторых строк журналов внутри полных файлов журналов пропускается logstash.

Он отправляет только все строки с шаблоном, совпадающим с синтаксисом grok, который я написал.

Я хочу посмотреть, какие строки журналов пропускаются или не читаются logstash, чтобы мы могли исправить этот шаблон.

Я добавил

output {

if "_grokparsefailure" in [tags] {

stdout { 

codec => rubydebug

}

}

else

 {
 }
 }

но он печатает только ошибку разбора grok для строк, прочитанных logstash

Как распечатать или сохранить все пропущенные строки в выходном файле журнала.

1 Ответ

0 голосов
/ 22 марта 2019

Вам необходимо установить вывод внутри блока else, он пуст, поэтому logstash не имеет ничего общего с отсутствующим тегом _grokparsefailure.

Попробуйте что-то вроде этого:

output {
    if "_grokparsefailure" in [tags] {
        file { 
            path => "/tmp/grok-failed.log"
        }      
    } else {
        file { 
            path => "/tmp/grok-correct.log"
        }      
    }
}

Это сохранит оба сообщения в разных файлах.

...