我不想给外部公司如s3stat访问我的日志。 我知道AWS以一种AWStats可读的格式loggingS3和Cloud Front。 有没有人用AWSats来分析它们?
S3stat曾经提供他们正在testing的软件的托pipe版本,但是我相信它已经停产了。
我不拘束于AWStats,我会考虑其他自己托pipe的networking日志分析软件选项。
我不使用与S3的AWStats,但会build议处理日志有3个问题:
您需要获取数据 – 它存储在S3上
借助Cloudfront,AWS可以select使用哪个存储桶 – 它不必是源(源)存储桶。 您可以轻松地为您的日志设置特定的存储桶,并可以通过s3fs挂载 – 这应该提供对文件的最简单访问 – 保留时间戳等等,这些是日志的增量处理经常需要的。 或者,如果您不希望将存储区装入本地文件系统,则可以使用s3cmd , aws或其中一个SDK来下载文件。 (有一个Python脚本(使用博托)为此目的 – 在这里 – 虽然,我不能保证其有效性。
您需要解压缩并合并日志
Cloudfront日志被压缩(gzip),并存储为多个文件 – 文件名包含date和小时(例如XXXXXXXXXXXXX.YYYY-MM-DD-HH.XXXXXXXXX ),但每小时可以有多个文件。 这些文件可以用gunzip解压缩,并与(AWStats提供的工具) logresolvemerge.pl结合使用。
您需要为AWStats提供自定义日志格式
该文件格式是制表符分隔,类似于:
date时间x-edge-location sc-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/file用户-agent-string -
因此,您将设置 AWStats:
日志types= W LogSeparator = “\ t” 的 LogFormat =“%time2%cluster%bytesd%host%method%virtualname%url%code%referer%ua%query”