шаблон logstash для фильтрации данных моего журнала

Я новичок в стеке ELK и фильтре grok.

Нужна помощь в отношении файла конфигурации logstash для отображения данных в кибане (круговая диаграмма)

мой файл журнала доступен в папке C:\ELK\Test\reviewoutput.log

wf_review1 FAILED
wf_review2 PASS
wf_review3 PASS
wf_review4 PASS
wf_review5 FAILED

а вот мой конфиг файл

input{
file{
path=>"C:/ELK/Test/codereview.log"
}
}
filter{
grok{
match=>{"message"=>"%{WORD:workflow} %{WORD:status}"}
}
}
#output{
#elasticsearch{
#hosts=>["localhost"]
#index=>"logstash-*"
#}
output{stdout{codec=>rubydebug}
}

Приведенный выше код не отображает проанализированный журнал в консоли. если я изменю тип ввода на «stdin» и передам значение в консоль, он отобразит журнал в stdout/console. Не уверен, что мне здесь не хватает.

Я просто пытаюсь отфильтровать приведенные выше данные журнала, чтобы найти ключевое слово PASS или FAILED и загрузить отфильтрованные данные в elasticsearch. Позже на панели инструментов kibana я хочу отобразить количество успешных и неудачных (PASS / FAILED) рабочих процессов в круговой диаграмме.

Я запускаю стек ELK на машине с Windows.

ваша помощь/предложение будет большим подспорьем.


person Sachidananda Vs    schedule 25.01.2017    source источник


Ответы (1)


Я исправил это, добавив строку ниже в свой файловый фильтр.

sincedb_path => "/dev/null"

input{
    file{
        path => "C:/ELK/Test/codereview.log"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

Эти две ссылки действительно помогли мне после многих часов поиска решения :) https://discuss.elastic.co/t/reading-a-log-file-into-logstash/24514 https://github.com/elastic/logstash/Issues/3115

Но, тем не менее, с приведенной выше логикой он не читает последнюю строку файла журнала (вам нужно нажать клавишу ввода после последней строки, чтобы прочитать полные записи журнала), но я не уверен, почему он не читает последнюю запись журнала как есть!?

person Sachidananda Vs    schedule 01.02.2017