Log Analytics のチュートリアル

Log Analytics は、Azure Monitor ログによって収集されたデータからログ クエリを編集して実行し、その結果を対話形式で分析する Azure portal のツールです。 Log Analytics クエリを使用すると、特定の条件に一致するレコードの取得、傾向の特定、パターンの分析を行って、データに関するさまざまな分析情報を入手できます。

このチュートリアルでは、Log Analytics インターフェイスについて紹介し、いくつかの基本的なクエリの使用法を説明し、結果を操作する方法を示します。 学習内容は次のとおりです。

  • ログ データのスキーマを確認します。
  • 単純なクエリを記述して実行し、クエリの時間範囲を変更します。
  • クエリ結果のフィルター処理、並べ替え、グループ化を行います。
  • クエリ結果のビジュアルの表示、変更、共有を行います。
  • クエリと結果の読み込み、エクスポート、コピーを行います。

重要

このチュートリアルでは、Log Analytics 機能を使用して 1 つのクエリを作成し、別のサンプル クエリを使用します。 クエリの構文を学習し、クエリ自体の直接編集を開始する準備ができたら、Kusto クエリ言語のチュートリアルをお読みください。 そのチュートリアルでは、Log Analytics 内で編集して実行できるサンプル クエリについて説明しています。 これは、このチュートリアルで学習する機能のいくつかを使用しています。

前提条件

このチュートリアルでは、サンプル クエリをサポートしているサンプル データが豊富に含まれている Log Analytics のデモ環境を使用します。 ご自分の Azure サブスクリプションを使用することもできますが、同じテーブルにデータが含まれていない場合があります。

Note

Log Analytics には、シンプルと KQL という 2 つのモードがあります。 このチュートリアルでは、KQL モードについて説明します。 シンプル モードの詳細については、「Log Analytics シンプル モード (プレビュー) を使用するデータ分析」を参照してください。

Log Analytics を開く

Log Analytics のデモ環境を開くか、ご自分のサブスクリプションの Azure Monitor メニューから [ログ] を選択します。 この手順により、初期のスコープが Log Analytics ワークスペースに設定されるため、クエリではそのワークスペース内のすべてのデータから選択されます。 Azure リソースのメニューから [ログ] を選択した場合、スコープはそのリソースのレコードのみに設定されます。 スコープの詳細については、ログ クエリのスコープに関するページを参照してください。

スコープは、アクティブなクエリ タブの名前の下にあるログ エクスペリエンスの左上隅で確認できます。独自の環境を使用している場合は、別のスコープを選択するオプションが表示されます。 このオプションはデモ環境では使用できません。

デモ用の Log Analytics スコープを示すスクリーンショット。

テーブル情報の表示

画面の左側には [テーブル] タブがあり、現在のスコープで使用できるテーブルを調べることができます。 これらのテーブルは、既定でソリューション別にグループ化されていますが、グループを変更したり、フィルター処理したりできます。

ログ管理ソリューションを展開し、AppRequests テーブルを見つけます。 テーブルを展開してそのスキーマを表示するか、その名前にマウス ポインターを合わせると、それに関する追加情報が表示されます。

テーブル ビューを示すスクリーンショット。

  • [役に立つリンク] の下のリンクを選択して (この例では AppRequests)、各テーブルとその列について記述しているテーブル リファレンスに移動します。

  • テーブル内にある最近の数件のレコードを簡単に確認するには、 [データのプレビュー] を選択します。 このプレビューは、クエリの実行に使用するデータが想定しているものであることを確認するのに役立ちます。

AppRequests テーブルのプレビュー データを示すスクリーンショット。

クエリを記述する

AppRequests テーブルを使用してクエリを記述してみましょう。 名前をダブルクリックするか、その上にマウス ポインターを置き、[エディターで使用] をクリックして、これをクエリ ウィンドウに追加します。 ウィンドウに直接入力することもできます。 現在のスコープ内のテーブルの名前と Kusto 照会言語 (KQL) コマンドを補完する IntelliSense を使用することもできます。

これは、記述できる最も単純なクエリです。 テーブル内にあるすべてのレコードを返します。 これを実行するには、[実行] ボタンを選択するか、クエリ テキスト内の任意の場所にカーソルを置いて Shift + Enter キーを押します。

クエリ結果を示すスクリーンショット。

ご覧のように、結果が表示されます。 クエリによって返されるレコードの数が右下隅に表示されます。 Log Analytics ポータル エクスペリエンスで取得できる結果の最大数は 30,000 です。

時間の範囲

すべてのクエリで、設定された時間範囲以内に生成されたレコードが返されます。 既定では、クエリからは過去 24 時間で生成されたレコードが返されます。

クエリで where 演算子を使用すると、別の時間範囲を設定できます。 画面の上部にある [時間範囲] ドロップダウン リストを使用することもできます。

[時間範囲] ドロップダウンから [過去 12 時間] を選択し、クエリの時間範囲を変更しましょう。 [実行] を選択すると、結果が返されます。

注意

[時間範囲] ドロップダウンを使用して時間範囲を変更しても、クエリ エディターのクエリは変更されません。

[時間の範囲] を示すスクリーンショット。

Multiple filters

別のフィルター条件を追加して、結果をさらに減らしてみましょう。 クエリには、必要なレコードのセットを正確に対象とするために、任意の数のフィルターを含めることができます。 [テーブル] タブがアクティブな画面の左側で、代わりに [フィルター] タブを選択します。 見つからない場合は、省略記号をクリックして他のタブを表示します。

[フィルター] タブで、[古いフィルターの読み込み] を選択し、各フィルターの上位 10 個の値を表示します。

[クエリ] タブと古いフィルターを読み込むオプションを示すスクリーンショット。

[名前] の下で [Get Home/Index] を選択した後、[適用と実行] をクリックします。

複数のフィルターを使用したクエリ結果を示すスクリーンショット。

分析結果

Log Analytics は、クエリの記述と実行を支援するだけでなく、結果を操作するための機能も提供します。 まず、レコードを展開し、行の左側にあるシェブロンをクリックして、すべての列の値を表示します。

検索結果で展開されたレコードを示すスクリーンショット。

任意の列で結果を並べ替えるには、その列の名前を選択します。 フィルターの条件を指定するには、横にあるフィルター アイコンを選択します。 このアクションは、クエリを再度実行するとこのフィルターがクリアされる点を除いて、クエリ自体にフィルター条件を追加するのと似ています。 対話型分析の一部としてレコードのセットをすばやく分析する場合は、この方法を使用します。

[DurationMs] 列にフィルターを設定して、レコードを 150 ミリ秒を超えるレコードに限定します。

  1. 結果テーブルでは、Excel と同様のフィルター処理が可能です。 [名前] 列ヘッダーの省略記号を選択します。
  2. [すべて選択] のチェックを外した後、[Get Home/Index] を検索してこれにチェックを入れます。 フィルターは結果に自動的に適用されます。

クエリ結果のフィルターを示すスクリーンショット。

クエリ結果の検索

結果ペインの右上にある検索ボックスを使用して、クエリ結果を検索してみましょう。

クエリ結果の検索ボックスに「Chicago」と入力します。矢印を選択すると、検索結果内のこの文字列のすべてのインスタンスを確認できます。

結果ウィンドウの右上にある検索ボックスを示すスクリーンショット。

データの再構成と集計

データをより適切に視覚化するために、ニーズに基づいてクエリ結果のデータを再構成して集計することができます。

結果ペインの右側にある[列] を選択して、[列] サイドバーを開きます。

結果ウィンドウの右側にある [列] リンクを示すスクリーンショット。このリンクを選択して [列] サイドバーを開きます。

サイド バーには、利用可能なすべての列の一覧が表示されます。 [Url] 列を [行グループ] セクションにドラッグします。 これで、結果がその列によって整理され、各グループを折りたたんで分析しやすくすることができます。 このアクションはクエリにフィルター条件を追加するのと似ていますが、サーバーからデータを再フェッチする代わりに、元のクエリから返されたデータを処理します。 クエリを再実行すると、Log Analytics は元のクエリに基づいてデータを取得します。 対話型分析の一部としてレコードのセットをすばやく分析する場合は、この方法を使用します。

URL でグループ化されたクエリ結果を示すスクリーンショット。

ピボット テーブルを作成する

ページのパフォーマンスを分析するには、ピボット テーブルを作成します。

[列] サイドバーで、[ピボット モード] を選択します。

[Url][DurationMs] を選択して、各 URL へのすべての呼び出しの合計時間を表示します。

各 URL の最大呼び出し時間を表示するには、[sum(DurationMs)]>[max] を選択します。

ピボット モードを有効にし、URL と DurationMS の値に基づいてピボット テーブルを構成する方法を示すスクリーンショット。

次に、結果ペインで [max(DurationMs)] 列を選択して、最長の最大呼び出し時間で結果を並び替えます。

[クエリ結果] ペインが DurationMS の最大値で並べ替えられているスクリーンショット。

グラフの操作

グラフで表示できる数値データを使用するクエリを見てみましょう。 クエリを作成する代わりに、クエリの例を選択します。

左側のペインで、 [クエリ] を選択します。 このペインには、クエリ ウィンドウに追加できるクエリの例が含まれています。 独自のワークスペースを使用している場合は、複数のカテゴリのさまざまなクエリが表示されるはずです。

[アプリケーション] カテゴリの [関数エラー率] クエリをエディターに読み込みます。 これを行うには、クエリをダブルクリックするか、クエリ名にマウス ポインターを置いて詳細情報を表示した後、[エディターへの読み込み] を選択します。

クエリに関する情報を示すスクリーンショット。

新しいクエリは他と空白行で区切られることに注意してください。 KQL のクエリは、空白行を検出すると終了し、それらは個別のクエリとなります。

新しいクエリを示すスクリーンショット。

クエリ内の任意の場所をクリックして選択した後、[実行] ボタンをクリックして実行します。

クエリ結果テーブルを示すスクリーンショット。

結果をグラフで表示するには、結果ペインで [グラフ] を選択します。 別の種類への変更など、グラフを操作するためのさまざまなオプションがあることに注意してください。

クエリ結果のグラフを示すスクリーンショット。

次のステップ

Log Analytics の使用方法を学んだので、次はログ クエリの使用に関するチュートリアルを完了してください。