ビジネスシナリオでは、データはSimple Log Serviceプロジェクトの異なるLogstoreまたはMetricstore、または異なるリージョンのプロジェクトに保存される場合があります。 Storeviewsを使用して、LogstoreまたはMetricstore間およびリージョン間でデータの関連クエリを実行できます。 これは作業効率の向上に役立ちます。 このトピックでは、LogstoreのStoreviewsとMetricstoreのStoreviewsを使用する方法について説明します。
ストアビューの概要
Storeviews、Logstore、およびMetricstoreは、Simple Log Serviceプロジェクトの重要なリソースです。 ストアビューは、データの格納に使用されるエンティティリソースではありません。 Storeviewは、LogstoreとMetricstoreに基づいて作成され、LogstoreまたはMetricstore間の関係を管理および保存するために使用される仮想リソースです。 Storeviewsを使用して、さまざまなLogstoreまたはMetricstore内のデータに対して関連付けられたクエリを実行できます。 Storeviewsを使用してデータを変更することはできません。 Storeviewsは、LogstoreのStoreviewsとMetricstoreのStoreviewsに分類できます。 Storeviews for Logstoreを使用して、さまざまなLogstore内のデータをクエリおよび分析し、Simple Log Service Processing Language (SPL) 構文に基づいて関連するLogstoreを事前定義できます。 Storeviews for Metricstoreは、異なるMetricstoreのデータをクエリする場合にのみ使用できます。
LogstoreのStoreviewsまたはMetricstoreのStoreviewsを使用して、異なるLogstoreまたはMetricstoreのデータに対して関連付けられたクエリを実行できます。 この例では、年齢フィールドはLogstore 1とLogstore 2に含まれ、2つのLogstoreはStoreview 1に関連付けられています。 Storeview 1のageフィールドの値を照会すると、Logstore 1およびLogstore 2のageフィールドの値が返されます。
権限
RAM (Resource Access Management) ユーザーまたはRAMロールとしてStoreviewsを使用する場合、RAMユーザーまたはRAMロールに必要な権限が必要です。 Alibaba Cloudアカウントを使用してRAMユーザーまたはRAMロールに権限を付与する方法の詳細については、「RAMユーザーを作成し、RAMユーザーにSimple Log Serviceへのアクセスを許可する」、「信頼できるエンティティがAlibaba CloudサービスであるRAMロールを作成し、RAMロールにSimple Log serviceへのアクセス権限を付与する」をご参照ください。信頼できるエンティティがAlibaba CloudアカウントであるRAMロールを作成し、RAMロールにSimple Log Serviceにアクセスする権限を付与します。
システムポリシーまたはカスタムポリシーをRAMユーザーにアタッチできます。
システムポリシー: すべてのシステムポリシーはAlibaba Cloudによって作成および更新されます。 システムポリシーは使用できますが、システムポリシーは変更できません。
RAMユーザーにSimple Log Serviceの読み取り専用権限を付与するポリシー: AliyunLogReadOnlyAccess
RAMユーザーにSimple Log Serviceの管理権限を付与するポリシー: AliyunLogFullAccess
カスタムポリシー: ビジネス要件に基づいてカスタムポリシーを作成、変更、削除、および更新できます。
Storeviewを作成したり、Storeview内のデータをRAMユーザーまたはRAMロールとして照会したりする場合、RAMユーザーまたはRAMロールには、Storeview内のすべての関連するLogstoreまたはMetricstoreでGetLogs操作を呼び出す権限が必要です。 権限を付与するには、次のポリシードキュメントをカスタムポリシーに追加する必要があります。
重要カスタムポリシーを作成するときは、Logstoreキーワードの後にLogstoreまたはMetricstoreを指定できます。 次のポリシーを参照してMetricstoreを管理することもできます。
カスタムポリシーで使用されるStoreviewは、LogstoreのStoreviewまたはMetricstoreのStoreviewです。
{ "Version": "1", "Statement": [ { "Action": "log:GetLogStoreLogs", "Resource":[ "acs:log:*:*:project/${projectName}/Logstore/*", "acs:log:*:*:project/${projectName}/storeview/*" ], "Effect": "Allow" } ] }
制限事項
Simple Log Serviceプロジェクトで、LogstoreのStoreviewsまたはMetricstoreのStoreviewsを最大10個作成できます。
最大50個のLogstoreをStoreview for Logstoreに関連付けることができます。 最大50個のMetricstoreをStoreview for Metricstoreに関連付けることができます。
Storeview for LogstoreのすべてのLogstoreまたはStoreview for MetricstoreのすべてのMetricstoreは、同じAlibaba Cloudアカウントに属している必要があります。
サポートされるリージョン
次のリージョンで、クエリ、分析、および事前定義の各機能を使用できます。 その他のリージョンでは、クエリ機能のみを使用できます。 クエリ機能と分析機能の違いの詳細については、「ログクエリと分析の概要」をご参照ください。
中国 (杭州) | タイ (バンコク) |
中国 (北京) | フィリピン (マニラ) |
中国 (深セン) | 韓国 (ソウル) |
事前定義
コンセプト
LogstoreのStoreviewを作成するときに、SPL構文に基づいてLogstoreのStoreviewで関連するLogstoreを事前定義できます。 拡張と場所の指示のみを使用できます。 詳細については、「extend」と「where」をご参照ください。 事前定義機能は、データのフィルタリングや集計と分析のキーの不一致などのシナリオで使用できます。 集計と分析では、集計するフィールドのキーが同じである必要があります。 たとえば、Logstore 1のa
フィールドとLogstore 2のb
フィールドを集約する場合、同じキーを使用するには、SPLステートメントでextend a = b
を指定する必要があります。
制限事項
LogstoreのStoreviewsは、事前定義機能をサポートしています。 MetricstoreのStoreviewsは、事前定義機能をサポートしていません。
サポートされる指示
LogstoreのStoreviewsで事前定義機能を使用する場合は、extendとwhereの手順を使用できます。 詳細については、「extend」と「where」をご参照ください。
SQLおよびSPLでサポートされている関数の詳細については、「関数の概要」をご参照ください。
例
LogstoreのStoreviewを作成または変更する方法の詳細については、「LogstoreのStoreviewの作成」をご参照ください。
たとえば、Logstore 1のa
フィールドとLogstore 2のb
フィールドを集約する場合は、同じキーを使用するようにStoreviewを作成または変更するときに、SPLステートメントでextend a = b
を指定する必要があります。
例 1
* | a>1
SPLステートメントは、StoreviewのLogstore 1に指定して、a
フィールドの値が1より大きいログを照会します。 返されたログは、その後の分析に使用されます。
例 2
* | extend b = a
SPLステートメントは、StoreviewのLogstore 1に指定して、値がa
フィールドの値と同じb
フィールドを集計用にLogstore 1に追加します。
クエリ
LogstoreのStoreview
LogstoreのStoreviewsを使用して、Logstore間でデータをクエリできます。 この例では、logstore-1とlogstore-2という名前の2つのLogstoreがStoreview for Logstoreに関連付けられ、request_method
フィールドが2つのLogstoreに含まれています。 クエリステートメント (request_method:GETまたはrequest_method:POST) とstatus in [200 299]
を実行すると、クエリステートメントで指定された条件に一致する2つのログストアのログが返されます。 LogstoreのStoreviewsを使用してデータをクエリする方法の詳細については、「クエリ構文と関数」をご参照ください。
この例では、同じログを含む2つのLogstoreがStoreview for Logstoreに関連付けられています。 キーワードでログを照会すると、キーワードを含む2つのログストアのログが返されます。 タグフィールドに基づいてログのソースを特定できます。
MetricstoreのStoreview
Storeviews for Metricstoreを使用して、Metricstore間でデータをクエリできます。 この例では、metricstore1とmetricstore2という名前の2つのMetricstoresがStoreview for Metricstoreに関連付けられています。 検索ボックスでPromQLステートメントを指定すると、バックエンドコンピューティングエンジンは自動的にMetricstores間のデータを計算します。 MetricstoreのStoreviewsを使用してデータをクエリする方法の詳細については、「メトリックデータのクエリと分析の概要」をご参照ください。 MetricstoreのStoreviewを作成または変更する方法の詳細については、「Metricstores間のデータのクエリ」をご参照ください。
MetricstoreのStoreviewsはPromQLクエリをサポートしています。 MetricstoreのStoreviewsは、SQLクエリ、分析、および事前定義機能をサポートしていません。
分析
コンセプト
Storeviewsを使用して、LogstoreまたはMetricstore間でデータを集計および分析できます。 この例では、logstore-1とlogstore-2という名前の2つのLogstoreがLogstoreのStoreviewに関連付けられ、2つの
Logstoreにフィールドが含まれています。 * | select a, count(1) group by a
クエリステートメントを実行すると、aフィールドを含むログが返されます。
集計と分析では、集計するフィールドのキーが同じである必要があります。 フィールドの値が同じでキーが異なる場合は、データをフィルタリングしてキーの名前を変更できます。 詳細については、「事前定義」をご参照ください。
制限事項
LogstoreのStoreviewsは分析機能をサポートしています。 MetricstoreのStoreviewsは分析機能をサポートしていません。
サポートされる関数
SQLおよびSPLでサポートされている関数の詳細については、「関数の概要」をご参照ください。
例
例 1
この例では、同じサービスの異なるLogstoreがStoreview for Logstoreに関連付けられており、Logstoreには同じログが含まれています。 この場合、Logstoreのインデックス設定が同じかどうかを確認してください。 Logstoreにフルテキストインデックスが設定されている場合、または指定されたフィールドインデックスに同じ設定が設定されている場合は、LogstoreをLogstoreのStoreviewに追加します。
LogstoreのStoreviewを作成した後、SQL文を指定してデータを分析できます。 次の図では、クエリステートメントの結果は、過去15分以内の2つのLogstoreのstatus
フィールドの値です。
例 2
この例では、同じサービスの異なるLogstoreがStoreview for Logstoreに関連付けられており、Logstoreには異なる名前のログフィールドが含まれています。 この場合、事前定義機能を使用し、フィールドに同じ名前を使用するようにSPLステートメントを指定できます。 次の図では、* | extend request_method = method
SPLステートメントを実行して、method
フィールドrequest_method
の名前を変更します。 [データのプレビュー] をクリックすると、事前定義操作の結果をプレビューできます。
クエリと分析には、request_method
フィールド名を使用できます。
ストアビューとストアの違い
特徴 | LogstoreまたはMetricstore | Storeview |
クイック分析 | 対応 | 対応 |
チャート | 対応 | 対応 |
ダッシュボード | 対応 | 対応 |
ログダウンロード | 対応 | 対応 |
クイック検索 | 対応 | 非対応 |
スケジュールされたSQL | 対応 | 非対応 |
アラート | 対応 | 非対応 |
ログのクラスタリング | 対応 | 非対応 |
フィールド分析 | 対応 | 非対応 |