通過使用Log ServiceSLS提供的即時日誌查詢能力,您可以分析Object Storage Service的訪問日誌、大量刪除日誌、每小時計量日誌,從而及時監控並最佳化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
網域名稱結尾的網站的請求。