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)
Qloudstat を開始しようとしています。これにより、サービスとしてのS3アカウントの分析が可能になります。