通过使用日志服务SLS提供的实时日志查询能力,您可以分析对象存储OSS的访问日志、批量删除日志、每小时计量日志,从而及时监控并优化OSS的使用情况、定位和分析潜在的问题,提升数据存储和访问的效率。本文介绍实时日志查询的常见示例。
分析某个OSS目录下文件的外网流出流量
由于请求的host
字段可能被伪造,因此以下查询结果仅供预估,并不能作为计费依据。关于OSS外网流出流量的费用,请以实际账单为准。
使用OSS的用量查询可以直接查看某个OSS的Bucket下所有文件的外网流出流量,但无法精确到某个OSS目录。如果您需要分析某个OSS目录下文件的外网流出流量,您可以通过OSS访问日志中的host
字段过滤出OSS外网访问域名,通过sync_request
字段排除CDN回源请求,通过object
字段前缀匹配某个OSS目录下的文件,然后通过content_length_out
字段计算总和,从而获得指定目录下所有文件传输到外网的数据量总和。
查询和分析语句
统计名为examplebucket
的bucket中exampledir
目录下所有文件的外网流出流量。
* and __topic__ : oss_access_log and bucket: examplebucket and host : "examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request : cdn | select
SUM(content_length_out) AS total_traffic_out_byte
WHERE
url_decode(object) LIKE 'exampledir/%'
查询和分析结果
名为examplebucket
的bucket中exampledir
目录下所有文件的外网流出流量总计为11749字节。
分析某个OSS目录下文件的大小增减情况
使用OSS的用量查询可以直接查看某个OSS的Bucket下所有文件的大小增减情况,但无法精确到某个OSS目录。如果您需要分析某个OSS目录下文件的大小增减情况,您可以通过匹配OSS访问日志中的object字段的前缀统计某个OSS目录下的文件,然后通过计算delta_data_size
字段的总和,从而获得指定目录下所有文件大小的增减情况。
查询和分析语句
统计名为examplebucket
的bucket中exampledir
目录下文件的大小增减情况。
* and __topic__ : oss_access_log and bucket: examplebucket | select
SUM(delta_data_size) AS total_delta_data_size
WHERE
url_decode(object) LIKE 'exampledir/%'
查询和分析结果
名为examplebucket
的bucket中exampledir
目录下文件的大小增加了941字节。
分析未通过CDN加速的OSS外网请求
由于请求的host
字段可能被伪造,因此以下查询结果仅供预估,并不能作为计费依据。关于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
查询和分析结果
分析名为examplebucket
的bucket未通过CDN加速的OSS外网请求的结果显示,引起流量最多的前三个来源分别是:Referer字段为空的请求(可能是由于用户直接在浏览器地址栏输入URL),以及来自以.com
和.vip
域名结尾的网站的请求。