конфигурация ввода файла logstash

Мой простой конфиг выглядит так. Я создал фиктивную папку в своем домашнем каталоге и создал в ней несколько файлов журналов. Мой файл конфигурации выглядит так.

input{
    file{
        type => "dummylog"
        path => [/home/rohit/dummy/*.log" ]
    }
}
output{
    elasticsearch{
        embedded => true
    }
}

Теперь после запуска logstash я не могу видеть файлы в веб-интерфейсе logstash. Эти файлы не были загружены в elasticsearch. Я использую встроенный поиск elastics, поэтому нет необходимости запускать отдельный процесс. Может ли кто-нибудь помочь мне, где я совершаю ошибку?


person Rohith Uppala    schedule 16.05.2013    source источник


Ответы (4)


input {
  file {
    path => "/home/rohit/dummy/*.log"
    type => "log"
  }
}

filter {
  if [type] == "log" {
    grok {
      pattern => "%{COMBINEDAPACHELOG}"
    }
  }
}

output {
   elasticsearch { host => localhost } stdout { } }
}

для проверки шаблона, если правильный запуск

$ агент bin/logstash -f httpd-shipper.conf --configtest

person mightyteja    schedule 02.08.2014

Возможно, вам следует исправить синтаксические ошибки в вашей конфигурации, а затем посмотреть, есть ли более глубокая проблема.

Вам не хватает " в строке:

    path => [/home/rohit/dummy/*.log" ] 

Если это не решит проблему, было бы разумно подтвердить, что пользователь, запускающий процесс logstash, имеет доступ для чтения к журналам, которые он пытается прочитать.

person Adam    schedule 17.05.2013

Будьте очень осторожны с синтаксисом. Вы пропустили" (кавычки) в пути

input{
    file{
        type => "dummylog"
        path => ["/home/rohit/dummy/*.log"]
    }
}

output{
    elasticsearch{
        embedded => true
    }
}

Также обратите внимание, что для того, чтобы это работало, elasticsearch должен находиться на том же хосте, что и logstash.

person Aakash Anuj    schedule 02.07.2013

В дополнение к открывающей кавычке вы, должно быть, забыли о:

start_position => ... # строка, одна из ["начало", "конец"] (необязательно), по умолчанию: "конец"

Итак, должно быть:

input{
  file{
    type => "dummylog"
    path => "/home/rohit/dummy/*.log"
    start_position => "beginning"
  }
}
  output {
     elasticsearch{
      embedded => true
  }
}
person gek    schedule 17.03.2015