通过使用日志服务SLS的实时日志查询,您可以分析OSS的访问、删除和计量日志,以监控和优化OSS的使用,定位和分析问题,提升存储和访问效率。本文介绍实时日志查询的常见示例。
分析某个OSS目录下文件的外网流出流量
OSS用量查询无法精确到某个目录。您可以通过OSS访问日志中的host
字段过滤外网访问域名,sync_request
字段排除CDN回源请求,object
字段前缀匹配目录文件,最后通过content_length_out
字段计算总和,获得指定目录下文件的外网流出流量。
查询和分析语句
统计examplebucket
的bucket中exampledir
目录下所有文件的外网流出流量。
*
and __topic__ : oss_access_log
and bucket: examplebucket
and host : "examplebucket.oss-cn-hangzhou.aliyuncs.com"
and sync_request != 'cdn'
and url_decode(object) LIKE 'exampledir/%'
| select
SUM(content_length_out) AS total_traffic_out_byte
查询和分析结果
由于请求的host
字段可能被伪造,因此以下查询结果仅供预估。关于OSS外网流出流量的实际费用请以账单为准。
名为examplebucket
的bucket中exampledir
目录下所有文件的外网流出流量总计为11749字节。
分析某个OSS目录下文件的大小增减情况
OSS用量查询可以查看Bucket下所有文件的大小增减,但无法精确到某个目录。若需分析某个OSS目录下文件的大小增减情况,您可以通过匹配OSS访问日志中的object字段前缀统计目录下的文件,并计算delta_data_size
字段的总和,从而获得指定目录下所有文件大小的增减情况。
查询和分析语句
统计examplebucket
中exampledir
目录下文件的大小增减情况。
*
and __topic__ : oss_access_log
and bucket: examplebucket
and url_decode(object) LIKE 'exampledir/%'
| select
SUM(delta_data_size) AS total_delta_data_size
查询和分析结果
名为examplebucket
的bucket中exampledir
目录下文件的大小增加了941字节。
分析未通过CDN加速的OSS外网请求
在开启CDN加速服务后,如果依然能观察到显著的OSS外网请求,则说明您的业务中引用的资源URL仍指向OSS源站,而非CDN加速域名。为了识别未通过CDN加速的外网请求,您可以通过OSS访问日志中的host
字段过滤出OSS外网访问域名,通过sync_request
字段排除CDN回源请求。您还可以结合使用referer
字段确定这些请求的来源网页或应用程序。
查询和分析语句
分析名为examplebucket
的bucket未通过CDN加速的OSS外网请求。
*
and __topic__: oss_access_log
and bucket: examplebucket
and host : "examplebucket.oss-cn-hangzhou.aliyuncs.com"
not sync_request != 'cdn'
| select
referer,
host,
count(*) as request_count
group by
referer,
host
order by request_count desc
查询和分析结果
由于请求的host
字段可能被伪造,因此以下查询结果仅供预估。关于OSS外网流出流量的实际费用请以账单为准。
分析名为examplebucket
的bucket未通过CDN加速的OSS外网请求的结果显示,引起流量最多的前三个来源分别是:Referer字段为空的请求(可能是由于用户直接在浏览器地址栏输入URL),以及来自以.com
和.vip
域名结尾的网站的请求。