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:
Вот скриншот ошибки, с которой я столкнулся:
Еще один снимок экрана:
![]()
Ответы
Ответ 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]()