2016-12-26 2 views
0

EDIT: Попытка просмотра журналов отчета Magento. Magento записывает свой отчет о сбоях в новый файл каждый раз, когда возникает исключение.Как просматривать или читать новые файлы журналов с помощью Logstash?

Согласно Logstash Официальной документации: «Как часто (в секундах), разложат шаблоны имен файлов в параметре пути, чтобы обнаружить новые файлы смотреть» https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html варианта dicover_interval означает

Проблема: У меня есть система, которая записывает свои журналы в новый файл каждый раз при возникновении нового исключения (имя файла является номером исключения). Однако Logstash при запуске запускает просмотр существующих файлов, но я не могу заставить Logstash читать новые файлы.

Мой конф файл:

input { 
    file { 
    type => "error-report-log" 
    path => "/srv/www/var/report" 
    #start_position => "beginning" 
    ignore_older => 30 
    close_older => 30 
    discover_interval => 5 
    codec => multiline { 
     pattern => "." 
     what => "previous" 
    } 
} 

}

Как вы можете видеть, я пытался discover_interval не повезло. Новые файлы не просматриваются.

Я что-то упустил или Logstash просто не поддерживает такое поведение?

Заранее благодарен.

ответ

1

Я думаю, вы упускаете sincedb_path в своем file. Что делать, если у вас есть свой вход, как, например:

input { 
    file { 
    type => "error-report-log" 
    path => "/srv/www/var/report" 
    sincedb_path => "/dev/null" <-- add this line 
    start_position => "beginning" <-- uncomment this 
    ignore_older => 0    <-- change it to zero 
    codec => multiline { 
     pattern => "." 
     what => "previous" 
    } 
} 

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

+0

Спасибо @Darth_Vader. Вы получили близкие, но новые файлы читаются только при перезапуске logstash. Я также попробовал open_interval => 1 ignore_older => 0/1, не повезло, logstash определенно не собирает новые файлы без перезапуска. Любые идеи? –

+0

Итак, вы имеете в виду, что при запуске и запуске 'logstash', когда вы добавляете новый файл в путь к файлу, его не собирают? Вы уверены, что вы указали шаблон пути к файлу вместо имени файла, чтобы он мог читать новые файлы? – Kulasangar

+0

Правильно. Его не собирать или смотреть новые файлы, а logstash работает. Пробовал версии 5 и 5.1. Я уверен, что Im задает путь. Я пробовал следующие пути:/srv/www/var/report и/srv/www/var/report/*. Что может быть неправильным? –

0

РЕШЕНИЕ: Использование Filebeat и передать журналы через Logstash гораздо лучше подход:

filebeat: prospectors: - input_type: log scan_frequency: 5s paths: - /srv/www/var/report/* fields: app_id: "${APP_ID}" type: error-report-log multiline: pattern: '^\$' negate: true match: after output: logstash: enabled: true hosts: ["my.logstash.com:5044"]

Это решение было проверено с Magento 2.

Magento 2 каждый раз записывает свой отчет об исключении/сбое в новый файл.

Смежные вопросы