语境
- 云中的微服务
- 组件使用 Spring Boot 开发,logback.xml
- 我们需要日志聚合
目前我可以通过 TCP 做到这一点,但我认为这在 AWS 云中的可扩展性不够,我可以使用一些 Queue 发送日志吗?
微服务 > 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"]} }