logback故障转移tcp appender

时间:2015-05-05 15:57:36

标签: logstash logback logstash-logback-encoder

我目前正在尝试使用logback-logstash-encoder将我的日志写入两个不同的logstash实例。这两个实例都将写入同一个Elasticsearch实例。

我很难找到在两个logstash实例之间加载平衡的方法。

在阅读了logback文档和log4j2文档之后,它明确指出logback-logstash使用的TcpAppender不支持“负载均衡”#39;网址(即url1,url2)。在log4j2中,我可以使用FailoverAppender来估计这种行为。

logback中是否有类似的功能?或者我是否需要支持另一项服务以进行负载平衡以进行回溯?

1 个答案:

答案 0 :(得分:0)

AFAIK在sqlite3内不支持负载均衡。但是,您可以通过在logstash框前面添加硬件/软件负载平衡器来实现负载平衡。如果logstash进程/盒死亡,TCP连接将被重置,下一个日志事件应该导致重新建立​​连接。

此方法需要在您的设置中添加负载均衡器。您可以在TcpAppenders中使用负载均衡器的地址。平衡器为您处理logstash的可用性。

这取决于你想要达到的目标。是不是丢失了任何日志事件?那么也许更好的方法是将日志写入文件并通过logstash-forwarder将文件推送到logstash框。如果您担心连接超时和应用程序速度变慢,那么可以选择TcpAppender或使用UDP。

HTH,马克

相关问题