【发布时间】:2020-05-05 17:15:33
【问题描述】:
上下文
- 云端微服务
- 使用 Spring Boot 开发组件,logback.xml
- 我们需要日志聚合
目前我可以通过 TCP 完成,但我认为这在 AWS 云中的可扩展性不够,我可以使用一些队列发送日志?
微服务 > appender logback.xml > 队列 > Logstash > Elasticsearch
附加器
<appender name="STASH"
class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:5000</destination>
<encoder
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<mdc/>
<context/>
<logLevel/>
<loggerName/>
<pattern>
<pattern>
{
"serviceName": "clients-component",
"type": "business-capability"
}
</pattern>
</pattern>
<threadName/>
<message/>
<logstashMarkers/>
<stackTrace/>
</providers>
</encoder>
</appender>
logstash.conf
input { tcp { port => 5000 codec => "json" } }
output { elasticsearch { hosts => ["localhost:9200"]} }
【问题讨论】:
标签: logstash elastic-stack elk spring-logback distributed-tracing