gpt4 book ai didi

tcp - Logstash TCP 输入一旦出现就会检索所有过去的日志

转载 作者:可可西里 更新时间:2023-11-01 02:51:12 24 4
gpt4 key购买 nike

应用程序 Logback 配置 -

<appender name="stash"
class="net.logstash.logback.appender.LogstashAccessTcpSocketAppender">
<destination>localhost:5001</destination>

<!-- encoder is required -->
<encoder>
<pattern>%d{dd/MM/YY HH:mm:ss.SSS} - %-5level[%-5thread] - %logger{32} - %msg%n</pattern>
</encoder>
</appender>

Logstash 输入是 TCP 插件,输出是 ElasticSearch。最初 Logstash 服务器关闭,应用程序不断生成日志。在 Kibana 中查看时,没有添加新日志。一段时间后,logstash 启动。现在,当在 Kibana 中查看日志时,似乎所有在 logstash 关闭时生成的日志都已刷新到 ES 并可以查看。

我检查了ss | grep 5001 当 logstash 服务器关闭时,端口 5001 处于 CLOSED-WAIT 状态并且队列为空。

这可能是什么原因?

最佳答案

appender net.logstash.logback.appender.LogstashAccessTcpSocketAppender 扩展 [net.logstash.logback.appender.AbstractLogstashTcpSocketAppender]( https://github.com/logstash/logstash-logback-encoder/blob/ master/src/main/java/net/logstash/logback/appender/AbstractLogstashTcpSocketAppender.java),它有一个缓冲日志事件的内部环形缓冲区。需要缓冲才能实现非阻塞行为。否则,appender 会在将事件写入 TCP 套接字时阻止您的代码。

环形缓冲区默认保存 8192 字节。如果缓冲区在事件可以发送到套接字之前变满,appender 将开始丢弃事件。缓冲区大小和许多其他属性可以通过 appender 接口(interface)进行配置。

关于tcp - Logstash TCP 输入一旦出现就会检索所有过去的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36259739/

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