OSS にアクセスすると、数多くのアクセスログが生成されます。 バケットに対するアクセスログ機能を有効にすると、OSS はバケットに格納されているアクセスログに 1 時間ごとに自動的にアクセスし、指定したバケット (ターゲットバケット) にオブジェクトを生成します。 生成されるオブジェクトは、OSS の命名規則に準拠しています。 アクセスログを分析するには、Alibaba Cloud Data Lake Analytics を使用するか、Spark クラスターを使用します。 ターゲットバケットのライフサイクルルールで、ログオブジェクトのストレージクラスが「Archive 」に変換されるように設定し、ログオブログジェクトをアーカイブすることもできます。

アクセスログが格納されるオブジェクトの命名規則

<TargetPrefix><SourceBucket>YYYY-mm-DD-HH-MM-SS-UniqueString
命名規則の構成フィールドは、次のとおりです。
  • TargetPrefixは、アクセスログが格納されるオブジェクト名のプレフィックスを示します。 このフィールドはユーザーが定義します。空白でも構いません。
  • YYYY-mm-DD-HH-MM-SSは、オブジェクトが作成された年、月、日、時、分、および秒を示します (桁数に注意してください)。
  • UniqueStringは、OSS によって生成される文字列 (UUID) であり、ログオブジェクトを一意に識別するために使用されます。
OSS アクセスログを格納するオブジェクト名の例は、次のとおりです。
MyLog-oss-example2017-09-10-04-00-00-0000
上記の例の説明は、次のとおりです。
  • MyLog- は、ユーザーが指定したオブジェクトのプレフィックスです。
  • oss-example は、ソースバケットの名前です。
  • 2017-09-10-04-00-00 は、オブジェクトが作成された時刻です。
  • 0000 は、OSS によって生成された文字列です。

ログファイルの形式

以下では、ログファイルの構成フィールドについて説明します。 ログファイルでは、構成フィールドがスペースで区切られて、左から右へ順番に結合されます。

名前 説明
Remote IP 119.xx.xx.11 リクエストを開始した IP アドレスを示します (プロキシまたはファイアウォールによって、このフィールドがブロックされる可能性があるのでご注意ください)。
Reserved - 予約フィールドであることを示します。
Reserved - 予約フィールドであることを示します。
Time [02/May/2012:00:00:04 +0800] OSS がリクエストを受信した時刻を示します。
Request-URI “GET /aliyun-logo.png HTTP/1.1” ユーザーリクエストの URI (クエリ文字列を含む) を示します。
HTTP Status 200 OSS から返された HTTP ステータスコードを示します。
SentBytes 5576 ユーザが OSS からダウンロードしたトラフィック量を示します。
RequestTime (ms) 71 リクエストを完了するために使用された時間量をミリ秒単位で示します。
Referer http://www.aliyun.com/product/oss リクエストを行った HTTP リファラーを示します。
User-Agent curl/7.15.5 HTTP User-Agent のヘッダーを示します。
HostName oss-example.oss-cn-hangzhou.aliyuncs.com リクエストによってアクセスされるドメイン名を示します。
Request ID 505B016950xxxxxx032593A4 リクエストを一意に識別するために使用される UUID を示します。
LoggingFlag true アクセスログ機能が有効になっているかどうかを示します。
Requester Aliyun ID 16571xxxxxx83691 リクエストを送信した Alibaba Cloud ID を示します。匿名アクセスの場合は「 - 」です。
Operation GetObject リクエストタイプを示します。
Bucket oss-example リクエストバケット名を示します。
Key /aliyun-logo.png ユーザーがリクエストしたキーを示します。
ObjectSize 5576 オブジェクトサイズを示します。
Server Cost Time (ms) 17 OSS サーバーでリクエストの処理に要した時間の長さをミリ秒単位で示します。
Error Code NoSuchBucket OSS から返されるエラーコードを示します。
Request Length 302 ユーザーリクエストの長さをバイト単位で示します。
UserID 16571xxxxxx83691 バケット所有者の ID を示します。
Delta DataSize 280 バケットサイズの変動を示します。バケットサイズが変更されていない場合は-になります。
Sync Request - リクエストが CDN バックツーオリジンであるかどうかを示します。バックツーオリジンリクエストでない場合は - になります。
Reserved - 予約フィールドであることを示します。

詳細分析

  • ソースバケットとターゲットバケットは、同じバケットでも、同じアカウントで所有し、同じリージョンに属する異なるバケットでも構いません。 複数のソースバケットのログを同じターゲットバケットに格納することもできます。 この場合、異なるソースバケットのログに対して、異なる "TargetPrefix" 値を指定することを推奨します。
  • OSS では、バケットのアクセスログを 1 時間ごとに格納するオブジェクトが生成されます。 ただし、過去 1 時間のリクエストは、その 1 時間前に生成されたオブジェクト、または 1 時後に生成されるオブジェクトに記録される場合があります。
  • バケットのアクセスログを格納するオブジェクトが OSS で生成されるたびに、PUT 操作とその操作で占有されるストレージ領域が記録されます。 ただし、PUT 操作によって生成されるトラフィックは記録されません。 アクセスログが格納される生成済みのオブジェクトに対しては、一般的な OSS 操作を実行できます。
  • OSS では、プレフィックス「x-」の付いたすべてのクエリ文字列パラメーターは、無視されます。 ただし、これらのパラメーターはアクセスログに記録されます。 大量のアクセスログから特定のリクエストを簡単に識別するためには、リクエストの URL にプレフィックス「x-」を付けた クエリ文字列パラメータを追加します。 例:

    http://oss-example.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png

    http://oss-example.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png?x-user=admin

    上記の 2 つのリクエストに対して、OSS から同じ結果が返されます。 ただし、x-user = adminパラメーターを使用して検索することで、リクエストを簡単に見つけることができます。

  • - が、OSS ログの任意のフィールドに表示される場合があります。 データが不明であるか、フィールドが現在のリクエストに対して無効であることを示します。
  • 今後、OSS ログの末尾にフィールドが追加される予定です。 ログ処理ツールを開発する場合、開発者は潜在的な互換性の問題に注意することをお推奨します。

参照情報