Azure Data Explorer で Azure Monitor からエクスポートされたデータのクエリを実行する
Azure Monitor から Azure Storage アカウントにデータをエクスポートすると、低コストのリテンション期間が有効になり、ログを別のリージョンに再割り当てすることができます。 Azure Data Explorer を使用して、Log Analytics ワークスペースからエクスポートされたデータのクエリを実行します。 構成後は、ワークスペースからストレージ アカウントに送信されるサポート対象のテーブルを、Azure Data Explorer のデータ ソースとして使用できるようになります。
プロセス フローは次のとおりです。
- Log Analytics ワークスペースからストレージ アカウントにデータをエクスポートします。
- Azure Data Explorer クラスターに外部テーブルを作成し、データ型にマッピングします。
- Azure Data Explorer からデータのクエリを実行する
Azure Storage にデータを送信する
Azure Monitor ログは、次のいずれかのオプションを使ってストレージ アカウントにエクスポートできます。
- Log Analytics ワークスペースからストレージ アカウントまたはイベント ハブにすべてのデータをエクスポートします。 Azure Monitor ログの Log Analytics ワークスペースのデータ エクスポート機能を使います。 詳細については、Azure Monitor での Log Analytics ワークスペースのデータ エクスポートに関するページを参照してください。
- ロジック アプリ ワークフローを使用したログ クエリからのスケジュールされたエクスポート。 この方法はデータ エクスポート機能に似ていますが、フィルター処理または集計されたデータを Azure Storage に送信できます。 この方法はログ クエリの制限に従います。 詳細については、「Azure Logic Apps を使用して Log Analytics ワークスペースから Azure Storage にデータをアーカイブする」を参照してください。
- ロジック アプリ ワークフローを使用したワンタイム エクスポート。 詳細については、「Azure Logic Apps の Azure Monitor Logs コネクタ」を参照してください。
- PowerShell スクリプトを使用したローカル コンピューターへのワンタイム エクスポート。 詳細については、「Invoke-AzOperationalInsightsQueryExport」を参照してください。
ヒント
既存の Azure Data Explorer クラスターを使うか、必要な構成で新しい専用クラスターを作成することができます。
Azure Data Explorerで外部テーブルを作成する
Azure Data Explorer の外部テーブルは、Azure Blob Storageや Azure Data Lake Store Gen2 など、クラスターの外部に格納されているデータを参照するスキーマ エンティティです。 テーブルと同様に、外部テーブルには定義されたスキーマがあります。 ただし、テーブルとは異なり、データはクラスターとは別に外部に格納および管理されます。
エクスポートした Azure Monitor データにアクセスするには、次の手順に従って外部テーブルを作成します。
エクスポートされたテーブルのスキーマを取得するには、Log Analytics の getschema 演算子を使用します。 この情報には、テーブルの列とそのデータ型が含まれます。
Azure Data Explorer Web UI ウィザードを使用して外部テーブルを作成します。 [ スキーマ] タブで、ツールはスキーマを自動的に検出しようとします。 検出されたスキーマが前の手順のスキーマと一致していることを確認します。 不一致がある場合は、列の矢印を選択してメニューにアクセスしてスキーマを調整します。
Azure Data Explorer からエクスポートされたデータのクエリを実行する
次の例に示すように、external_table関数を使用して Azure Data Explorerからエクスポートされたデータに対してクエリを実行します。
external_table("HBTest","map") | take 10000