Log Analytics のチュートリアルLog Analytics tutorial

Log Analytics は、Azure Monitor ログによって収集されたデータからログ クエリを編集して実行し、その結果を対話形式で分析する Azure portal のツールです。Log Analytics is a tool in the Azure portal to edit and run log queries from data collected by Azure Monitor Logs and interactively analyze their results. Log Analytics クエリを使用すると、特定の条件に一致するレコードの取得、傾向の特定、パターンの分析を行って、データに関するさまざまな分析情報を入手できます。You can use Log Analytics queries to retrieve records matching particular criteria, identify trends, analyze patterns, and provide a variety of insights into your data.

このチュートリアルでは、Log Analytics インターフェイスについて紹介し、いくつかの基本的なクエリの使用法を説明し、結果を操作する方法を示します。This tutorial walks you through the Log Analytics interface, gets you started with some basic queries, and shows you how you can work with the results. 学習内容は次のとおりです。You will learn the following:

  • ログ データのスキーマの確認Understand the log data schema
  • 単純なクエリの記述と実行、クエリの時間範囲の変更Write and run simple queries, and modify the time range for queries
  • クエリ結果のフィルター処理、並べ替え、グループ化Filter, sort, and group query results
  • クエリ結果のビジュアルの表示、変更、共有View, modify, and share visuals of query results
  • クエリと結果の読み込み、エクスポート、コピーLoad, export, and copy queries and results

重要

このチュートリアルでは、クエリ自体を操作するのではなく、Log Analytics の機能を使用してクエリを作成して実行します。This tutorial uses features of Log Analytics to build and run a query instead of working with the query itself. Log Analytics の機能を活用して、1 つのクエリを作成し、別のサンプル クエリを使用します。You'll leverage Log Analytics features to build one query and use another example query. クエリの構文を学習し、クエリ自体の直接編集を開始する準備ができたら、Kusto クエリ言語のチュートリアルを完了してください。When you're ready to learn the syntax of queries and start directly editing the query itself, go through the Kusto Query Language tutorial. そのチュートリアルでは、このチュートリアルで学習するいくつかの機能を利用して、Log Analytics 内で編集して実行できるいくつかのサンプル クエリについて説明しています。That tutorial walks through several example queries that you can edit and run in Log Analytics, leveraging several of the features that you'll learn in this tutorial.

前提条件Prerequisites

このチュートリアルでは、サンプル クエリをサポートしているサンプル データが豊富に含まれている Log Analytics のデモ環境を使用します。This tutorial uses the Log Analytics demo environment, which includes plenty of sample data supporting the sample queries. ご自分の Azure サブスクリプションを使用することもできますが、同じテーブルにデータが含まれていない場合があります。You can also use your own Azure subscription, but you may not have data in the same tables.

Log Analytics を開くOpen Log Analytics

Log Analytics のデモ環境を開くか、ご自分のサブスクリプションの Azure Monitor メニューから [ログ] を選択します。Open the Log Analytics demo environment or select Logs from the Azure Monitor menu in your subscription. これにより、初期のスコープが Log Analytics ワークスペースに設定されます。これは、クエリがそのワークスペース内のすべてのデータから選択することを意味します。This will set the initial scope to a Log Analytics workspace meaning that your query will select from all data in that workspace. Azure リソースのメニューから [ログ] を選択した場合、スコープはそのリソースのレコードのみに設定されます。If you select Logs from an Azure resource's menu, the scope is set to only records from that resource. スコープの詳細については、ログ クエリのスコープに関するページを参照してください。See Log query scope for details about the scope.

スコープは、画面の左上隅で確認できます。You can view the scope in the top left corner of the screen. ご自分の環境を使用している場合は、別のスコープを選択するオプションが表示されますが、このオプションはデモ環境では使用できません。If you're using your own environment, you'll see an option to select a different scope, but this option isn't available in the demo environment.

クエリ スコープQuery scope

テーブル スキーマTable schema

画面の左側には [テーブル] タブがあり、現在のスコープで使用できるテーブルを調べることができます。The left side of the screen includes the Tables tab which allows you to inspect the tables that are available in the current scope. 既定では ソリューション 別にグループ化されていますが、グループを変更したり、フィルター処理したりできます。These are grouped by Solution by default, but you change their grouping or filter them.

Log Management ソリューションを展開し、AzureActivity テーブルを見つけます。Expand the Log Management solution and locate the AzureActivity table. テーブルを展開してそのスキーマを表示するか、その名前にマウス ポインターを合わせると、それに関する追加情報が表示されます。You can expand the table to view its schema, or hover over its name to show additional information about it.

テーブル ビューTables view

各テーブルとその列を示すテーブル参照にアクセスするには、 [詳細情報] をクリックします。Click Learn more to go to the table reference that documents each table and its columns. テーブル内にある最近の数件のレコードを簡単に確認するには、 [データのプレビュー] をクリックします。Click Preview data to have a quick look at a few recent records in the table. これは、クエリを実際に実行する前に、使用するデータが想定しているものであることを確認するのに役立ちます。This can be useful to ensure that this is the data that you're expecting before you actually run a query with it.

サンプル データSample data

クエリを記述するWrite a query

AzureActivity テーブルを使用してクエリを記述してみましょう。Let's go ahead and write a query using the AzureActivity table. その名前をダブルクリックして、クエリ ウィンドウに追加します。Double-click its name to add it to the query window. ウィンドウに直接入力することもできます。IntelliSense が現在のスコープ内のテーブル名と KQL コマンドを補完します。You can also type directly in the window and even get intellisense that will help complete the names of tables in the current scope and KQL commands.

これは、記述できる最も単純なクエリです。This is the simplest query that we can write. テーブル内にあるすべてのレコードを返します。It just returns all the records in a table. これを実行するには、 [実行] ボタンをクリックするか、クエリ テキスト内の任意の場所にカーソルを置いて Shift + Enter キーを押します。Run it by clicking the Run button or by pressing Shift+Enter with the cursor positioned anywhere in the query text.

Query resultsQuery results

ご覧のように、結果が表示されます。You can see that we do have results. クエリによって返されたレコード数が右下隅に表示されます。The number of records returned by the query is displayed in the bottom right corner.

フィルターFilter

クエリにフィルターを追加して、返されるレコードの数を減らしてみましょう。Let's add a filter to the query to reduce the number of records that are returned. 左側のペインにある [フィルター] タブを選択します。Select the Filter tab in the left pane. これにより、結果をフィルター処理するために使用できる、クエリ結果内のさまざまな列が表示されます。This shows different columns in the query results that you can use to filter the results. これらの列内の上位の値が、その値を含むレコードの数と共に表示されます。The top values in those columns are displayed with the number of records with that value. [CategoryValue] の下にある [Administrative][Apply & Run](適用して実行) の順にクリックします。Click on Administrative under CategoryValue and then Apply & Run.

クエリ ペインQuery pane

where ステートメントが、選択した値と共にクエリに追加されます。A where statement is added to the query with the value you selected. 結果にはその値を含むレコードだけが含まれているので、ご覧のように、レコード数が減少しています。The results now include only those records with that value so you can see that the record count is reduced.

フィルター処理されたクエリ結果Query results filtered

時間の範囲Time range

Log Analytics ワークスペース内のすべてのテーブルには、TimeGenerated という名前の列があります。これは、レコードが作成された時刻です。All tables in a Log Analytics workspace have a column called TimeGenerated which is the time that the record was created. すべてのクエリには時間の範囲があり、結果は TimeGenerated 値がその範囲内のレコードに制限されます。All queries have a time range that limits the results to records with a TimeGenerated value within that range. 時間の範囲は、クエリ内で、または画面の上部にあるセレクターを使用して設定できます。The time range can either be set in the query or with the selector at the top of the screen.

既定では、このクエリは過去 24 時間のレコードを返します。By default, the query will return records form the last 24 hours. [時間の範囲] ドロップダウンを選択し、 [7 日] に変更します。Select the Time range dropdown and change it to 7 days. [実行] をもう一度クリックすると、結果が返されます。Click Run again to return the results. ご覧のように、結果が返されますが、ここにはすべての結果が表示されていないという旨のメッセージが表示されています。You can see that results are returned, but we have a message here that we're not seeing all of the results. これは、Log Analytics が最大 10,000 件のレコードを返すことができ、このクエリから返されたレコードの数がそれよりも多いためです。This is because Log Analytics can return a maximum of 10,000 records, and our query returned more records than that.

時間の範囲Time range

複数のクエリ条件Multiple query conditions

別のフィルター条件を追加して、結果をさらに減らしてみましょう。Let's reduce our results further by adding another filter condition. クエリには、必要なレコードのセットを正確に対象とするために、任意の数のフィルターを含めることができます。A query can include any number of filters to target exactly the set of records that you want. [ActivityStatusValue] の下にある [Success] を選択し、 [Apply & Run](適用して実行) をクリックします。Select Success under ActivityStatusValue and click Apply & Run.

クエリ結果の複数のフィルターQuery results multiple filters

分析結果Analyze results

Log Analytics は、クエリの記述と実行を支援するだけでなく、結果を操作するための機能も提供します。In addition to helping you write and run queries, Log Analytics provides features for working with the results. まず、レコードを展開すると、すべての列の値が表示されます。Start by expanding a record to view the values for all of its columns.

レコードの展開Expand record

任意の列の名前をクリックすると、その列で結果が並べ替えられます。Click on the name of any column to sort the results by that column. フィルター条件を指定するには、その横にあるフィルター アイコンをクリックします。Click on the filter icon next to it to provide a filter condition. これは、クエリを再度実行するとこのフィルターがクリアされる点を除いて、クエリ自体にフィルター条件を追加するのと似ています。This is similar to adding a filter condition to the query itself except that this filter is cleared if the query is run again. 対話型分析の一部としてレコードのセットをすばやく分析する場合は、この方法を使用します。Use this method if you want to quickly analyze a set of records as part of interactive analysis.

たとえば、レコードを 1 つの呼び出し元に制限するには、CallerIpAddress 列にフィルターを設定します。For example, set a filter on the CallerIpAddress column to limit the records to a single caller.

クエリ結果のフィルターQuery results filter

結果をフィルター処理する代わりに、特定の列でレコードをグループ化することができます。Instead of filtering the results, you can group records by a particular column. 作成したフィルターをクリアしたら、 [列のグループ化] スライダーをオンにします。Clear the filter that you just created and then turn on the Group columns slider.

[列のグループ化]Group columns

次に、CallerIpAddress 列をグループ行にドラッグします。Now drag the CallerIpAddress column into the grouping row. これで、結果がその列によって整理され、各グループを折りたたんで分析しやすくすることができます。Results are now organized by that column, and you can collapse each group to help you with your analysis.

クエリ結果のグループ化Query results grouped

グラフの操作Work with charts

グラフで表示できる数値データを使用するクエリを見てみましょう。Let's have a look at a query that uses numerical data that we can view in a chart. クエリを作成する代わりに、クエリの例を選択します。Instead of building a query, we'll select an example query.

左側のペインで、 [クエリ] をクリックします。Click on Queries in the left pane. このペインには、クエリ ウィンドウに追加できるクエリの例が含まれています。This pane includes example queries that you can add to the query window. ご自分のワークスペースを使用している場合は複数のカテゴリにさまざまなクエリが表示されますが、デモ環境を使用している場合は 1 つの [Log Analytics workspaces](Log Analytics ワークスペース) カテゴリのみが表示されます。If you're using your own workspace, you should have a variety of queries in multiple categories, but if you're using the demo environment, you may only see a single Log Analytics workspaces category. それを展開して、カテゴリ内のクエリを表示します。Expand that to view the queries in the category.

[Request Count by ResponseCode](ResponseCode 別の要求数) というクエリをクリックします。Click on the query called Request Count by ResponseCode. これにより、クエリがクエリ ウィンドウに追加されます。This will add the query to the query window. 新しいクエリは他と空白行で区切られることに注意してください。Notice that the new query is separated from the other by a blank line. KQL のクエリは空白行を検出すると終了します。そのため、これらは別個のクエリとして認識されます。A query in KQL ends when it encounters a blank line, so these are seen as separate queries.

[新しいクエリ]New query

カーソルが配置されているのが現在のクエリです。The current query is the one that the cursor is positioned on. ご覧のように、先頭のクエリが強調表示され、それが現在のクエリであることを示しています。You can see that the first query is highlighted indicating it's the current query. 新しいクエリ内の任意の場所をクリックして選択し、 [実行] ボタンをクリックして実行します。Click anywhere in the new query to select it and then click the Run button to run it.

クエリ結果のグラフQuery results chart

この出力は、前回のクエリのようなテーブルではなく、グラフであることに注意してください。Notice that this output is a chart instead of a table like the last query. これは、このクエリの例では最後に render コマンドを使用しているためです。That's because the example query uses a render command at the end. 別の種類への変更など、グラフを操作するためのさまざまなオプションがあることに注意してください。Notice that there are various options for working with the chart such as changing it to another type.

[結果] を選択してみてください。クエリの出力がテーブルとして表示されます。Try selecting Results to view the output of the query as a table.

クエリ結果のテーブルQuery results table

次の手順Next steps

Log Analytics の使用方法を学んだので、次はログ クエリの使用に関するチュートリアルを完了してください。Now that you know how to use Log Analytics, complete the tutorial on using log queries.