ストアビューは、複数の Logstore にまたがる結合クエリと分析をサポートします。このトピックでは、Logstore のストアビューを作成する方法と、そのクエリおよび分析機能の使用方法について説明します。
ログベースのデータビューの作成
前提条件
プロジェクトと標準ストレージ Logstore が作成され、ログが収集されていること。詳細については、プロジェクトの管理、Logstore の作成、データ収集の概要をご参照ください。
操作手順
Simple Log Service コンソールにログインします。[プロジェクト] セクションで、対象のプロジェクトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。次に、[今すぐ作成] または
アイコンをクリックして、Logstore のストアビューを作成します。
[ストアビューの作成] ダイアログボックスで、[ストアビュー名] を入力し、関連付ける Logstore を追加してから、[OK] をクリックします。ストアビューの作成には約 1 分かかります。
説明各 Simple Log Service プロジェクトに対して、最大 10 個の Logstore のストアビュー を作成できます。
各 Logstore のストアビュー には、最大 50 個の Logstore を関連付けることができます。
Logstore のストアビュー 内のすべての Logstore は、同じ Alibaba Cloud アカウントに属している必要があります。
クエリ機能
Logstore のストアビュー は、Logstore をまたいだクエリ機能をサポートします。例えば、ある Logstore のストアビュー が 2 つの Logstore (Logstore-1 と Logstore-2) に関連付けられており、Logstore-1 と Logstore-2 の両方にフィールド `a` が含まれている場合、クエリ文:* | select a from log where a > 1 は、Logstore-1 と Logstore-2 の両方から、フィールド `a` が条件 a > 1 を満たすログ結果を返します。
Logstore のストアビュー に同一のログコンテンツを持つ 2 つの Logstore が含まれている場合、キーワードクエリは両方の Logstore からすべての結果を返します。タグフィールドを使用して、各ログのソース Logstore を識別できます。

分析機能
ストアビュー は、Logstore をまたいだ集約および統計分析をサポートします。例えば、あるストアビューが LogStore-1 と LogStore-2 に関連付けられているとします。両方の Logstore にフィールド a が含まれている場合、分析文 * | select a, count(1) group by a を実行すると、この文は LogStore-1 と LogStore-2 の両方からフィールド `a` の合計カウントを返します。
集約分析には、一貫したフィールドキーが必要です。ログの内容は同じでもキー名が異なる場合は、事前定義機能を使用してデータをフィルターし、フィールド名を変更します。例えば、LogStore-1 のフィールド a と LogStore-2 のフィールド b を集約するには、まずフィールド b の名前を a に変更します。
Logstore のストアビュー を作成する際に、構造化プロセス言語 (SPL) を使用して関連する Logstore を事前定義できます。事前定義機能は、extend および where キーワードのみをサポートします。事前定義を使用して、データをフィルターしたり、集約分析のために一貫性のないフィールド名を解決したりします。集約には一貫したフィールドキーが必要です。例えば、LogStore-1 のフィールド a と LogStore-2 のフィールド b を集約するには、文 extend a = b を使用して列名を一致させます。
次のセクションでは、2 つのシナリオについて説明します。
シナリオ 1
同じサービスの異なる Logstore に Logstore のストアビュー が関連付けられており、Logstore の内容が同じです。このシナリオでは、まず Logstore のインデックス構成が同一であることを確認します。例えば、すべてがフルテキストインデックスを使用しているか、必要なフィールドに対して一貫したインデックス構成を持っていることを確認します。次に、これらの Logstore を Logstore のストアビュー に追加します。
Logstore のストアビュー を作成した後、SQL 文を使用して分析できます。次の図は、過去 15 分間の両方の Logstore のすべてのログから
statusフィールドの集約結果を示しています。
シナリオ 2
Logstore のストアビュー が同じサービスの異なる Logstore に関連付けられていますが、一部のログフィールド名が異なります。この場合、事前定義された SPL 文を使用してキー名を揃えます。次の図に示すように、SPL 文
*|extend request_method = methodは、methodフィールドの名前をrequest_methodに変更します。[データプレビュー] をクリックして、事前定義の結果を確認します。
次に、request_methodフィールドを使用してクエリと分析を行います。
一般的なクエリと分析結果の例
シナリオの説明 | 事前定義クエリ | 分析ページのクエリ | 出力 |
LogStore-1 と LogStore-2 の両方にキー列が含まれています。 | なし |
|
|
LogStore-1 と LogStore-2 の両方に列 a と b が含まれています。 | なし |
| 条件 |
LogStore-1 と LogStore-2 の両方に列 key と a が含まれています。 |
|
| 条件 |
LogStore-1 と LogStore-2 の両方に列 key と a が含まれています。 |
|
|
|
LogStore-1 と LogStore-2 の両方に列 key と 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 にはフィールド a が含まれていないため、LogStore-1 のデータのみが集約されます。 |
不整合の処理
同じフィールドが 2 つの Logstore で異なるデータ型で構成されている場合でも、クエリは結果を返すことができます。
分析文に一部の Logstore にしか存在しないフィールドが含まれている場合、その文はそのフィールドを含む Logstore からのデータのみを返します。
キーフィールドのインデックス構成が複数の Logstore で一貫していない場合、分析文は結果の代わりにエラーを返します。
次のステップ
クエリログデータのビュー
左側のナビゲーションウィンドウで を選択して、作成したログデータビューを表示できます。

ログデータビューの更新
データビューのリストで、対象のデータビューにマウスポインターを合わせ、
をクリックしてから、[変更] を選択します。
[ストアビューの変更] パネルで、関連付けられている Logstore を変更し、[OK] をクリックします。

ログタイプのデータビューの削除
ストアビューのリストで、対象のストアビューにマウスポインターを合わせ、
アイコンをクリックしてから、[削除] をクリックします。

参考
データビューを管理する API オペレーションの詳細については、以下をご参照ください。