2015-03-18 2 views
-1

Новое для logstash и проблемы с обработкой файлов журнала.входной файл не работает для logstash (.kibana index)

Я запускаю его на Windows Server 2008 R2 с IIS 7.5. ELK версии: ElasticSearch V 1.4.4 Logstash V 1.4.2 Kibana 4.0.1

я могу получить простой вход CMD линия работает. Logstash.conf:

input { stdin {} } 
output { 
    elasticsearch { host => localhost } 
    stdout { codec => rubydebug } 
} 

Затем запустите logstash из ../bin с помощью:

.\logstash agent -f logstash.conf 

Все, что я типа затем добавляется к logstash-2015-03-18 документ.

Однако я хотел logstash обрабатывать лог-файлы из моего собственного приложения, которые будут скопированы (пока у меня ELK работает 100%) в E:/TMP/журналы

Так я изменил logstash.conf чтобы:

input { 
    file { path => "E:\tmp\logs\*.log" } 
} 

Я использовал nssm.exe настроить службу logstash следующим образом:

Path: E:\LogStash files\logstash-1.4.2\logstash-1.4.2\bin\run.bat 
Startup dir. : E:\LogStash files\logstash-1.4.2\logstash-1.4.2\bin 
Dependencies: elasticsearch-service-x64 

run.bat является

logstash.bat agent -f logstash.conf 

Итак, в чем проблема? Когда я запускаю службу, я не вижу нового индекса в ElasticSearch (я использую DHC Chrome Plugin). Только индекс - .kibana (я полагаю, это для самой Кибаны?!).

Есть ли что-то не так с выше, или я могу передать обработку файла в файл для отладки?

С уважением Craig

PS. Я удалил файлы .sincedb *.

+1

Если вы установите 'начальная_позиция => beginning' для ввода имени файла (и Logstash не видел файл раньше) он будет только хвост файлов. Вы фактически добавляете данные в файлы, чтобы обработка хвоста приводила к обработке любых новых строк? –

+0

Итак, добавьте start_position => "begin" после файла {path => "E: \ tmp \ logs \ *. Log"} и перед закрытием} для ввода? –

+0

Добавьте его перед закрывающей скобкой для ввода файла, поэтому 'file {path =>" ... "start_position => begin}'. Опять же, это только имеет значение для новых файлов, которые Logstash раньше не делал. Чтобы оно рассматривало увиденные файлы как невидимые, удалите файлы sincedb. Не знаете, где они хранятся в Windows. –

ответ

1

Для обработки лог-файлов в окнах:

1) Используйте настройки:

input { 
    file { 
    path => "D:/ELK STACK/<...>.log" 
    start_position => beginning // to prevent tailing 
    sincedb_path => "/dev/null" // set sincedb path 
    } 
} 

2) Проверьте, были ли вы дали правильный путь к файлу

3) Если еще не читает из файла, попробуйте

logstash agent -vv -f test.conf (--v highest verbosity level) 

Если вы получаете ошибку _discover_file_glob, значит, ваш путь вкл. дый правильный.

Это может быть БВФБ из следующих вопросов тоже:

1) logstash принимает каждое событие, чтобы быть одна линия. Поэтому он ищет «\ n» в конце каждой строки. Поэтому добавьте пустую строку в конец файла.

2) отсутствие соответствующего разрешения файла