Контекст
- Микросервисы в облаке
- Компоненты разрабатываются с помощью Spring Boot, logback. xml
- Нам нужна агрегация журналов
В настоящее время я могу сделать это через TCP, но я думаю, что это недостаточно масштабируемо в облаке AWS, могу ли я отправлять журналы, используя некоторую очередь ?
микросервис > logback appender. xml> Queue> Logsta sh> Elasticsearch
Appender
<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>
logsta sh .conf
input { tcp { port => 5000 codec => "json" } }
output { elasticsearch { hosts => ["localhost:9200"]} }