Можно ли использовать приложение logback для отправки журналов в kafka / rabbit-mq, ​​а затем в Logsta sh (стек Elasti c)? - PullRequest
0 голосов
/ 05 мая 2020

Контекст

  • Микросервисы в облаке
  • Компоненты разрабатываются с помощью 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"]} }

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете настроить Logsta sh для использования из очередей сообщений без каких-либо проблем.

В настоящее время Logsta sh имеет входы для некоторых очередей сообщений, таких как Kafka , RabbitMQ и Redis .

Поскольку вы используете AWS, logsta sh также имеет ввод для AWS SQS .

Вы можете проверить все входные данные logsta sh в официальной документации

...