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

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

最終更新日:Nov 09, 2025

Simple Log Service (SLS) のリアルタイムログクエリ機能を使用して、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 からのインターネット経viaのアウトバウンドトラフィックの実際のコストについては、請求書をご参照ください。

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

1.png

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

OSS の使用状況クエリは、バケット内のすべてのファイルのサイズ変更を表示しますが、特定のフォルダについては表示しません。特定のフォルダ内のファイルサイズの変更を分析するには、OSS アクセスログの object フィールドのプレフィックスを照合して、フォルダ内のファイルを特定します。次に、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 バイト増加しました。

2.png

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

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

クエリ文

CDN によって高速化されていない examplebucket バケットの 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 サイトからのリクエストが含まれます。

3.png

ファイルのバッチ削除レコードのクエリ

リアルタイムログクエリを使用して、OSS でのファイルのバッチ削除のレコードをクエリできます。削除されたファイルに関する情報は、HTTP リクエストボディに保存されます。リクエスト 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'

1

方法 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'

    1

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