Logstash: самый простой конвейер не работает - PullRequest
0 голосов
/ 02 ноября 2018

Использование logstash 2.4 (у меня есть причины) на Ubuntu 16.04

root@logbox:/etc/logstash/conf.d# ls -al
total 16
drwxrwxr-x 2 root root 4096 Nov  2 19:53 .
drwxrwxr-x 3 root root 4096 Nov  2 15:46 ..
-rwxrwxrwx 1 root root  277 Nov  2 19:52 01_01_input.conf
-rwxrwxrwx 1 root root  604 Nov  2 19:48 03_02_output_pa_http.conf


root@logbox:/etc/logstash/conf.d# cat *.conf

input {

  stdin {}

  file {
    path => "/usr/share/logstash/files/production_input.txt"
    start_position => "beginning"
    # codec => plain { charset => "ISO-8859-1" }
    codec => json
    # add_field => [ 'redis_db', '10' ]
  }



}
output {

  stdout {}

}


root@logbox:/etc/logstash/conf.d# ls -al /usr/share/logstash/files/production_input.txt
-rwxrwxrwx 1 root root 11910 Nov  2 16:09 /usr/share/logstash/files/production_input.txt

Однако ...

vagrant@logbox:/etc/logstash/conf.d$ sudo tail -f /var/log/logstash/logstash*


Sending logstash logs to /var/log/logstash/logstash.log.

==> /var/log/logstash/logstash.log <==
{:timestamp=>"2018-11-02T19:59:52.947000+0000", :message=>"Pipeline main started"}

==> /var/log/logstash/logstash.stdout <==
{:timestamp=>"2018-11-02T19:59:52.947000+0000", :message=>"Pipeline main started"}

Файл не печатается в stdout ... Я пробовал оба кодека (json и plain)

edit : фактически это может быть случай, когда файл был прочитан только один раз ; это имеет отношение к sincedb? как заставить logstash прочитать его снова? не достаточно start_position => beginning? 1020 *

1 Ответ

0 голосов
/ 03 ноября 2018

start_position используется при первом чтении файла.

Если вы хотите заставить logstash прочитать его снова, вам нужно добавить в свой плагин ввода файла conf этот параметр: sincedb_path => "/dev/null"

Пожалуйста, прочитайте это для дальнейшего объяснения Как заставить Logstash проанализировать файл?

...