訪問對象存儲OSS的過程中會產生大量的訪問日志,您可以通過日志轉存功能將這些日志按照固定命名規則,以小時為單位生成日志文件寫入您指定的Bucket。您可以通過logging命令開啟、查詢、關閉Bucket的日志轉存配置。
注意事項
要開啟日志轉存并將日志存儲到相同Bucket,您必須具有
oss:PutBucketLogging
權限;要開啟日志轉存并將日志存儲到不同Bucket,您必須具有oss:PutBucketLogging
和oss:PutObject
權限;要查看日志轉存配置,您必須具有oss:GetBucketLogging
權限;要關閉日志轉存,您必須具有oss:DeleteBucketLogging
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
關于日志轉存的更多信息,請參見日志轉存。
當您在OSS ON云盒中使用該命令時:
將配置文件中的Endpoint替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
在本文已有示例的基礎上添加--sign-version、--region以及--cloudbox-id選項。關于這三個選項的具體用法,請參見通用選項。
開啟日志轉存
如果Bucket此前未開啟過日志轉存,則使用該命令將為Bucket開啟日志轉存。如果Bucket此前已開啟日志轉存,則使用該命令將直接覆蓋已有的日志轉存配置。
開啟或修改日志轉存配置的命令格式及示例如下:
命令格式
ossutil logging --method put oss://bucketname oss://targetbucket/[prefix]
參數及選項說明如下:
配置項
說明
bucketname
生成日志的源Bucket名稱。
targetbucket
存儲日志文件的目標Bucket名稱。
prefix
日志文件存儲的目錄。如果指定此項,則日志文件將保存在目標Bucket的指定目錄下。如果不指定此項,則日志文件將保存在目標Bucket的根目錄下。
重要生成日志的源Bucket和存儲日志的目標Bucket可以相同也可以不同,但是必須位于同一賬號下的相同地域。
使用示例
將源存儲空間srcbucket產生的日志文件保存至目標存儲空間destbucket的根目錄下。
ossutil logging --method put oss://srcbucket oss://destbucket
將源存儲空間srcbucket產生的日志文件保存至目標存儲空間destbucket的根目錄下的子目錄destdir。
ossutil logging --method put oss://srcbucket oss://destbucket/destdir
以下輸出結果表明已為srcbucket開啟日志轉存。
0.098601(s) elapsed
查看日志轉存配置
命令格式
ossutil logging --method get oss://bucketname [local_xml_file]
參數說明如下:
參數
說明
bucketname
待獲取日志轉存配置的Bucket名稱。
local_xml_file
存放日志轉存配置的本地文件名稱,例如
localfile.txt
。如果未指定此參數,則日志轉存配置將直接輸出到屏幕。使用示例
獲取存儲空間examplebucket的日志轉存配置,并將配置結果寫入本地文件
localfile.txt
。ossutil logging --method get oss://examplebucket localfile.txt
以下輸出結果表明已成功獲取日志轉存配置。
0.212407(s) elapsed
獲取存儲空間examplebucket的日志轉存配置,并將配置結果直接輸出屏幕。
ossutil logging --method get oss://examplebucket
以下輸出結果表明examplebucket的日志文件已轉存至destbucket的根目錄下。
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>destbucket</TargetBucket> <TargetPrefix></TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> 0.109979(s) elapsed
關閉日志轉存
在您關閉日志轉存功能前,OSS的日志文件會一直生成。請結合生命周期規則及時清理不再需要的日志文件,以減少您的存儲費用。詳情請參見基于最后一次修改時間的生命周期規則。
命令格式
ossutil logging --method delete oss://bucketname
bucketname表示待關閉日志轉存功能的Bucket名稱。
使用示例
關閉存儲空間examplebucket的日志轉存功能。
ossutil logging --method delete oss://examplebucket
以下輸出結果表明examplebucket已關閉日志轉存功能。
0.212409(s) elapsed
通用選項
當您需要通過命令行工具ossutil切換至另一個地域的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令行工具ossutil切換至另一個阿里云賬號下的Bucket時,可以通過-i選項指定該賬號的AccessKey ID,并通過-k選項指定該賬號的AccessKey Secret。
例如您需要將另一個阿里云賬號下,華東1(杭州)地域下源存儲空間testbucket產生的日志轉存至目標存儲空間destbucket,命令如下:
ossutil logging --method put oss://testbucket oss://destbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關于此命令的其他通用選項的更多信息,請參見通用選項。