elasticsearch,logstash,Logging,elasticsearch,Logstash" /> elasticsearch,logstash,Logging,elasticsearch,Logstash" />

Logging elasticsearch和logstash的故障切换

Logging elasticsearch和logstash的故障切换,logging,elasticsearch,logstash,Logging,elasticsearch,Logstash,我正在配置logstash和elasticsearch。 在我的日志存储配置文件输出部分 elasticsearch { codec => json_lines cluster => "firstEsearch_cluster" protocol => "http" host => "192.168.56.3" port => "9200" } 如果我这样做,我就能够与elasticsearch实例通信 但现在我在不同的机器

我正在配置logstash和elasticsearch。 在我的日志存储配置文件输出部分

elasticsearch {
    codec => json_lines
    cluster => "firstEsearch_cluster"
    protocol => "http"
    host => "192.168.56.3"
    port => "9200"
}
如果我这样做,我就能够与elasticsearch实例通信

但现在我在不同的机器上有多个用于elasticsearch的节点,在这些机器上我复制数据以从故障中恢复,机器位于同一网络中

现在,当我的机器
192.168.56.3
失败,并且
192.168.56.4
192.168.56.5
正在运行elasticsearch的其他节点时,由于机器
192.168.56.3
已关闭,因此无法向elasticsearch集群发送日志。所以

  • logstash的输出配置应该是什么,这样当一台机器停机时,我仍然可以将日志发送到elasticsearch集群
  • 当我尝试这样做时:

    elasticsearch {
        codec => json_lines
        cluster => "firstEsearch_cluster"
        protocol => "http"
        #host => "192.168.56.3"
        #port => "9200"
    }
    

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

    部署一个具有DNS名称的负载平衡器,并将您的elasticsearch输出指向它。负载平衡器将请求路由到活动的elasticsearch节点。

    您可以在充当客户端节点的索引器上运行本地ES实例安装程序。使用以下选项配置节点

    node.master: false
    node.data: false
    
    然后将elasticsearch输出指向localhost。此客户端节点不会存储任何数据,只是充当其余节点的负载平衡器。

    Elasticsearch(现在称为elastic)建议设置一个执行负载平衡的nginx代理。将日志存储服务器指向代理,nginx将在集群中的节点之间进行循环

    下面是nginx配置的一个片段。将日志存储服务器指向端口8080

    events {
        worker_connections  1024;
    }
    
    http {
    
      upstream elasticsearch {
        server 127.0.0.1:9200;
        server 127.0.0.1:9201;
        server 127.0.0.1:9202;
    
        keepalive 15;
      }
    
      server {
        listen 8080;
    
        location / {
          proxy_pass http://elasticsearch;
          proxy_http_version 1.1;
          proxy_set_header Connection "Keep-Alive";
          proxy_set_header Proxy-Connection "Keep-Alive";
        }
    
      }
    
    }
    

    我要用HAProxy,我找到了一个教程。谢谢:)它会像HAProxy一样工作吗,因为我没有用过。你有什么建议,HAproxy还是你上面提到的方法??