弹性搜索和logstash的故障转移

mur*_*mit 2 logging elasticsearch logstash

我正在努力配置logstash和elasticsearch.在我的logstash配置文件输出部分.

elasticsearch {
    codec => json_lines
    cluster => "firstEsearch_cluster"
    protocol => "http"
    host => "192.168.56.3"
    port => "9200"
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做,我就能够与elasticsearch实例进行通信

但是现在我在各种机器上有多个弹性搜索节点,我在这些机器上复制数据以从故障中恢复,并且机器在同一网络中.

现在,当我的机器192.168.56.3故障,192.168.56.4192.168.56.5正在运行elasticsearch的其他节点,无法将日志发送到elasticsearch集群,因为机器192.168.56.3下跌.所以

  1. logstash的输出配置应该是什么,这样当其中一台机器出现故障时,我仍然可以将日志发送到elasticsearch集群

当我试图这样做时:

elasticsearch {
    codec => json_lines
    cluster => "firstEsearch_cluster"
    protocol => "http"
    #host => "192.168.56.3"
    #port => "9200"
}
Run Code Online (Sandbox Code Playgroud)

logstash无法连接到elasticsearch实例,也无法发送日志.

Fra*_*ank 5

使用DNS名称部署负载均衡器,并将elasticsearch输出指向它.负载均衡器会将请求路由到活动的elasticsearch节点.