Amazon Elastic Beanstalkに存在するPHPアプリケーションがあります。アプリケーションにログのローテーションがあり、S3へのバックアップが有効になっています。 Apacheのアクセスログとエラーログは、1時間ごとに適切にローテーションされ、バックアップされます。Amazon Elastic Beanstalkでログのローテーション/ S3バックアップに独自のログを追加する方法は?
ただし、アプリケーションは独自のログファイルも作成します。私はそれを使って同じことをしたい - 毎時間それを回転させてS3にバックアップする必要がある。私は、次のファイル作成の手順here、以下:
.ebextensions /パブリッシュ-logs.configを
files:
"/opt/elasticbeanstalk/tasks/publishlogs.d/cloud-init.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/app/current/log/*.log
をそれから私はアマゾンへの新しいバージョンをアップロードしました。
結果 - ログファイルが最初のローテーションでS3 ONCEにバックアップされたことがわかります。そして、それはgzipされていない、ちょうどコピーされた。その後、何もない。 S3への新しいバックアップはありません。回転はありません。バンドルログをダウンロードすると、そのファイルがそこにあり、現在約80MBの栄光があります(数日間蓄積されています)。
Amazonのドキュメントは非常にまばらです。
ログのローテーションのためにアプリケーションのログファイルを設定する場合、アプリケーションはログファイルのコピーを作成する必要はありません。 Elastic Beanstalkは、各回転ごとにアプリケーションのログファイルのコピーを作成するようにlogrotateを設定します。
どうしたのですか?
2番目の部分は本当に必要ですか?ドキュメンテーションによると、 '/etc/logrotate.elasticbeanstalk.hourly/ ...でログローテート用のElastic Beanstalk設定ファイルを見つけることができます。設定ファイルは/ etc/cron.hourly /'のcronジョブによって呼び出されます。 cronを設定する必要はありませんか? (私は実際には毎時回転させることを望んでいます) –
ああ、btw、私が話しているドキュメントはhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.htmlです –
私はそれを今日後でチェックし、詳細な説明を提供します –