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

Object Storage Service:OSS リアルタイムログクエリの一般的なクエリ例

最終更新日:Jun 21, 2026

Simple Log Service (SLS) のリアルタイムログクエリ機能を使用して、Object Storage Service (OSS) のアクセスログと時間単位のメータリングログを分析できます。これにより、OSS の使用状況の監視と最適化、問題の特定と分析、ストレージとアクセス効率の向上が可能になります。このトピックでは、リアルタイムログクエリの一般的なクエリ例を紹介します。

OSS フォルダー内のファイルのインターネットアウトバウンドトラフィックの分析

OSS の使用状況クエリでは、範囲を特定のフォルダーに限定できません。フォルダー内のファイルのインターネットアウトバウンドトラフィックを計算するには、OSS アクセスログを分析します。ログでは、host フィールドを使用してパブリックエンドポイントでフィルタリングし、sync_request フィールドを使用して CDN オリジンリクエストを除外し、object フィールドのプレフィックスを使用してファイルを照合します。最後に、response_body_length フィールドの値を合計して、総トラフィック量を取得します。

クエリステートメント

examplebucket バケットの exampledir フォルダー内にあるすべてのファイルのインターネットアウトバウンドトラフィックの合計を計算します。

* and __topic__:oss_access_log and bucket:examplebucket and host:"examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request:cdn | select
  SUM(response_body_length) AS total_traffic_out_byte
WHERE
  url_decode(object) LIKE 'exampledir/%'

クエリ結果

重要

リクエストの host フィールドは偽装される可能性があるため、クエリ結果はあくまで推定値です。OSS からのインターネットアウトバウンドトラフィックの実際のコストについては、請求書をご参照ください。

examplebucket バケットの exampledir フォルダー内にあるすべてのファイルのインターネットアウトバウンドトラフィックの合計は 11749 バイトです。

OSS フォルダー内のファイルサイズの変更の分析

OSS の使用量のクエリは、バケット内のすべてのファイルのサイズ変更を表示しますが、特定のフォルダーについては表示しません。特定のフォルダー内のファイルサイズの変更を分析するには、OSS アクセスログのオブジェクトフィールドのプレフィックスを照合して、フォルダー内のファイルを特定できます。その後、delta_data_size フィールドの値の合計を計算することで、そのフォルダー内のすべてのファイルの合計サイズ変更量を取得できます。

クエリステートメント

examplebucket バケットの exampledir フォルダー内にあるファイルサイズの変更を計算します。

* and __topic__:oss_access_log and bucket:examplebucket | select
  SUM(delta_data_size) AS total_delta_data_size
WHERE
  url_decode(object) LIKE 'exampledir/%'

クエリ結果

examplebucket バケットの exampledir フォルダー内のファイルサイズが 941 バイト増加しました。

CDN によって高速化されていない OSS インターネットリクエストの分析

CDN アクセラレーションを有効にした後でも、多数の OSS インターネットリクエストが発生する場合があります。これは、アプリケーション内のリソース URL が、CDN ドメイン名ではなく、依然として OSS ソースを指していることを示します。これらの高速化されていないリクエストを特定するには、OSS アクセスログを分析します。host フィールドを使用して OSS パブリックエンドポイントをフィルタリングし、sync_request フィールドを使用して CDN オリジンリクエストを除外します。また、referer フィールドを使用して、これらのリクエストのソース Web ページまたはアプリケーションを特定することもできます。

クエリステートメント

examplebucket バケットで CDN によって高速化されていない OSS インターネットリクエストを分析します。

* and __topic__:oss_access_log and bucket:examplebucket and host:"examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request:cdn | select
  referer,
  host,
  count(*) as request_count
group by
  referer,
  host
order by request_count desc

クエリ結果

重要

リクエストの host フィールドは偽装される可能性があるため、クエリ結果はあくまで推定値です。OSS からのインターネットアウトバウンドトラフィックの実際のコストについては、請求書をご参照ください。

examplebucket バケットに対する高速化されていない OSS インターネットリクエストの結果は、トラフィックの上位 3 つのソースを示しています。ソースには、ユーザーがブラウザーに直接 URL を入力した場合に発生する可能性がある Referer フィールドが空のリクエスト、およびドメイン名が .com.vip で終わる Web サイトからのリクエストが含まれます。

ファイルの一括削除レコードのクエリ

リアルタイムログクエリを使用して、OSS での一括削除操作のレコードをクエリできます。一括削除操作では、削除された各ファイルが個別のログエントリとして記録され、これらのログは同じリクエスト ID を共有します。削除されたファイル名は object フィールドに記録されるため、リクエスト ID を使用して関連するすべてのレコードをクエリできます。

方法 1:既知のリクエスト ID

クエリを実行するには、次の SQL ステートメントの bucketnamerequest_id を置き換えます。

* and __topic__:oss_batch_delete_log and operation:DeleteObjects and bucket:bucketname | select from_unixtime(__time__) as Time,url_decode(object) as objectname,user_agent where request_id = '68xxxxxxxxxxxxxxxxxxxxxx'

クエリを実行すると、結果テーブルに一致する削除レコードが返されます。user_agent 列に aliyun-oss-console と表示されている場合、その削除操作が OSS コンソールから開始されたことを示します。この情報を使用して、削除されたオブジェクトと操作のソースを特定できます。

方法 2:不明なリクエスト ID

リクエスト ID がない場合は、次の手順に従ってクエリを実行します。

  1. ファイル名や一括削除の時刻などの情報を使用して、リクエスト ID を特定します。たとえば、クエリを実行するには、次の SQL ステートメントの bucketname とファイル名を置き換えます。

    * and __topic__:oss_batch_delete_log and bucket:bucketname | select request_id where url_decode(object) = 'test/001.bin'

    クエリは request_id 列を返します。値の例は 68666811B2D29830309BC41E です。

  2. リクエスト ID を取得したら、方法 1 の SQL ステートメントを使用して、完全な一括削除レコードをクエリできます。