AWS Elasticbeanstalk で docker を使用して Java アプリケーションのデプロイを開始します。集中ログが必要で、ELK スタックを使用します。
コンテナーごとに 1 つのプロセスを維持したいので、filebeat の使用は避けたいのですが、そのためには、syslog や tcp アペンダーなどの別のアペンダーを使用する必要があります。
ログを失うわけにはいきません。
Filebeat はすぐに使用できる再試行ロジックを提供しますが、これをミックスに導入すると、デプロイの複雑さが増し、コンテナーが終了したときに filebeat が SIGTERM を受け取ることを確認する必要があり、コンテナー イメージまたは Dockerfile に事前に焼き付けられていることを確認する必要があります。 .
tcp または syslog アペンダーを使用してパスを下る場合、再試行は私たち次第であり、コードの複雑さも避けたいと考えています。
私が指摘したことに加えて、各アプローチの長所と短所は何ですか?
ロギング ライブラリは logback です。