全部產品
Search
文件中心

Object Storage Service:logging(日誌轉存)

更新時間:Jul 31, 2024

訪問Object Storage Service的過程中會產生大量的訪問日誌,您可以通過日誌轉存功能將這些日誌按照固定命名規則,以小時為單位組建記錄檔檔案寫入您指定的Bucket。您可以通過logging命令開啟、查詢、關閉Bucket的日誌轉存配置。

注意事項

  • 要開啟日誌轉存並將日誌儲存到相同Bucket,您必須具有oss:PutBucketLogging許可權;要開啟日誌轉存並將日誌儲存到不同Bucket,您必須具有oss:PutBucketLoggingoss:PutObject許可權;要查看日誌轉存配置,您必須具有oss:GetBucketLogging許可權;要關閉日誌轉存,您必須具有oss:DeleteBucketLogging許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

  • 從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考

  • 關於日誌轉存的更多資訊,請參見日誌轉存

開啟日誌轉存

如果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****

關於此命令的其他通用選項的更多資訊,請參見通用選項