2017-05-15 4 views
0

私はAWS上でSystemdサービスとしてSpringブートアプリケーションを実行しています。その結果、すべてのログメッセージはLinuxのログメッセージとともにsystem.logに送られ、ログは読みにくくなります。Spring Cloud Loggingに最適なアプローチは何ですか?

floodをsystem.logにしないで、アプリケーション/マイクロサービスごとに別々のログを保存するのに最適な方法は何ですか?それはLog4j 2ですか?代替案をお勧めしますか?

+0

SYSTEM.LOGとlinux.logの分離を提供します。あなたのすべてのlog.infoをマイクロサービスとしてkibanaに記録します。 – Jesse

+0

ありがとう@Jesse、この時点で私はELKのスタック+ FileBeatのプラグインで終わった –

答えて

3

spring-cloud-sleuth-zipkin、 これは、より安定性とログへの簡単なアクセスを提供します。

また、Zipkinでは、trace-idとspan-idを使用して、複数のマイクロサービスへのリクエスト伝播をトレースできます。

Logstashを使用すると、さまざまな形式(JSONまたは平文)でログを記録できます。

ログをgray-logsentryに設定すると、spring-bootは両方をサポートします。あなたは簡単に整理アクセスしてlogs.Thisにアクセスすることができます。このように

も、私はELKロガーを示唆している

+0

提案のおかげで、これは長期的には良いアプローチだと思うが、今のところ私はELKのみを使い、後にsleek/zipkinをリクエストトレースは最優先事項ではありません。おそらく、私のアプローチは誰かの時間を節約します:1. Spring Bootでコンソールからファイルへの切り替えを切り替えました。これにより、syslogフラッディングが防止されます。 2.同じサーバーにFilebeatをインストールし、ログを別のサーバーに送信するように構成しました。 3番目のサーバーでELKをインストールし、Filebeatからログを受信するようにLogstashを設定しました。これはかなり基本的なアプローチのようです。 –

関連する問題