Logstash не создает индекс на Elasticsearch

Я пытаюсь настроить стек ELK на экземпляре EC2, Ubuntu 14.04. Но все устанавливается, и все работает просто отлично, за исключением одной вещи.

Logstash не создает индекс в Elasticsearch. Всякий раз, когда я пытаюсь получить доступ к Kibana, он хочет, чтобы я выбрал индекс из Elasticsearch.

Logstash находится в узле ES, но индекс отсутствует. Вот сообщение, которое я получаю:

"Unable to fetch mapping. Do you have indices matching the pattern?"

Я что-то упускаю? Я следил за этим учебник: Цифровой Океан

EDIT: Вот скриншот ошибки, с которой я столкнулся: Logstash missing Indices in ES (Kibana4) Еще один скриншот:

3 ответов


я получил идентичные результаты на Amazon AMI (Centos/RHEL clone)

в самом деле ровно как указано выше...до я ввел некоторые данные в Elastic-это создает первый day индекс - тогда Кибана начинает работать. Мой простой .conf - это:

input {
  stdin {
      type => "syslog"
    }
}
output {
  stdout {codec => rubydebug }
   elasticsearch {
          host => "localhost"
          port => 9200
          protocol => http
       }
}

затем

cat /var/log/messages | logstash -f your.conf

почему stdin вы спрашиваете? Ну, это не очень ясно нигде (также новый пользователь Logstash-нашел это очень неясно), что Logstash никогда не завершится (например при использовании file плагин) - он предназначен для продолжения просмотра.

но использование stdin-Logstash будет работать-отправить данные в Elastic (который создает индекс), а затем уйти.

если бы я сделал то же самое выше с file input plugin, он никогда не создаст индекс - Я не знаю, почему это так.


мне, наконец, удалось выявить проблему. По какой-то причине к порту 5000 обращается другая служба, которая не позволяет нам принимать любое входящее соединение. Поэтому все, что вам нужно сделать, это отредактировать logstash.conf-файл и измените порт на 5000 до 5001 или что-нибудь из вашего удобства.

убедитесь, что все ваши logstash-forwarders отправляют журналы в новый порт, и вам должно быть хорошо идти. Если вы создали logstash-forwarder.crt использование FQDN метод, то logstash-forwarder должен указывать на то же самое FQDN, а не IP.


Это Kibana3 или 4?

Если это Kibana4, вы можете нажать на настройки в меню верхней строки, выберите индексы, а затем убедитесь, что имя индекса содержит " logstash -*", затем нажмите на имя "time-field" и выберите "@timestamp"

Я добавил скриншот моих настроек ниже, Будьте осторожны, какие параметры вы отмечаете.

logstash settings