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