我有多个logstash实例将日志直接发送到中央弹性搜索服务器(使用output-> elasticsearch)。
到目前为止这工作正常,但是当elasticsearch正在关闭时(例如,整个服务器重新启动),一旦elasticsearch再次启动,logstash就不会重新开始发送日志。
我必须手动重启logstash。此外,来自elasticsearch的所有日志都将丢失,直到重新启动logstash。
如何更改设置以使其更具容错性?
答案 0 :(得分:1)
您应该考虑使用代理并将所有日志发送到消息队列(例如rabbitMQ),然后Logstash将从中提取消息并将数据发送到Elasticsearch。如果Elasticsearch失败,Logstash将停止提取消息,它们将在代理中累积。一旦连接重新建立,您的消息将被写入。
答案 1 :(得分:0)
添加另一台服务器并启动elasticsearch集群。构建Elasticsearch以扩展到多个节点,logstash客户端将自动加入群集并进行故障转移。