gpt4 book ai didi

java - 与 Logstash 一起使用时在 log4j 上被阻止

转载 作者:行者123 更新时间:2023-12-01 09:14:16 24 4
gpt4 key购买 nike

我的java程序有这样的技术栈:
Tomcat+log4j+logstash+ElasticSearch
log4j使用SocketAppender将日志发送到logstash,然后logstash将输出写入elasticsearch。
问题是运行几个小时后,java应用程序将被阻塞。多个线程在写入 log4j 时被阻塞。当我关闭logstash和elasticsearch时,应用程序将恢复。
我认为这应该与elasticsearch性能有关,但我不知道如何解决。

最佳答案

问题出在 Logstash 中 - 当 elasticsearch 无法接收数据时,它会阻止输入插件(log4j 输入)。

可能的解决方法 - 启用 Persistent Queues 。但这并不理想,迟早您的应用程序会再次意外被阻止。因此,切勿直接将日志从 log4j v1 发送到logstash。

我没有找到log4j v1的任何解决方案,我不得不在log4j和logstasth TCP输入之间编写小型非阻塞代理。

关于java - 与 Logstash 一起使用时在 log4j 上被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40691984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com