首页 > 解决方案 > 使用带有弹性 cloudid 的 logstash

问题描述

关于如何使用 cloud.id 使用弹性云配置 logstash 的说明不完整。具体来说,如果您将 cloud.id 和 cloud.auth 放入 logstash.yml,说明并没有说明将什么放入 *.conf 文件的输出部分。假设使用 cloud.id 不需要放置 ES 实例的 URL。

如果你在输出部分没有放任何东西,logstash 会抛出一个配置错误。如果你把东西放在那里,不合逻辑,因为什么都不需要,它会尝试连接到本地主机上的 ES:

 output {
      elasticsearch {
      }
    }

这是错误,因为 logstash 没有使用 cloud.id。

[WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://127.0.0.1:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://127.0.0.1:9200/]

标签: elasticsearchlogstash

解决方案


您应该在输出部分重复登录信息,尽管它不合逻辑,如此所述。管道的输出应如下所示:

output {
  elasticsearch {
    hosts => ["https://xxxxxxxxxxxx.eu-central-1.aws.cloud.es.io:9243"]
    user => "myUsername"
    password => "myPassword"
 }
 stdout { codec => rubydebug }
}

推荐阅读