当前位置: 首页 > 知识库问答 >
问题:

logback故障转移tcp追加器

赵飞语
2023-03-14

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

我正在努力找到一种方法来平衡两个logstash实例之间的负载。

在阅读logback留档和log4j2留档后,很明显logback logstash使用的TcpAppender不支持负载平衡网址(即url1,url2)。在log4j2中,我可以使用FailoverAppender近似此行为。

logback中是否有类似的功能?或者我需要建立另一个服务来平衡负载以进行回登录?

共有1个答案

支智志
2023-03-14

AFAIK在TcpAppender中不支持负载平衡。但是,可以通过在logstash框前面添加硬件/软件负载均衡器来实现负载平衡。如果logstash进程/框死亡,传输控制协议将被重置,下一个日志事件将导致重新建立连接。

这种方法需要将负载均衡器添加到您的设置中。您将在TcpAppender中使用负载均衡器的地址。平衡器为您处理logstash的可用性。

这取决于你想实现什么。它没有丢失任何日志事件吗?那么,也许更好的方法是将日志写入文件,并通过logstash转发将文件推送到您的logstash框。如果您担心连接超时和应用程序的减速,那么您可以选择async-appender或使用UDP。

马克

 类似资料:
  • 我们使用MQ作为传递消息的主要路径。这是我们的制度运作不可或缺的一部分。消息代理有时会失败,所有相关的队列也会随之失败。在camel中,有没有一种方法可以启动故障切换,并在其启动时恢复到主故障切换?

  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 我们有一个mongodb副本集,其中包含两个实例(127.0.0.1:27017-主要,127.0.0.1:27018-次要)和一个仲裁器(127.0.0.1:27019)。当我使用rs.steppdown(60)从主实例中退出时,它应该成为辅助实例,辅助实例应该成为主实例,所有写操作都应该在辅助实例中发生(退出后的主实例)。但在卸任后,我遇到了一个异常“无法将数据写入传输连接:远程主机强制关闭了

  • 对于复制,我们设置Server1作为主服务器,设置server2作为次服务器...一切正常。 期望:当server1停机时,次要的server2不会自动变成主要的。它仍然是次要的。server2也有可能自动成为主服务器。 情况2:MongoDB复制是否需要3台强制服务器,以便当server1宕机时,server2将自动成为主要服务器,server3将保持次要服务器。(这很管用)

  • 问题内容: 在简单情况下,如果3台服务器具有1个主服务器和2个从属服务器而没有分片。是否有使用Java和Jedis的经过验证的解决方案,该解决方案没有单点故障,并且将自动处理单个服务器(无论是主服务器还是从服务器)(自动故障转移)。例如,提升主机并在故障后重置,而不会丢失任何数据。 在我看来,这似乎应该是一个已解决的问题,但是我找不到关于它的任何代码,而仅是对实现此方法的高级描述。 谁实际覆盖并在

  • 我安装了墨盒,并将其缩放到3个档位。每个的设置为2。在我将从: 致: 现在,在重新启动墨盒后,它看起来一切正常,直到我杀死主人。奴隶们只是坐在那里数着他们上次看到的几秒钟...他们(其中一个)的日志上写着: