2017-11-23 1 views
1

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を設定します。

どうしたのですか?

答えて

1

これを行うには、logrotateを設定する必要があります。これはちょっと難しいことです。あなたが使用しているインスタンスに大きく依存するからです。しかし私は試してみましょう。この2つをコンフィグレーションに追加してください。files最初にlogrotateの設定を作成し、2番目の設定でcronがその設定でlogrotateを実行するように設定します。

files: 
    "/etc/logrotate.d/logrotate.elasticbeanstalk.php.conf": 
     mode: "000655" 
     owner: root 
     group: root 
     content: | 
      /var/app/current/log/*.log { 
       rotate 14 
       size 100M 
       daily 
       compress 
       delaycompress 
      } 
    "/etc/cron.daily/cron.logrotate.elasticbeanstalk.php.conf": 
     mode: "000655" 
     owner: root 
     group: root 
     content: | 
      #!/bin/sh 
      test -x /usr/sbin/logrotate || exit 0 
      /usr/sbin/logrotate /etc/logrotate.d/logrotate.elasticbeanstalk.php.conf 
      /sbin/service awslogs restart 

試してみてください。失敗した場合 - 使用しているAMI IDを入力してください

+0

2番目の部分は本当に必要ですか?ドキュメンテーションによると、 '/etc/logrotate.elasticbeanstalk.hourly/ ...でログローテート用のElastic Beanstalk設定ファイルを見つけることができます。設定ファイルは/ etc/cron.hourly /'のcronジョブによって呼び出されます。 cronを設定する必要はありませんか? (私は実際には毎時回転させることを望んでいます) –

+0

ああ、btw、私が話しているドキュメントはhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.htmlです –

+0

私はそれを今日後でチェックし、詳細な説明を提供します –

関連する問題