2

I'm working on an elasticsearch project where I want to get data from Amazon s3.for this,I'm using logstash.To configure,

output{
   elasticsearch{
      host => 'host_'
      cluster => 'cluster_name'
   }
}

is the usual approach. But,I'm using Amazon elasticsearch service. It has only end-point and Domain ARN. How should I specify host name in this case?

pagid
  • 13,559
  • 11
  • 78
  • 104
AV94
  • 1,824
  • 3
  • 23
  • 36
  • 1
    I have no idea about Amazon ES service, but with regular ES, I'd try using this plugin: https://github.com/logstash-plugins/logstash-output-elasticsearch-ec2 with the configuration settings as thesehttps://github.com/logstash-plugins/logstash-output-elasticsearch-ec2/blob/master/lib/logstash/outputs/elasticsearch/ec2.rb – Andrei Stefan Nov 13 '15 at 20:37
  • What kind of domain access policy have you set up for your Amazon ES service? – Val Nov 14 '15 at 05:18

1 Answers1

10

In the simplest case where your ES cluster on AWS is open to the world, you can have a simple elasticsearch output config like this:

For Logstash 2.0:

output {
  elasticsearch{
    hosts => 'search-xxxxxxxxxxxx.us-west-2.es.amazonaws.com:80'
  }  
}
  • don't forget the port number at the end
  • make sure to use the hosts setting (not host)

For Logstash 1.5.x:

output {
  elasticsearch{
    host => 'search-xxxxxxxxxxxx.us-west-2.es.amazonaws.com'
    port => 80
    protocol => 'http'
  }  
}
  • the port number is a separate setting named port
  • make sure to use the host setting (not hosts), i.e. opposite than with 2.0
Val
  • 207,596
  • 13
  • 358
  • 360
  • 1
    That port 80 setting had me going around in circles! I was trying the usual ES 9200 & 9243! – Raoot Aug 17 '17 at 17:22