Я использую сервис AWS Elasticsearch для настройки Elasticsearch Cluster, и есть отдельный сервер, на котором я установил Logstash 2.1.0.
Вот мой пример файла конфигурации Logstash: -
input {
file {
path => "/var/log/httpd/access_log"
type => "apache-access"
start_position => "beginning"
}
}
filter {
if [type] == "apache-access" {
grok {
match => [ "message", "%{COMBINEDAPACHELOG}" ]
}
}
}
output {
elasticsearch {
hosts => "xxxx-yyyy-oul45pxbkudcpzz7w7l5222od4.us-east-1.es.amazonaws.com:443"
ssl => "true"
manage_template => false
}
}
Я не вижу никаких индексов в AWS Elasticsearch. Я не уверен, что мне что-то не хватает. Конфигурация кажется простой и понятной. Также на сервере Logstash не создается журнал.
Когда я даю команду /bin/logstash -f 01-logstash.conf
это дает мне правильный результат. Кажется, что Logstash работает, но не отправляет данные в кластер AWS Elasticsearch. ~
Предполагая, что ваша служба elasticsearch работает на порту 443. Вам необходимо указать хранилище ключей путь elasticsearch вместе с паролем. Проверить эту ссылку для всех доступных параметров вывода logstash elasticsearch.
PS: Убедитесь, что служба elasticsearch доступна с вашей машины logstash. Подтвердите использование telnet из logstash в elasticsearch.