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

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

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

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

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

Я что-то пропустил? Я последовал этому руководству: Digital Ocean

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

Ответ 1

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

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

Ответ 2

У меня были одинаковые результаты на Amazon AMI (клон Centos/RHEL)

Фактически точно в соответствии с приведенным выше... До я ввел некоторые данные в Elastic - это создает первый индекс day - тогда Kibana начинает работать. Мой простой .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, он никогда не создавал индекс - я не знаю, почему это так.

Ответ 3

Является ли это Kibana3 или 4?

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

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

logstash settings