Object Storage Service (OSS) にアクセスすると、多数のアクセスログが生成されます。 バケットのロギングを設定すると、事前定義された命名規則に従って1時間ごとにログオブジェクトが生成され、アクセスログが指定されたバケットにオブジェクトとして保存されます。 loggingコマンドを実行して、バケットのロギングを有効または無効にし、バケットのロギング設定を照会できます。
使用上の注意
バケットのロギングを有効にし、バケットにアクセスログを保存するには、
oss:PutBucketLogging
権限が必要です。 バケットのロギングを有効にし、別のバケットにアクセスログを保存するには、oss:PutBucketLogging
およびoss:PutObject
権限が必要です。 ログ設定をクエリするには、oss:GetBucketLogging
権限が必要です。 ロギングを無効にするには、oss:DeleteBucketLogging
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
ロギングの詳細については、「ロギング」をご参照ください。
ロギングを有効にする
バケットのロギングが有効になっていない場合、次のコマンドはバケットのロギングを有効にします。 バケットのロギングが有効になっている場合、次のコマンドはバケットの既存のロギング設定を上書きします。
コマンド構文
./ossutil64ロギング -- メソッドput oss:// bucketname oss:// targetbucket/[prefix]
次の表に、コマンド構文のパラメーターとオプションを示します。
パラメータ /オプション
説明
bucketname
ログオブジェクトが生成されるソースバケットの名前。
targetbucket
ログオブジェクトが保存されている宛先バケットの名前。
プレフィックス
ログオブジェクトが保存されているディレクトリ。 このパラメーターを指定すると、ログオブジェクトは宛先バケットの指定されたディレクトリに保存されます。 このパラメーターを指定しない場合、ログオブジェクトは宛先バケットのルートディレクトリに保存されます。
重要ログオブジェクトが生成されるソースバケットと、生成されたログオブジェクトが格納される宛先バケットは、同じバケットであっても、異なるバケットであってもよい。 ただし、宛先バケットは、ソースバケットと同じリージョンの同じアカウントに属している必要があります。
例
srcbucketソースバケット用に生成されたログオブジェクトを、destbucket宛先バケットのルートディレクトリに格納します。
./ossutil64ロギング -- メソッドput oss:// srcbucket oss:// destbucket
srcbucketソースバケットに対して生成されたログオブジェクトを、destbucket宛先バケットのルートディレクトリのdestdirサブディレクトリに格納します。
./ossutil64ロギング -- メソッドput oss:// srcbucket oss:// destbucket/destdir
次のサンプル出力は、ソースバケットのロギングが有効になっていることを示します。
0.098601経過
バケットのログ設定の照会
コマンド構文
./ossutil64ロギング -- メソッドget oss:// bucketname [local_xml_file]
次の表に、構文のパラメーターを示します。
パラメーター
説明
bucketname
ログ設定を照会するバケットの名前。
local_xml_ファイル
ログ設定を保存するローカルファイルの名前。 例:
localfile.txt
このパラメーターを指定しない場合、取得したログ設定はローカルファイルに保存されずに表示されます。例
次のコマンドを実行してexamplebucketバケットのログ設定を照会し、結果を
localfile.txt
ファイルに書き込みます。./ossutil64ロギング -- メソッドget oss:// examplebucket localfile.txt
次のサンプル出力は、ログ設定が照会されていることを示します。
0.212407経過
次のコマンドを実行して、examplebucketバケットのログ設定を照会し、結果をローカルファイルに保存せずに結果を表示します。
./ossutil64ロギング -- メソッドget oss:// examplebucket
次のサンプル出力は、examplebucketバケットに対して生成されたログオブジェクトがdestbucketバケットのルートディレクトリに書き込まれることを示しています。
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>destbucket</TargetBucket> <TargetPrefix></TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> 0.109979経過
ロギングの無効化
ログを無効にする前に、OSSはログオブジェクトを継続的に生成します。 ストレージコスト管理のために、ライフサイクルルールに基づいて不要になったログオブジェクトを削除することを推奨します。 詳細については、「最終変更時刻に基づくライフサイクルルール」をご参照ください。
コマンド構文
./ossutil64ロギング -- メソッドdelete oss:// bucketname
コマンド構文のbucketnameは、ロギングを無効にするバケットの名前です。
例
次のコマンドを実行して、examplebucketバケットのロギングを無効にします。
./ossutil64ロギング -- メソッドdelete oss:// examplebucket
次のサンプル出力は、バケットのロギングが無効になっていることを示します。
0.212409経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketソースバケット用に生成されたログオブジェクトをdestbucketの宛先バケットに保存できます。
./ossutil64ロギング -- メソッドput oss:// testbucket oss:// destbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。