与 Logstash 连接时的 Elasticsearch 集群 url

Elasticsearch cluster url when connecting with Logstash

我有一个包含 1 个主节点和 2 个数据节点的 3 节点 Elasticsearch 集群。 假设他们的私有 IP 是 10.10.10.110.10.10.210.10.10.3.

我正在将 Logstash 连接到集群,我不知道应该设置哪个值 output.elasticsearch.hosts。

应该是"10.10.10.1:9200,10.10.10.2:9200,10.10.10.3:9200",还是只指定一个数据节点就够了?

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    user => "elastic"
    password => "changeme"
  }
}

elasticsearch输出的hosts选项中你应该设置你的数据节点,如果你的主节点是主独占节点你可以不配置,但是你可以把另外两个数据节点。

Logstash 将对这些节点之间的请求进行负载平衡。

您应该以这种格式使用它:

hosts => ["host1:9200", "host2:9200", "hostN:9200"]