通過使用日志服務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
域名結尾的網站的請求。