it-swarm-id.com

Bagaimana saya bisa mengurai file log Amazon S3?

Apa opsi terbaik untuk mem-parsing file log Amazon S3 (Penyimpanan Sederhana)? Saya telah mengaktifkan pencatatan dan sekarang saya memiliki file log yang terlihat seperti ini:

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" -

Apa pilihan terbaik untuk mengotomatisasi file log? Saya tidak menggunakan layanan Amazon lain selain S3.

2
artlung

Amazon merekomendasikan untuk menggunakan AWStats dan menyertakan instruksi tentang cara mengatur file konfigurasi AWStats . Anda juga perlu mengatur beberapa metode untuk secara otomatis mengunduh log ke tempat instalasi AWStats Anda.

Secara pribadi saya menggunakan cron untuk memulai skrip Python yang menggunakan boto untuk mengambil file.

"""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)
2
Chealion

Kami akan meluncurkan Qloudstat yang akan memberi Anda analitik untuk akun S3 Anda sebagai layanan.

1
David Kocher