概要
ログ検索は、リアルタイムログ機能とも呼ばれています。Cloud Object Storage(COS)は、ログ検索機能をサポートしており、ストレージバケットに関連する様々なリクエストログを記録し、ログデータをリアルタイムで検索・分析することができます。COS コンソールでストレージバケットに対してこの機能を素早くオンにすることで、異常イベントや問題の特定などの作業をさらに支援することができます。
注意
リアルタイムのログ検索機能を使用すると料金が発生します。この料金は CLS によって課金されます。詳細な課金基準については、CLS 課金概要を参照してください。 現在、COS のログ検索機能がサポートする地域は、北京、広州、上海、成都、南京、重慶、中国香港、シリコンバレー、シンガポール、ムンバイ、フランクフルト、トロント、深セン金融、上海金融を含んでいます。今後、より多くの地域をサポートしていく予定ですので、製品の動向に注目してください。
COS は、ログデータの正確性を100%保証するものではなく、あくまで参考のためのものであり、トラフィック計算や課金の根拠として使用するものではありません。
操作手順
ログ検索をオンにします
2. 左側のナビゲーションバーで、ストレージバケットリストをクリックすると、ストレージバケットリストの管理ページに入ります。
3. ログ検索をオンにする必要があるストレージバケットを探し、そのバケット名をクリックすると、そのバケットの管理ページに入ります。
4. 左側のナビゲーションバーで、ログ管理 > ログ検索を選択します。
5. ログ検索ページで、現在のストレージバケットでリアルタイムログ機能がオンになっていない場合は、今すぐオンにするをクリックして使用します。
説明:
正常にオンにすると、このストレージバケットのアクセスログは CLS の同じ地域のログトピックに配信され、ログトピックが cos-log-store となります。初めてオンにするは承認が必要です。
フィールド統計分析をオンにする
ログ検索は、クエリステートメントを入力することなく、フィールドにより高速な統計分析をサポートします。デフォルトでサポートされているフィールドについてはログフィールドの説明を参照し、詳細についてはクイック分析を参照してください。 注意:
特定のフィールドによりログを統計分析したい場合は、必ずそのフィールドの統計情報をオンにしてください。次の2つの方法で速やかオンにすることができます。
方法一:オリジナルログページでオンにする
1. オリジナルログページに入ります。
2. オンにするフィールドを見つけ、今すぐオンにするをクリックします。
方法二:インデックスコンフィグレーションでオンにする
1. インデックスコンフィグレーションをクリックし、インデックスコンフィグレーションページに入ります。
2. インデックスコンフィグレーションページで、右上の編集をクリックし、オンにするフィールドを見つけ、スイッチをオンにし、間違いがないことを確認し、確認をクリックして保存します。
3. 正常にオンにすると、そのフィールドの統計分析が表示されます。特定の数字をクリックすると、対応する検索分析文とグラフが自動的に生成されます。
検索分析文を入力する
注意:
インデックスコンフィグレーションは、CLS を使用して検索・分析を行う必要条件であり、インデックスがオンになっている場合のみ、ログの検索と分析が可能です。インデックスコンフィグレーションは複雑ですので、インデックスコンフィグレーションの編集で推奨されるコンフィグレーションを使用することをお勧めします。このコンフィグレーションはほとんどの使用ニーズに対応しています。詳細については、インデックスコンフィグレーションを参照してください。 検索分析文は、検索条件と SQL 文で構成されており、検索分析文を入力すると、アクセスログを検索し、統計分析します。
検索条件:ログがマッチする必要がある条件を指定し、その条件を満たすログを返します。例えば、status:404
検索レスポンスステータスコードが404のアプリケーションリクエストログを使用します。検索条件が空または*
の場合は、検索条件がないことを示します。即ち、すべてのログを検索することになります。構文ルールと例の詳細情報については、検索条件の構文を参照してください。 SQL 文:検索条件を満たすログに対して統計分析を実行し、統計分析結果を返します。例えば、status:404 | select count(*) as logCounts
統計レスポンスステータスコードが404のログ数を使用します。構文の使い方と例の詳細情報については、SQL文の構文を参照してください。
1. ログ検索ページで、検索分析文入力モードを選択します。インタラクティブモード、ステートメントモードの2種類がサポートされています。
インタラクティブモード:指定された検索条件や統計分析ルールをマウスでクリックすると、検索・解析文が自動生成され、とても使いやすいです。
ステートメントモード:検索分析文を直接入力します。構文ルールに適合し、柔軟性が高い必要があります。
2. 構文ルールを切り替える必要がある場合、ドロップダウンリストをクリックして構文ルールを選択して切り替えることができます。CQL と Lucene がサポートされています。構文ルールと例の詳細情報については、検索条件の構文を参照してください。
3. 検索分析文を入力し、時間範囲を選択し、検索ボタンをクリックすると、そのストレージバケットの CLS に報告されたアクセスログが検索されます。
ログ検索結果と統計分析結果の表示
検索に成功すると、ログ検索画面にはアクセスログの検索結果と統計分析結果が表示されます。それぞれオリジナルログと統計グラフに対応し、素早い切り替えをサポートします。詳細は以下のとおりです。
オリジナルログ:検索分析文が検索条件のみを含む場合は、オリジナルログで検索条件に一致するログを表示することができます。デフォルトでログ時間の逆順に並べ替えられます。
統計グラフ:検索分析文に SQL 文が含まれている場合は、分析結果を統計グラフで表示することができます。また、検索条件に一致したログをオリジナルログで表示することもできますので、統計結果とオリジナルログを比較して分析することができます。
オリジナルログ
1.1 現在の検索条件で、指定された時間範囲内のログ統計を棒グラフで表示することをサポートします。
1.2 デフォルトでログデータをオリジナルの形式で表示します。コンフィグレーションのカスタマイズをサポートします。
1.3 ログデータには「表示フィールド」のみが表示されます。より詳細な情報を表示したい場合や、ログの対応するフィールドを非表示にしたい場合は、以下の3つの方法で実現することができます。
リスト操作:オリジナルログの下で、左側のパネルでそのフィールドを素早く見つけ、表示または非表示をクリックすると設定することができます。
ログ詳細:特定のログを展開して詳細を表示し、表示アイコンをクリックすると、フィールドを素早く非表示または表示にすることができます。各ログについて、JSON 形式でデータを表示し、ワンクリックでコピーすることもできます。さらに、フィールド値をクリックしてジャンプをカスタマイズすることもできます。
レイアウトコンフィグレーション:右側の「レイアウト:デフォルトコンフィグレーション」をクリックし、コンフィグレーション管理を選択します。表示フィールドを一括で設定することができます。適用をクリックすると設定することができます。
統計グラフ
デフォルトでは、統計グラフは表形式で分析結果を表示しますが、右側の「グラフコンフィグレーション」を通じてグラフタイプや関連情報をカスタマイズすることができます。ストレージバケットアクセスログの可視化とアラートをさらに設定するには、CLS コンソールに移動してください。
ログのダウンロードと分析結果のエクスポート
ログのダウンロード
1. 右側のダウンロードボタンをクリックし、ログのダウンロードを選択します。
2. ポップアップ表示されるウィンドウで、以下の情報を設定し、間違いがないことを確認してから「エクスポート」をクリックします。
3. 完了すると、エクスポートタスクが作成されます。この場合、自動的にエクスポートレコードページに入り、現在のタスクの進捗状況を確認したり、タスクの削除やダウンロードをしたりすることができます。待機中に現在のページを終了し、右側のダウンロードボタンからエクスポートレコードをクリックすると、サイドそのページに戻ることができます。
分析結果のエクスポート
右側の分析データのエクスポートをクリックすると、分析結果がローカルにダウンロードされます。
ログ検索をオフにする
特定のストレージバケットに対してログ検索機能を使用し続けたくない場合は、「ログ検索をオフにする」をクリックしてください。
注意:
オフにする前に、CLS コンソールで空のログトピックがあるかどうかを確認してください。
ログフィールドの説明
|
1 | eventVersion | レコードバージョン | 1.0 |
2 | bucketName | ストレージバケット名 | examplebucket-1250000000 |
3 | qcsRegion | リクエスト地域 | ap-beijing |
4 | eventTime | イベント時間(リクエスト終了時間、UTC 0時 タイプスタンプ) | 2018-12-01T11:02:33Z |
5 | eventSource | ユーザーがアクセスしたドメイン名 | examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com |
6 | eventName | イベント名 | UploadPart |
7 | remoteIp | ソース IP | 192.168.0.1 |
8 | userSecretKeyId | ユーザーアクセス KeyId | AKIDNYVCdoJQyGJ5brTf |
9 | reqBytesSent | リクエストバイト数(Bytes) | 83886080 |
10 | deltaDataSize | リクエストによるストレージボリュームの変更(Bytes) | 808 |
11 | reqPath | リクエストのファイルパス | /folder/text.txt |
12 | reqMethod | リクエスト方法 | put |
13 | userAgent | ユーザー UA | cos-go-sdk-v5.2.9 |
14 | resHttpCode | HTTP リターンコード | 404 |
15 | resErrorCode | エラーコード | NoSuchKey |
16 | resErrorMsg | エラー情報 | The specified key does not exist. |
17 | resBytesSent | リターンバイト数(Bytes) | 197 |
18 | resTotalTime | リクエストの総経過時間(ミリ秒。レスポンスの最後のバイトの時間からリクエストの最初のバイトの時間を引いた時間に等しい) | 4295 |
19 | logSourceType | ログソースタイプ | USER(ユーザーのアクセスリクエスト)、CDN(CDN のオリジンプルリクエスト) |
20 | storageClass | ストレージタイプ | STANDARD、STANDARD_IA、ARCHIVE |
21 | accountId | ストレージバケツの所有者 ID | 100000000001 |
22 | requester | 訪問者 | マスターアカウント ID:サブアカウント ID。匿名アクセスの場合に- が表示されます。 |
23 | requestId | リクエスト ID | NWQ1ZjY4MTBfMjZiMjU4NjRfOWI1N180NDBiYTY= |
24 | objectSize | オブジェクトサイズ(Bytes) | 808。マルチパートアップロードを使用する場合、objectSize フィールドはアップロード完了時にのみ表示されます。各パートのアップロード中には- が表示されます |
25 | versionId | オブジェクトバージョン ID | ランダム文字列 |
26 | targetStorageClass | ターゲットストレージクラス。コピー操作を開始するリクエストは、このフィールドにログを記録します | STANDARD、STANDARD_IA、ARCHIVE |
27 | referer | リクエストの HTTP referer | *.example.com または111.111.111.1
|
28 | requestUri | リクエスト URI | 「GET /fdgfdgsf%20/%E6%B5%AE%E7%82%B9%E6%95%B0 HTTP/1.1」 |
29 | resTurnAroundTime | リクエストサーバーの経過時間(ミリ秒。レスポンスの最初のバイトの時間からリクエストの最後のバイトの時間を引いた時間に等しい) | 4295 |
30 | vpcId | VPC リクエスト ID | 「0」(非VPC)/「12345」(VPC、「0」以外の string である) |
一般的な例
以下は、いくつかの一般的な例を提供します。これから例を追加しますが、製品の動向に注目してください。詳細については、シナリオの例を参照してください。 例一:アクセス数 TOP50 の IP
1. ステートメントモードを選択し、以下のSQL文を入力します。
\\* | select count(*) as PV, remoteIp as IP group by IP order by PV desc limit 50
count(*) as PV
:すべてのログの数(即ち PV)をカウントします。
group by IP
:IP ごとにグループ化し、各 IP に対応するPVをカウントします。
order by PV desc
:PV の降順で並べ替え、PV の高い IP を優先的に表示します。
limit 50
:検索結果の上位 50 件、つまり PV が最も高い 50 件の IP のみが返されます。
2. 時間範囲を選択し、検索をクリックして確認し、統計分析ページに入ると、統計分析の結果を表示することができます。右側ではグライフタイプを切り替えることができます。
3. 検索が失敗した場合は、エラーメッセージに記載されるエラーの場所を確認することをお勧めします。エラーの原因については、検索分析エラーを参照してください。 例二:過去90日間アクセスされたファイルの検索
1. ステートメントモードを選択し、以下のSQL文を入力します。
* | select reqPath group by reqPath limit 1000000
2. 時間範囲は過去90日を選択します。検索をクリックして確認し、統計分析ページに入ると、統計分析の結果を表示することができます。右側ではグライフタイプを切り替えることができます。
例三:指定したプリフィックスのリクエスト数、トラフィック、ストレージ容量を統計する
例えば、ストレージバケット内の以下のファイルがすべてログリクエストを生成しており、指定したプリフィックスが1であるオブジェクト(ファイルパスが「/111」、「/112」、「/101」のオブジェクト)のリクエスト数、トラフィック、ストレージ容量を統計したい場合。
注意:
オブジェクトトラフィック:ログリクエストの中で、オブジェクトの返信バイトの総数を指します。
オブジェクトストレージ容量:ログリクエストの中で、「-」を含まない(objectSize)の合計を指します。詳細については、ログフィールドの説明を参照してください。 1. インタラクティブモードを選択し、検索条件の追加をクリックし、指定 reqPath に***/1 を含むことを指定し、時間範囲指定し、プレフィックスが1であるオブジェクトリクエストログをフィルタリングします。そのうち、*はワイルドカード文字です。
2. 入力ボックスに以下の文を入力します。
SELECT count(*) as 「リクエスト数」、sum(resBytesSent) as 「トラフィック」、SUM(CAST(objectSize AS INT)) AS 「ストレージ容量」 WHERE objectSize != '-'
3. 或いは、ステップ1でステートメントモードを選択し、以下のSQL文を直接入力します。
reqPath:「/1\\*」 | SELECT count(\\*) as 「リクエスト数」、sum(resBytesSent) as 「トラフィック」、SUM(CAST(objectSize AS INT)) AS 「ストレージ容量」 WHERE objectSize != '-'
4. 時間範囲を選択し、検索をクリックして確認し、統計分析ページに入ると、統計分析の結果を表示することができます。右側ではグライフタイプを切り替えることができます。
例四:ファイルにアクセスできず、理由を特定する
1. インタラクティブモードを選択し、検索条件の追加をクリックします。検索するファイル名を指定し、時間範囲を選択し、検索をクリックしてログを確認します。
2. 左側のフィールド名をクリックすると、クイック分析が開き、 resHttpCode フィールドにより統計分析を行います。403ステータスコード、204ステータスコードなどの異常ステータスコードのログメッセージを表示します。
3. 異常ステータスコードについては、ステータスコードをクリックし、今回の検索に追加するログのフィルタリングを選択します。ログの詳細で他のフィールドを確認することができます。reqMethodフィールドに注目することを推奨します。概略図では、ファイルに対して削除操作が実行されることで、オブジェクトアクセスが失敗したことを示しています。
この記事はお役に立ちましたか?