在 logstash 中将输出配置为 elasticsearch

Configure output as elasticsearch in logstash

我正在做一个 elasticsearch 项目,我想从亚马逊获取数据 s3.for 这个,我正在使用 logstash.To 配置,

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

是通常的做法。 但是,我正在使用 Amazon elasticsearch 服务。它只有端点和域 ARN。在这种情况下我应该如何指定主机名?

在 AWS 上的 ES 集群向世界开放的最简单情况下,您可以有一个简单的 elasticsearch 输出配置,如下所示:

对于Logstash 2.0:

output {
  elasticsearch{
    hosts => 'search-xxxxxxxxxxxx.us-west-2.es.amazonaws.com:80'
  }  
}
  • 不要忘记最后的端口号
  • 确保使用 hosts 设置(而不是 host

对于Logstash 1.5.x:

output {
  elasticsearch{
    host => 'search-xxxxxxxxxxxx.us-west-2.es.amazonaws.com'
    port => 80
    protocol => 'http'
  }  
}
  • 端口号是一个单独的设置,名为 port
  • 确保使用 host 设置(而不是 hosts),即与 2.0
  • 相反