2011-06-01 18 views
15

Amazon S3にログファイルを保存するロギングフレームワークを構築した人がいますか?Amazon S3へのログ

私たちはSaaSアプリケーションを構築しています。当然、私たちは膨大なサーバと顧客を確保する予定です。私は全体のログ構造を簡素化したいと思います。現時点では、実際のロギングの実装として、ロギングにはSLF4jを、ロギングにはLogbackを使用します。

私は、ログメッセージをメモリに蓄積し、圧縮してS3にアップロードする別の実装を採用することができると考えています。 S3接続がダウンまたは遅い場合、実装はディスク上のファイルをキューに入れます。 Facebookのスクライブのようなもの。

私の推測では、これを書いてテストするには4〜5日かかります。そこに別の実装がある場合、私はそれについて知りたいです。

答えて

7

s3にファイルを格納するfluentd用のプラグインがあります。 (Fluentdが素敵な「ログファイルの収集」である)

ここでそれについて詳しく読む:S3の接続がダウンしている http://docs.fluentd.org/articles/apache-to-s3

場合、またはあなたのための出力 をバッファリングしますfluentd file bufferを遅らせます。

+0

すばらしい答え。私はこれについて知らなかった。 – ccleve

0

私は同じ質問についてgoogleを検索していました。しかし、明らかに私は若干良くなっています。 私はS3にログインする方法を知っています。すぐに使用できるソリューションはありません。

私はあなたのsyslogをマウントするには、S3のためのヒューズのようなものをお勧め:https://github.com/s3fs-fuse/s3fs-fuse

は今、あなたが必要とするすべては、そのことができます既製のシステムのいずれかとすることができるあなたのログパーサシステムでも、それをマウントすることですディレクトリからログオフします。

これは私が思いついたものです。

私がまだ実装する前に探しているのは、AWSには独自の問題があるため、S3へのログ記録のパフォーマンス上の問題です。パフォーマンスを向上させ、読み書きコストを下げるためにブロック/ファイルサイズを設定することについての議論がありました。 別の失われた魂に役立つことを願っています。

+1

また、graylog2を見てください。syslogはすでにディスクに入れられています。 Graylog2の最新バージョンはmongoDBを大量に使用していません。それを使って起動し、GraylogサーバからS3に圧縮してアップロードする簡単な作業を書くことは有益でしょう。 – Vangel