私はAWS上でSystemdサービスとしてSpringブートアプリケーションを実行しています。その結果、すべてのログメッセージはLinuxのログメッセージとともにsystem.logに送られ、ログは読みにくくなります。Spring Cloud Loggingに最適なアプローチは何ですか?
floodをsystem.logにしないで、アプリケーション/マイクロサービスごとに別々のログを保存するのに最適な方法は何ですか?それはLog4j 2ですか?代替案をお勧めしますか?
私はAWS上でSystemdサービスとしてSpringブートアプリケーションを実行しています。その結果、すべてのログメッセージはLinuxのログメッセージとともにsystem.logに送られ、ログは読みにくくなります。Spring Cloud Loggingに最適なアプローチは何ですか?
floodをsystem.logにしないで、アプリケーション/マイクロサービスごとに別々のログを保存するのに最適な方法は何ですか?それはLog4j 2ですか?代替案をお勧めしますか?
とspring-cloud-sleuth-zipkin、 これは、より安定性とログへの簡単なアクセスを提供します。
また、Zipkinでは、trace-idとspan-idを使用して、複数のマイクロサービスへのリクエスト伝播をトレースできます。
Logstashを使用すると、さまざまな形式(JSONまたは平文)でログを記録できます。
ログをgray-logとsentryに設定すると、spring-bootは両方をサポートします。あなたは簡単に整理アクセスしてlogs.Thisにアクセスすることができます。このように
も、私はELKロガーを示唆している
提案のおかげで、これは長期的には良いアプローチだと思うが、今のところ私はELKのみを使い、後にsleek/zipkinをリクエストトレースは最優先事項ではありません。おそらく、私のアプローチは誰かの時間を節約します:1. Spring Bootでコンソールからファイルへの切り替えを切り替えました。これにより、syslogフラッディングが防止されます。 2.同じサーバーにFilebeatをインストールし、ログを別のサーバーに送信するように構成しました。 3番目のサーバーでELKをインストールし、Filebeatからログを受信するようにLogstashを設定しました。これはかなり基本的なアプローチのようです。 –
SYSTEM.LOGとlinux.logの分離を提供します。あなたのすべてのlog.infoをマイクロサービスとしてkibanaに記録します。 – Jesse
ありがとう@Jesse、この時点で私はELKのスタック+ FileBeatのプラグインで終わった –