能否在CloudFront Analytics中查看特定对象的顶级引荐来源?
CloudFront特定对象顶级引荐来源查询方案
CloudFront原生的**Reports&Analytics(报表与分析)**功能无法直接筛选特定对象(如/script1.js)来查看其专属的顶级引荐来源——默认的顶级引荐统计是合并了当前分发下所有对象的请求数据的。
要实现特定对象的引荐来源统计,可以通过以下两种常用方案:
方案一:使用CloudWatch Insights分析日志
- 确保你的CloudFront分发已开启访问日志,并将日志投递到S3存储桶(这是日志分析的前提)。
- 进入AWS CloudWatch控制台,打开CloudWatch Insights,选择对应CloudFront分发的日志组。
- 执行以下查询语句,筛选目标对象并统计其前25个顶级引荐来源:
fields @timestamp, cs_referer, cs_uri_stem | filter cs_uri_stem = "/script1.js" | stats count(*) as 请求数 by cs_referer | sort 请求数 desc | limit 25
- 字段说明:
cs_uri_stem对应请求的对象路径,cs_referer对应引荐来源地址。
方案二:使用Athena查询S3日志
适合日志量较大、需要更复杂分析的场景:
- 在AWS Athena控制台中,先创建对应CloudFront日志的数据库和表(可直接使用AWS提供的CloudFront日志表模板完成配置)。
- 执行SQL查询语句,获取特定对象的顶级引荐来源:
SELECT cs_referer, COUNT(*) AS 请求数 FROM cloudfront_logs WHERE cs_uri_stem = '/script1.js' GROUP BY cs_referer ORDER BY 请求数 DESC LIMIT 25;
- 若需要可视化报表,可将Athena的查询结果导入Amazon QuickSight进行展示。
内容的提问来源于stack exchange,提问作者strix25
相关产品推荐
相关产品推荐

