我在一种模式下使用logstash,它从磁盘读取日志文件并放入ElasticSearch。
为高可用性(尤其是故障转移)部署logstash的最佳方法是什么?我可以使用主动/主动模式,其中两个logstash实例始终处于活动状态,而主动/被动模式,其中一个实例正在工作,另一个实例仅在第一个实例关闭时启动。
我特别询问了logstash而不是ElasticSearch。
答案 0 :(得分:3)
看来,Logstash没有内置的HA选项,我们仍然使用Linux classic - Virtual IP。我正在考虑同样的topick,并且目前决定尝试以下选项(热/冷版本):
以下是需要解决的问题:
据我所知,主动/主动Logstash仅在考虑以下选项时可用:
答案 1 :(得分:1)
您可以使用一个队列作为输入和索引过程之间的缓冲区。
将层与队列分开总是一件好事,因此如果elasticsearch崩溃,您的应用程序将不会受到影响。
答案 2 :(得分:0)
在这种情况下最好的方法是使用某种硬件平衡器,比如F5(如果你有一些)池,所以你定义了一个带有相应端口的VIP,然后你将该VIP与N IP相关联N个logstash主机的地址,这样你就可以从logstash或你需要运行的任何服务中获得任意数量的节点,然后应用循环算法并平衡连接。