7

AWS EC2を使用し、標準的なLAMPスタック(ubuntu)で自動スケーリングを使用してウェブサイトを構築しました。AWS自動スケーリングを使用する場合、EC2でApacheログを保持するには

スケーリングなどはうまくいきますが、インスタンスが「一時的」なので、Apacheスパムログは負荷スパイクの後も保持されません(ボリュームまたはインスタンスが保持されないため)。

これらのインスタンスのApacheログを保持する "ベストプラクティス/最も信頼性の高い"方法はありますか?

シャットダウン時に、/etc/rc0.d機能(シャットダウン時にスクリプトを実行する)を使用して実行するbashスクリプトを作成して、ログファイルをS3にコピーすることを考えました。

+0

ここで何をしたのですか?私は同じアプローチを検討していますが、シャットダウン中にs3に進む時間がないことを知っています。 – digidigo

+0

私は提案したアプローチを行った。これは信頼できないかもしれませんが、下のリンクを参照してください(これまでのところうまくいきますが)。提供されているrdreyの方が良いかもしれません。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html QUOTE: "インスタンスの終了時にスクリプトを実行すると、インスタンスが異常終了している可能性があります。 Amazon EC2はインスタンスを完全にシャットダウンしてシステムシャットダウンスクリプトを実行しようとしますが、ハードウェア障害などの特定のイベントによってこれらのシステムシャットダウンスクリプトが実行されない可能性があります。 – BoomShaka

+0

別の潜在的な良い読書:https://forums.aws.amazon.com/message.jspa?messageID=183672# – BoomShaka

答えて

8

「ベストプラクティス」は、すべてのログをサーバー上に集約し、それらをアーカイブおよび検索できるようにすることです。あなたはS3と最終的に氷河の古いログをバックアップすることができます。

この作業をすべて行うには、apacheを設定して毎時または最小限のログを記録し、cronジョブを作成して中央の場所にrsyncするか、S3にアップロードする必要があります。

オープンソース集約&独自のインスタンスで実行できる検索ソリューションはhttp://logstash.net/、無料で完全にホストされていないソリューションはhttp://loggly.com/をご覧ください。

EDIT:私の最初の考えは「シャットダウン時にはしない」ということでした。できるだけ定期的にログファイルを同期させ、結果として(例えば細かくログするなど)、「ほぼリアルタイム」のログ集約/バックアップと検索が可能になります。

関連する問題