我当前正在尝试使用logback-logstash-soder将日志写入两个不同的logstash实例。这两个实例都将写入相同的Elasticsearch实例。
我正在努力寻找一种在两个logstash实例之间加载平衡的方法。
阅读了记录文档和log4j2文档后,它清楚地表明,LogBack-Logstash使用的TCPAPPENDER不支持"负载均衡" URL(即url1,url2)。在log4j2中,我可以用DifoverPappender近似此行为。
记录中是否有类似的功能?还是我需要站立另一个服务来为记录back的负载平衡?
afaik不支持TcpAppenders
中的负载平衡。但是,您可以通过在LogStash框前添加硬件/软件负载平衡器来实现负载平衡。如果LogStash进程/盒子死亡,则TCP连接重置,下一个日志事件应导致再次建立连接。
这种方法需要在设置中添加负载平衡器。您将在TcpAppender
中使用负载平衡器的地址。平衡器为您处理LogStash的可用性。
这取决于您要实现的目标。它不会失去任何日志事件吗?那么,更好的方法是将日志写入文件中,并通过logstash-forwarder将文件推到logstash框。如果您担心连接超时和应用程序放缓,则可以选择async-appender
或使用UDP。
hth,马克