すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ロギング、ロギング

最終更新日:Apr 03, 2025

Object Storage Service (OSS) にアクセスすると、大量のログが生成されます。バケットのロギングを設定すると、OSS は事前定義された命名規則に基づいて 1 時間ごとにログオブジェクトを生成し、アクセスログを特定のバケットにオブジェクトとして保存します。 logging コマンドを実行して、バケットのロギングを有効または無効にし、バケットのロギング設定をクエリできます。

使用上の注意

  • バケットのロギングを有効にしてアクセスログをバケットに保存するには、oss:PutBucketLogging 権限が必要です。バケットのロギングを有効にしてアクセスログを別のバケットに保存するには、oss:PutBucketLogging および oss:PutObject 権限が必要です。バケットのロギング設定をクエリするには、oss:GetBucketLogging 権限が必要です。バケットのロギングを無効にするには、oss:DeleteBucketLogging 権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

  • ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。

  • ロギングの詳細については、「ロギング」をご参照ください。

ロギングの有効化

バケットのロギングが有効になっていない場合、次のコマンドを実行すると、バケットのロギングが有効になります。バケットのロギングが有効になっている場合、次のコマンドを実行すると、バケットの既存のロギング設定が上書きされます。

次のコマンドを使用して、バケットのロギングを有効にするか、ロギング設定を変更します。

  • コマンド構文

    ossutil logging --method put oss://bucketname   oss://targetbucket/[prefix]

    次の表に、コマンド構文のパラメーターとオプションを示します。

    パラメーター/オプション

    説明

    bucketname

    ログオブジェクトが生成されるソースバケットの名前。

    targetbucket

    ログオブジェクトが保存されるデスティネーションバケットの名前。

    prefix

    ログオブジェクトが保存されるディレクトリ。このパラメーターを指定すると、ログオブジェクトはデスティネーションバケットの指定されたディレクトリに保存されます。このパラメーターを指定しない場合、ログオブジェクトはデスティネーションバケットのルートディレクトリに保存されます。

    重要

    ログオブジェクトが生成されるソースバケットと、生成されたログオブジェクトが保存されるデスティネーションバケットは、同じバケットでも異なるバケットでもかまいません。ただし、デスティネーションバケットはソースバケットと同じリージョンに配置され、同じ Alibaba Cloud アカウントに属している必要があります。

  • 次のコマンドを実行して、srcbucket ソースバケット用に生成されたログオブジェクトを destbucket デスティネーションバケットのルートディレクトリに保存します。

    ossutil logging --method put oss://srcbucket  oss://destbucket

    次のコマンドを実行して、srcbucket ソースバケット用に生成されたログオブジェクトを destbucket デスティネーションバケットのルートディレクトリの destdir サブディレクトリに保存します。

    ossutil logging --method put oss://srcbucket  oss://destbucket/destdir

    次の出力例は、ソースバケットのロギングが有効になっていることを示しています。

    0.098601(s) elapsed

バケットのロギング設定のクエリ

  • コマンド構文

    ossutil logging --method get oss://bucketname [local_xml_file]

    次の表に、上記のコマンドの前のパラメーターを示します。

    パラメーター

    説明

    bucketname

    ロギング設定をクエリするバケットの名前。

    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 は、ロギングを無効にするバケットの名前です。

  • 次のコマンドを実行して、examplebucket バケットのロギングを無効にします。

    ossutil logging --method delete oss://examplebucket

    次の出力例は、バケットのロギングが無効になっていることを示しています。

    0.212409(s) elapsed

共通オプション

ossutil を使用して別のリージョンにあるバケットに切り替える場合は、-e オプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutil を使用して別の Alibaba Cloud アカウントに属するバケットに切り替える場合は、-i オプションを追加して、指定したアカウントの AccessKey ID を指定し、-k オプションを追加して、指定したアカウントの AccessKey シークレットを指定します。

たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別の Alibaba Cloud アカウントが所有する testbucket バケット用に生成されたログオブジェクトを destbucket バケットに保存できます。

ossutil logging --method put oss://testbucket  oss://destbucket -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

共通オプションの詳細については、「共通オプション」をご参照ください。