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

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

最終更新日:May 21, 2025

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

OSS ディレクトリ内のオブジェクトの送信インターネットトラフィックを分析する

OSS 使用状況クエリを使用して、ディレクトリ内のオブジェクトの送信インターネットトラフィックを表示することはできません。 OSS アクセスログの host フィールドを使用してインターネットエンドポイントをクエリし、sync_request フィールドを使用して Alibaba Cloud Content Delivery Network(CDN)の原点復帰リクエストを除外し、object フィールドのプレフィックスをディレクトリ内のオブジェクトと一致させ、content_length_out フィールドの合計を計算します。 これにより、特定のディレクトリの送信インターネットトラフィックの合計を取得できます。

クエリ文

次のコードは、examplebucket バケットの exampledir ディレクトリ内のオブジェクトの送信インターネットトラフィックを計算するために使用されるクエリ文を示しています。

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

クエリ結果

重要

リクエスト内の host フィールドは偽造される可能性があります。 次のクエリ結果は推定値であり、課金の基準として使用することはできません。 OSS 送信インターネットトラフィックの実際の請求が優先されます。

クエリ結果は、examplebucketexampledir ディレクトリ内のオブジェクトの送信インターネットトラフィックの合計が 11,749 バイトであることを示しています。

1.png

OSS ディレクトリ内のオブジェクトの変更サイズを分析する

OSS 使用状況クエリを使用すると、OSS バケット内のオブジェクトの合計変更サイズを表示できますが、ディレクトリ内のオブジェクトの合計変更サイズを表示することはできません。 OSS ディレクトリ内のオブジェクトの合計変更サイズを分析するには、OSS アクセスログの object フィールドのプレフィックスを一致させて、OSS ディレクトリ内のオブジェクトの統計を収集し、delta_data_size フィールドの合計を計算します。 これにより、ディレクトリ内のオブジェクトの合計変更サイズを取得できます。

クエリ文

次のコードは、examplebucketexampledir ディレクトリ内のオブジェクトの合計変更サイズを計算するために使用されるクエリ文を示しています。

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

クエリ結果

クエリ結果は、examplebucketexampledir ディレクトリ内のオブジェクトの合計サイズが 941 バイト増加したことを示しています。

2.png

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

CDN アクセラレーションを有効にした後も、依然として大量の OSS インターネットリクエストが表示される場合、ビジネスで参照されるリソースの URL は、CDN アクセラレーションエンドポイントではなく、依然として OSS オリジンサーバーを指しています。 CDN によって高速化されていないインターネットリクエストを特定するには、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 バケットで CDN によって高速化されていない OSS インターネットリクエストの上位 3 つのソースが、Referer フィールドが空になっているリクエストと、ドメイン名が .com または .vip で終わる Web サイトからのリクエストであることを示しています。 ブラウザのアドレスバーに URL を入力すると、リクエストの Referer フィールドが空になる場合があります。

3.png