Simple log Serviceが提供するリアルタイムログクエリ機能を使用すると、Object Storage Service (OSS) のアクセスログ、バッチ削除ログ、および時間ごとの測定ログを分析できます。 これにより、OSSの使用状況をタイムリーに監視および最適化し、潜在的な問題を特定および分析し、データの保存とアクセスの効率を向上させることができます。 このトピックでは、リアルタイムログクエリの一般的な例について説明します。
OSSディレクトリ内のオブジェクトのアウトバウンドインターネットトラフィックの分析
リクエストのhost
フィールドは偽造できます。 次のクエリ結果は見積もり用であり、課金の基礎として使用することはできません。 OSSアウトバウンドインターネットトラフィックの実際の請求が優先されます。
OSS使用量クエリを使用すると、OSSバケット内のオブジェクトのアウトバウンドインターネットトラフィックを表示できますが、OSSディレクトリ内のオブジェクトのアウトバウンドインターネットトラフィックを表示することはできません。 OSSディレクトリ内のオブジェクトのアウトバウンドインターネットトラフィックを分析する場合は、OSSアクセスログのhost
フィールドを使用して、OSSインターネットエンドポイントを照会できます。 次に、sync_request
フィールドを使用してAlibaba Cloud Content Delivery Network (CDN) のback-to-originリクエストを除外し、object
フィールドのプレフィックスをOSSディレクトリ内のオブジェクトと照合してから、content_length_out
フィールドの合計を計算できます。 このようにして、ディレクトリ内のオブジェクトからインターネットに転送されたデータの総量を取得できます。
クエリ文
次のコードは、examplebucket
バケットのexampledir
ディレクトリ内のオブジェクトのアウトバウンドインターネットトラフィックを計算するために使用されるクエリ文を提供します。
* と__topic__ : oss_access_logとbucket: examplebucketとhost : "examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request : cdn | select
SUM(content_length_out) AS total_traffic_out_byte
どこ
url_decode (オブジェクト) LIKE 'exampledir/% '
クエリ結果
クエリ結果は、examplebucket
バケットのexampledir
ディレクトリにあるオブジェクトの送信インターネットトラフィックの合計が11,749バイトであることを示しています。
OSSディレクトリ内のオブジェクトの変更されたサイズの分析
OSS使用量クエリを使用すると、OSSバケット内のオブジェクトの合計変更サイズを表示できますが、OSSディレクトリ内のオブジェクトの合計変更サイズを表示することはできません。 OSSディレクトリ内のオブジェクトの合計変更サイズを分析する場合は、OSSアクセスログのオブジェクトフィールドのプレフィックスを一致させて、OSSディレクトリ内のオブジェクトの統計を収集できます。 次に、delta_data_size
フィールドの合計を計算できます。 これにより、ディレクトリ内のオブジェクトの合計変更サイズを取得できます。
クエリ文
次のコードは、examplebucket
バケットのexampledir
ディレクトリにあるオブジェクトの変更後の合計サイズを計算するために使用されるクエリステートメントを提供します。
* と__topic__ : oss_access_logとbucket: examplebucket | select
SUM(delta_data_size) AS total_delta_data_size
どこ
url_decode (オブジェクト) LIKE 'exampledir/% '
クエリ結果
クエリ結果は、examplebucket
バケットのexampledir
ディレクトリ内のオブジェクトの合計サイズが941バイト増加したことを示しています。
CDNによって高速化されていないOSSインターネットリクエストを分析する
リクエストのhost
フィールドは偽造できます。 次のクエリ結果は見積もり用であり、課金の基礎として使用することはできません。 OSSアウトバウンドインターネットトラフィックの実際の請求が優先されます。
CDNアクセラレーションを有効にした後も、重要なOSSインターネットリクエストが表示されている場合でも、ビジネスで参照されているリソースのURLは、CDNアクセラレーションエンドポイントではなくOSSオリジンサーバーを指しています。 CDNによって高速化されないインターネットリクエストを特定するには、OSSアクセスログのhost
フィールドを使用してOSSインターネットエンドポイントをフィルタリングし、sync_request
フィールドを使用してCDN back-To-originリクエストを除外します。 referer
フィールドに基づいて、これらのリクエストが送信されるwebページまたはアプリケーションを決定することもできます。
クエリ文
次のコードは、examplebucket
バケット内のCDNによって高速化されないOSSインターネットリクエストを分析するために使用されるクエリステートメントを提供します。
* と__topic __: oss_access_logとbucket: examplebucketとhost : "examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request: cdn | select
リファラー、
ホスト、
count(*) as request_count
グループによって
リファラー、
ホスト
request_count descによる注文
クエリ結果
クエリ結果は、examplebucket
バケットでCDNによって高速化されていないOSSインターネットリクエストの上位3つのソースが、Refererフィールドが空のままであるリクエストと、ドメイン名がで終わるWebサイトからのリクエストであることを示しています。com
または。vip
ブラウザのアドレスバーにURLを入力すると、リクエストでRefererフィールドが空のままになることがあります。