2011-02-07 86 views
14

我们正在转向s3,开始为我们的网络应用程序提供一些静态生成的内容。我们一直在研究构建关于网站使用情况的指标体系的机制,并且我们计划通过传递附加信息来记录内容GET请求来解析S3的访问日志。我们碰巧遇到下列entry in the developers guide亚马逊S3访问日志文件有多可靠?

尽力而为服务器的日志递送

服务器访问日志记录功能 专为最大的努力。您可以 期望针对 桶大多数请求是正确配置了 日志记录将导致交付日志 记录,并且大多数日志记录将 的,他们记录的 时间在几个小时内交付。

但是,服务器日志记录功能是尽力而为地提供的 。不保证服务器 日志的完整性和及时性。特定请求的日志 记录可能在实际处理请求 很长时间后才会传送,或者可能根本不会传送 。服务器日志的目的 旨在为存储桶 拥有者提供针对他或她的存储桶的流量性质 的概念。它不是 意味着所有请求的完整会计 。

我们想知道其他人在交付访问日志方面有什么经验吗?我们的选择是构建一个HTTP服务器,并尝试用不同的调用来度量度量标准,但我们认为解析日志文件可能会减少工作量。我们想知道是否有人看到没有发生交付的情况,试图衡量我们希望的准确程度,因为我们收集的一些指标用于我们的一些业务流程。

+2

公平的问题,我认为“尽最大的努力”源于他们的“任何服务器可能崩溃”的方法。当服务器正常挂起/关闭时,它们可能会复制日志,但它们不会保持日志溢价(备份,有保证)的存储空间 - 因此它们无法保证所有情况下的日志复制。如果你想要更可靠的日志记录,你可以设置自己的机制将日志移动到[S3](http://aws.amazon.com/s3/),[EBS](http://aws.amazon。 com/ebs /),[SimpleDB](http://aws.amazon.com/simpledb/)。 – Rudu 2011-02-07 16:39:10

+0

也请看https://www.s3stat.com/。 – jarmod 2015-06-30 19:00:19

回答

4

我很惊讶我S3上的日志文件在一个月内有多大。我的应用没有必要在亚马逊上解析日志,但我喜欢你的方法。从我所看到的,你可以预期日志文件是准确和完整的。根据他们的CYA警告,日志不应该用于任何关键的事情。

1

我知道这是不是一个回答你的问题,但是...

除非你的静态文件需要某种形式的授权(用于下载签署网址等),我看不出有什么好的用情况使用S3来提供静态内容。

这不是一个CDN,并不意味着作为一个使用。 ;-)

至少,我建议使用cloudfront,但恕我直言,它太昂贵(和其他人相比,表现不佳)。我建议这样的人edgecastcachefly,因为他们对你的钱提供更多的。\

他们还为您提供(或多或少)广泛staticstics和很多不错的功能,如简单的清洗和缓存​​失效。

2

我们一直在使用S3来记录相对大量的数据(大约100M行)。我们需要依靠S3访问日志为特定目的,我们正在观察要意识到可能是访问日志的潜在用户重要的几个问题:

  • 我们看到(少数)的日志条目显示出来很多天他们都应该被创建
  • 后,我们会看到重复的条目记录单S3交易(目前正在调查)
  • 也有似乎是在那里实际上没有创建一个日志条目的情况下(目前正在调查)

我的建议是避免依赖S3访问日志,如果数据的准确性和完整性至关重要。