Storeviewsを使用すると、複数のLogstoreまたはMetricstoreにわたるログに対してJOINクエリと分析を実行できます。 このトピックでは、LogstoreのStoreviewを作成し、LogstoreのStoreviewでログを照会および分析する方法について説明します。
LogstoreのStoreviewを作成する
前提条件
プロジェクトと標準ログストアが作成され、ログが収集されます。 詳細については、参照プロジェクトの作成、ログストアの作成、およびデータ収集の概要をご参照ください。
手順
Simple Log Service コンソールにログインします。 [プロジェクト] セクションで、管理するプロジェクトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[今すぐ作成] または
アイコンをクリックして、LogstoreのStoreviewを作成します。 
[Storeviewの作成] ダイアログボックスで、[Storeview Name] パラメーターを設定し、Storeviewに関連付けるLogstoreを追加して、[OK] をクリックします。 Storeviewを作成するには約1分かかります。
説明Simple Log Serviceプロジェクトごとに最大10個のLogstoreを作成できます。
各Storeview for Logstoreに最大50個のLogstoreを関連付けることができます。
Storeview for Logstore内のすべてのLogstoreは、同じAlibaba Cloudアカウントに属している必要があります。
警告クロスボーダーJOINクエリが必要な場合は、「クロスボーダーデータ転送のコンプライアンス保証」を読んで同意する必要があります。 [OK] をクリックします。
ログクエリ
LogstoreのStoreviewは、クロスLogstoreクエリをサポートしています。 たとえば、logstore-1やlogstore-2などの2つのLogstoreは、Storeview For Logstoreに関連付けられ、フィールドaを含みます。 * | select a from log where a > 1文を指定した場合、logstore-1およびlogstore-2が1より大きいフィールドaの値が返されます。
キーワードを使用して、2つのLogstoreを含むStoreview for Logstoreのログを照会し、Logstoreのログ内容が同じである場合、異なるLogstoreの結果が返されます。 タグフィールドを使用して、ログのソースLogstoreを識別できます。

ログ分析
LogstoreのStoreviewは、Logstore間のデータ集約と統計分析をサポートします。 たとえば、logstore-1やlogstore-2などの2つのLogstoreは、LogstoreのStoreviewに関連付けられ、フィールドaを含みます。 * | select a, count(1) group by aステートメントを指定すると、logstore-1とlogstore-2のフィールドaの値の総数が返されます。
集計分析では、フィールドキーは一貫している必要があります。 ログの内容が同じでキー名が異なる場合は、事前定義機能を使用して特定のデータをフィルタリングし、フィールドの名前を変更できます。 たとえば、logstore-1のフィールドaとlogstore-2のフィールドbを集約する場合は、フィールドbの名前をaに変更する必要があります。
LogstoreのStoreviewを作成するときに、Simple Log Service Processing Language (SPL) 構文に基づいて、LogstoreのStoreviewで関連するLogstoreを事前定義できます。 SPL構文は、事前定義機能を使用するときにextendとwhereキーワードをサポートします。 事前定義機能を使用すると、特定のデータをフィルタリングし、集計分析で一貫性のないフィールド名の問題を解決できます。 集計分析では、フィールドキーが一貫している必要があります。 logstore-1のフィールドaとlogstore-2のフィールドbを集約する場合は、SPLステートメントでextend a = bを指定して、列名が一致するようにする必要があります。
次のシナリオを例として使用します。
シナリオ 1
LogstoreのStoreviewは、同じサービスの異なるLogstoreに関連付けられています。 Logstoreの内容は同じです。 この場合、Logstoreのインデックス設定が同じかどうかを確認する必要があります。 たとえば、ログストアがフルテキストインデックスを使用するか、必須フィールドのインデックス設定が同じである場合などです。 次に、関連付けのためにLogstoreをStoreview for Logstoreに追加する必要があります。
LogstoreのStoreviewを作成した後、SQL文を使用してLogstoreのStoreviewを分析できます。 次の図は、過去15分間の
statusパラメーターの値に基づいて、2つのログストアのすべてのログの集計結果を示しています。
シナリオ 2
LogstoreのStoreviewは、同じサービスの異なるLogstoreに関連付けられており、Logstoreのログフィールドの名前は異なります。 この場合、事前定義機能を使用し、フィールドに同じ名前を使用するようにSPLステートメントを指定できます。 次の図では、
* | extend request_method = methodステートメントを指定して、methodフィールドの名前をrequest_methodに変更します。 [データのプレビュー] をクリックして、定義済みの結果データをプレビューします。
後続のクエリと分析でrequest_methodフィールドを使用できます。
一般的なクエリと分析結果の例
シナリオの説明 | Storeview作成時の事前定義済みクエリ | Storeviewクエリと分析ページへの入力クエリ | 出力 |
logstore-1とlogstore-2にはキー列が含まれます。 | なし |
|
|
logstore-1およびlogstore-2は、列aおよびbを含む。 | なし |
| 条件 |
logstore-1とlogstore-2には、列のキーとaが含まれます。 |
|
| 条件 |
logstore-1とlogstore-2には、列のキーとaが含まれます。 |
|
|
|
logstore-1とlogstore-2には、列のキーとaが含まれます。 |
|
| y列を含め、条件を満たすすべての列が返されます。 |
logstore-1は列a、b、およびcを含み、logstore-2は列b、c、およびdを含む。 | なし |
| 列a、b、c、dが返されます。 空の値はnullに設定されます。 |
logstore-1はインデックスフィールドaおよびbを有し、logstore-2はインデックスフィールドbおよびcを有する。 | なし |
| logstore-2には列は含まれません。 logstore-1のデータのみが計算されます。 |
不整合の取り扱い
同じクエリステートメントで2つのLogstoreに異なるフィールドタイプを指定した場合、クエリ結果を返すことができます。
分析ステートメントで特定のストアのフィールドを指定した場合、指定したフィールドを含むストアの結果のみが返されます。
複数のストア間のキーインデックス設定に一貫性がない場合、エラーが返され、結果は返されません。
次に何をすべきか
LlogstoreのStoreviewの照会
左側のナビゲーションウィンドウで、 を選択して、logstoreの既存のStoreviewsを表示します。

LogstoreのStoreviewの変更
[Storeview] リストで、管理する [Storeview] にポインターを移動し、[
] をクリックし、[変更] をクリックします。 
[Storeviewの更新] パネルで、関連するLogstoreを変更し、[OK] をクリックします。

LogstoreのStoreviewの削除
[Storeview] リストで、管理する [Storeview] にポインターを移動し、[
] をクリックして、[Delete] をクリックします。

関連ドキュメント
次のAPIを呼び出して、Storeviewsを管理できます。