CloudFront:CloudWatch上的缓存统计和指标之间存在差异

0

【以下的问题经过翻译处理】 我们有一堆CloudFront分配,需要以编程方式访问它们每个分配的传输的总字节数(输出)。

按照文档(通过API访问CloudFront的指标)(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/programming-cloudwatch-metrics.html),我们可以成功获取所需的BytesDownloaded指标数据点。

但是,我们注意到这个指标与可见的指标在CloudFront控制台(报告和分析>缓存统计数据>传输到查看器的字节数)之间存在一个较小但明显的差异。具体地,在比较通过CloudWatch获取的BytesDownloaded指标和TotalBytes(来自CloudFront热门对象报告)时,后者平均比BytesDownloaded大5-6%(比较最近同一时期的每小时总和值)。

为什么存在这种差异?我们如何通过API访问TotalBytes数据点?

profile picture
专家
已提问 5 个月前24 查看次数
1 回答
0

【以下的回答经过翻译处理】 首先,TotalBytes是“CloudFront 响应所有 HTTP 方法中对该对象的所有请求而向查看者提供的字节总数。[1]”,而 BytesDownloaded 是 "查看者对 GET、HEAD 和 OPTIONS 请求下载的字节总数。 [2]”,因此存在差异。

其次,目前仅通过控制台(而不是API)提供受欢迎的对象报告。一种解决方法是启用和利用CloudFront访问日志[3]来获取分发的信息。通过使用CloudFront访问日志,您可以编程地和定期地分析访问日志来检索与CloudFront受欢迎对象报告类似的信息。与受欢迎的对象报告不同,访问日志不限于50个记录,每个请求到CloudFront分发都被记录下来。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则