質問: amazon s3ログファイルを解析するにはどうすればよいですか? amazon s3(シンプルストレージ)ログファイルを解析するための最適なオプションは何ですか?ロギングをオンにしたところ、次のようなログファイルが作成されました。858e709ba90996df37d6f5152650086acb6db14a67d9aaae7a0f3620fdefb88f files.example.com [08/jul/2010:10:31:42 +0000] 68.114.21.105 65a011a29cdf8ec533ec3d1ccaae921c 13880fbc9839395c rest.get.object example.com/blog/wp-content/uploads/2006/10/kitties_we_cant_stop_here_this_is_bat_country.jpg "get /example.com/blog/wp-content/uploads/2006/10/kitties_we_cant_stop_here_this_is_bat_country.jpg http/1.1" 200 - 32957 32957 12 10 "http://atlanta.craigslist.org/forums/?act=q&id=163218891" "mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.9.0.19) gecko/2010031422 firefox/3.0.19" - ログファイルを自動化するための最適なオプションは何ですか? s3以外のamazonサービスは使用していません。
回答: amazonは、awstatsの使用を推奨しており、 awstats構成ファイルのセットアップ方法に関する指示 が含まれています。また、awstatsがインストールされている場所へのログのダウンロードを自動化する方法を設定する必要があります。個人的には、cronを使用して boto を使用してファイルを取得するpythonスクリプトを開始します。"""s3logdl.py downloads s3 logs and deletes old logs usage: python s3logdl.py""" import sys import os from boto.s3 import connection import boto.s3 ######################## ######################## def main(argv): s3 = connection('access_id', 'password') logsbucket = s3.get_bucket('logbucket') for b in logsbucket: #download log print b.name key = logsbucket.get_key(b.name) fp = open("/path/to/save/point/" + b.name, "w") key.get_file(fp) #delete log key.delete() exit(0) ######################## if __== '__main__': main(sys.argv)