web-dev-qa-db-ja.com

AWStats(または同様のソフトウェア)でAWS CloudFront / S3ログを処理するための設定を持っている人はいますか?

S3statのような外部の会社にログへのアクセスを許可したくありません。 AWSがS3とCloudFrontをAWStatsで読み取り可能な形式でログに記録することを知っています。 AWSatsを使用して分析した人はいますか?

S3statは、ベータ版であったソフトウェアのホストバージョンを提供していましたが、廃止されたと思います。

私はAWStatsに縛られていません。他のセルフホストのウェブログ分析ソフトウェアオプションを検討します。

1
ckliborn

S3でAWStatsを使用していませんが、ログの処理に3つの問題があることを示唆しています。

  1. データを取得する必要があります-それはS3に保存されています

    Cloudfrontを使用すると、AWSは、使用するバケットのオプションを提供します。ソース(オリジン)バケットである必要はありません。ログ用に特定のバケットを簡単に設定でき、これを s3fs -を介してマウントできます。これにより、ファイルへの最も簡単なアクセスが提供されます。ログの増分処理に必要なタイムスタンプなどが保持されます。または、バケットをローカルファイルシステムとしてマウントしたくない場合は、 s3cmdaws 、またはSDKのいずれかを使用してファイルをダウンロードできます。 (この目的のためにpythonスクリプト(botoを使用)-- ここ -がありますが、その有効性を保証することはできません。)

  2. ログを解凍して結合する必要があります

    Cloudfrontログは圧縮(gzip圧縮)され、複数のファイルとして保存されます。ファイル名には日付と時刻が含まれます(例:XXXXXXXXXXXXX.YYYY-MM-DD-HH.XXXXXXXXX)。ただし、1時間に複数のファイルが存在する場合があります。ファイルはgunzipで解凍し、(AWStatsが提供するツール)logresolvemerge.plと組み合わせることができます。

  3. AWStatsにカスタムログ形式を提供する必要があります

    ファイル形式はタブで区切られ、次のようになります。

    日時x-Edge-locationsc-bytes c-ip cs-method cs(Host)cs-uri-stem sc-status cs(Referer)cs(User-Agent)cs-uri-query 
     2011- 06-27 08:31:10 JFK1 587 xxx.xxx.xxx.xxx GET xxxxxxxxxxxxxx.cloudfront.net/path/to/your/file 304 http://www.mydomain.com/page/requesting/fileUser-agent -ストリング - 

    したがって、 setup AWStatsは次のようになります:

     LogType = W 
     LogSeparator = "\ t" 
     LogFormat = "%time2%cluster%bytesd%Host%method%virtualname%url%code%referer%ua%query"
1
cyberx86