Azure Monitor でのログ クエリ
Azure Monitor ログは Azure Data Explorer を基盤としており、ログ クエリは同じ Kusto 照会言語 (KQL) を使って作成します。 このリッチ言語は、読みやすく、簡単に作成できるよう設計されているため、いくつかの基本的なガイダンスを使ってクエリの作成を開始できます。
Azure Monitor でクエリを使う領域は次のとおりです。
- Log Analytics: Azure portal のこの主要なツールを使ってログ クエリを編集し、その結果を対話形式で分析します。 Azure Monitor の他の場所でログ クエリを使う場合でも、通常は Log Analytics で作成してテストしてから最終的な場所にコピーします。
- ログ検索アラート ルール: ワークスペースのデータから問題を事前に特定します。 各警告ルールは、定期的に自動実行されるログ クエリに基づいています。 結果を検査することで、警告を作成するかどうかが決まります。
- ブック: さまざまな視覚化を使ったログ クエリの結果を、Azure portal の対話形式のビジュアル レポートに含めます。
- Azure ダッシュボード: クエリの結果は Azure ダッシュボードにピン留めすることができます。これにより、ログ データとメトリック データをまとめて視覚化し、必要に応じて、他の Azure ユーザーと共有することができます。
- Azure Logic Apps: ロジック アプリ ワークフローを使って、自動ワークフローでログ クエリの結果を使います。
- PowerShell: コマンド ラインまたは
Invoke-AzOperationalInsightsQuery
を使う Azure Automation Runbook からのログ クエリの結果を、PowerShell スクリプトで使います。 - Log Analytics クエリ API: 任意の REST API クライアントからワークスペースからログ データを取得します。 API 要求には Azure Monitor に対して実行するクエリが含まれており、これにより取得するデータを決定します。
- Azure Monitor クエリ クライアント ライブラリ: 次のエコシステム用の慣用的なクライアント ライブラリを使って、ワークスペースからログ データを取得します。
-
Python 用 Azure Monitor クエリ クライアント ライブラリを実装する方法の例については、「ノートブックを使用して Azure Monitor ログのデータを分析する」を参照してください。
作業開始
KQL を使ってログ クエリを作成するための学習を開始するのに最適な方法は、使用可能なチュートリアルとサンプルを使うことです。
- Log Analytics チュートリアル: Log Analytics (Azure portal でクエリを編集および実行するために使うツール) の機能の使用に関するチュートリアルです。 これを使用すると、クエリ言語を直接操作することなく、単純なクエリを記述することもできます。 以前に Log Analytics を使ったことがない場合は、ここから開始して、他のチュートリアルやサンプルで使うツールについて理解してください。
- KQL チュートリアル: 基本的な KQL の概念と一般的な演算子に関するガイド付きチュートリアルです。 これは、言語自体とログ クエリの構造をすばやく理解するのに最適な場所です。
- クエリの例: Log Analytics で使用できるサンプル クエリの説明。 クエリは、変更せずに使用することも、KQL を学習するためのサンプルとして使用することもできます。
リファレンス ドキュメント
すべてのコマンドと演算子のリファレンスを含む KQL のドキュメントは、Azure Data Explorer のドキュメントで入手できます。 KQL の使用に習熟している場合でも、これまでに使ったことのない新しいコマンドやシナリオを調べるために定期的にリファレンスを使うことになります。
言語の相違点
Azure Monitor では Azure Data Explorer と同じ KQL が使われていますが、いくつかの違いがあります。 KQL のドキュメントには、Azure Monitor でサポートされていない、または機能が異なる演算子が明記されます。 Azure Monitor 固有の演算子は、Azure Monitor のコンテンツに記載されています。 以降のセクションでは、クイック リファレンスの言語のバージョン間の違いの一覧を示します。
Azure Monitor でサポートされていないステートメント
Azure Monitor でサポートされていない関数
- cluster()
- cursor_after()
- cursor_before_or_at()
- cursor_current(), current_cursor()
- database()
- current_principal()
- extent_id()
- extent_tags()
Azure Monitor でサポートされていない演算子
Azure Monitor でサポートされていないプラグイン
Azure Monitor のその他の演算子
以下の演算子は、Azure Monitor の特定の機能をサポートしており、Azure Monitor の外部では使用できません。
次のステップ
- クエリの作成に関するチュートリアルを進めます。
- 完全な KQL のリファレンス ドキュメントにアクセスします。