Azure Monitor のログ クエリの概要Overview of log queries in Azure Monitor

ログ クエリは、Azure Monitor ログ内に収集されたデータの価値を最大限に活用するのに役立ちます。Log queries help you to fully leverage the value of the data collected in Azure Monitor Logs. 強力なクエリ言語により、複数のテーブルのデータを結合したり、大量のデータ セットを集約したり、最小限のコードによって複雑な操作を実行したりできます。A powerful query language allows you to join data from multiple tables, aggregate large sets of data, and perform complex operations with minimal code. 有用なデータが収集されていて、適切なクエリを作成する方法を理解していれば、ほぼすべての疑問に答えたり、分析を実行したりすることができます。Virtually any question can be answered and analysis performed as long as the supporting data has been collected, and you understand how to construct the right query.

分析情報ソリューションなど、Azure Monitor の一部の機能では、基になるクエリをユーザーに公開せずに、ログ データを処理します。Some features in Azure Monitor such as insights and solutions process log data without exposing you to the underlying queries. Azure Monitor の他の機能を十分に活用するには、クエリを作成する方法と、それを使用して Azure Monitor ログ内のデータを対話形式で分析する方法を理解する必要があります。To fully leverage other features of Azure Monitor, you should understand how queries are constructed and how you can use them to interactively analyze data in Azure Monitor Logs.

この記事は、Azure Monitor のログ クエリについて学習する際の開始点として使用してください。Use this article as a starting point to learning about log queries in Azure Monitor. よく寄せられる質問に回答し、詳細情報やレッスンを提供するその他のドキュメントへのリンクを示します。It answers common questions and provides links to other documentation that provides further details and lessons.

クエリを作成する方法はどこで学習できますか?How can I learn how to write queries?

すぐに始めたい場合、次のチュートリアルを利用して開始できます。If you want to jump right into things, you can start with the following tutorials:

基本をマスターしたら、お持ちのデータまたは Microsoft のデモ環境のデータを使用して、以下をはじめとする複数のレッスンを完了します。Once you have the basics down, walk through multiple lessons using either your own data or data from our demo environment starting with:

ログ クエリではどの言語を使用しますか?What language do log queries use?

Azure Monitor ログは Azure Data Explorer を基盤としており、ログ クエリは同じ Kusto クエリ言語 (KQL) を使用して作成します。Azure Monitor Logs is based on Azure Data Explorer, and log queries are written using the same Kusto query language (KQL). これは、読みやすく、簡単に作成できるよう設計されたリッチな言語で、最小限のガイダンスで使用を開始できます。This is a rich language designed to be easy to read and author, and you should be able to start using it with minimal guidance.

KQL に関する完全なドキュメントと使用可能なさまざまな関数のリファレンスについては、Azure Data Explorer の KQL のドキュメントを参照してください。See Azure Data Explorer KQL documentation for complete documentation on KQL and reference on different functions available.
Azure Monitor ログ内のデータを使用した言語の簡単なチュートリアルについては、「Azure Monitor でログ クエリの使用を開始する」を参照してください。See Get started with log queries in Azure Monitor for a quick walkthrough of the language using data from Azure Monitor Logs. Azure Monitor によって使用される KQL のバージョンの小さな違いについては、「Azure Monitor ログ クエリ言語の違い」を参照してください。See Azure Monitor log query language differences for minor differences in the version of KQL used by Azure Monitor.

ログ クエリでは、どのようなデータを使用できますか?What data is available to log queries?

ログ クエリでの取得と分析には、Azure Monitor ログ内に収集されたすべてのデータを使用できます。All data collected in Azure Monitor Logs is available to retrieve and analyze in log queries. さまざまなデータ ソースからさまざまなテーブルにそれぞれのデータが書き込まれますが、1 つのクエリに複数のテーブルを含めて、複数のソースをまたいでデータを分析することができます。Different data sources will write their data to different tables, but you can include multiple tables in a single query to analyze data across multiple sources. クエリを作成する場合は、最初に、どのテーブルに目的のデータが含まれているかを確認します。そうすると、Azure Monitor ログ内のデータがどのような構造になっているかについて、少なくとも基本的な理解を得ることができます。When you build a query, you start by determining which tables have the data that you're looking for, so you should have at least a basic understanding of how data in Azure Monitor Logs is structured.

Azure Monitor ログに書き込むさまざまなデータ ソースの一覧については、「Azure Monitor ログのソース」を参照してください。See Sources of Azure Monitor Logs, for a list of different data sources that populate Azure Monitor Logs.
データがどのような構造になっているかの説明については、「Azure Monitor ログの構造」を参照してください。See Structure of Azure Monitor Logs for an explanation of how the data is structured.

ログ クエリはどのようなものですか?What does a log query look like?

クエリは、1 つのテーブル名という簡単なものでは、そのテーブルからすべてのレコードを取得できます。A query could be as simple as a single table name for retrieving all records from that table:

Syslog

また、フィルターして特定のレコードを抽出し、集計して、結果をグラフで視覚化することもできます。Or it could filter for particular records, summarize them, and visualize the results in a chart:

SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID == 4625
| summarize count() by Computer, bin(TimeGenerated, 1h)
| render timechart 

さらに複雑な分析を行う場合は、結合を使用して複数のテーブルからデータを取得し、まとめて結果を分析できます。For more complex analysis, you might retrieve data from multiple tables using a join to analyze the results together.

app("ContosoRetailWeb").requests
| summarize count() by bin(timestamp,1hr)
| join kind= inner (Perf
    | summarize avg(CounterValue) 
      by bin(TimeGenerated,1hr))
on $left.timestamp == $right.TimeGenerated

KQL をよく知らなくても、これらのクエリによって使用されている基本的なロジックは少なくとも理解できると思います。Even if you aren't familiar with KQL, you should be able to at least figure out the basic logic being used by these queries. 先頭にテーブルの名前があり、その後にそのデータをフィルターして処理するコマンドが複数追加されています。They start with the name of a table and then add multiple commands to filter and process that data. クエリでは任意の数のコマンドを使用できます。使用可能なさまざまな KQL コマンドについて理解すると、より複雑なクエリを作成することができます。A query can use any number of commands, and you can write more complex queries as you become familiar with the different KQL commands available.

言語および一般的な関数について説明しているログ クエリのチュートリアルについては、「Azure Monitor でログ クエリの使用を開始する」を参照してください。See Get started with log queries in Azure Monitor for a tutorial on log queries that introduces the language and common functions, .

Log Analytics とはWhat is Log Analytics?

Log Analytics は、Azure portal 内で、ログ クエリを作成したり、その結果を対話形式で分析したりするための主要なツールです。Log Analytics is the primary tool in the Azure portal for writing log queries and interactively analyzing their results. Azure Monitor の他の場所でログ クエリを使用する場合でも、通常、まず Log Analytics を使用してクエリを作成およびテストします。Even if a log query is used elsewhere in Azure Monitor, you'll typically write and test the query first using Log Analytics.

Log Analytics は、Azure portal 内の複数の場所から起動できます。You can start Log Analytics from several places in the Azure portal. Log Analytics で使用できるデータのスコープは、起動方法によって決まります。The scope of the data available to Log Analytics is determined by how you start it. 詳しくは、「クエリ スコープ」を参照してください。See Query Scope for more details.

  • [Azure Monitor] メニューまたは [Log Analytics ワークスペース] メニューの [ログ] を選択します。Select Logs from the Azure Monitor menu or Log Analytics workspaces menu.
  • Application Insights アプリケーションの [概要] ページから [分析] を選択します。Select Analytics from the Overview page of an Application Insights application.
  • Azure リソースのメニューから [ログ] を選択します。Select Logs from the menu of an Azure resource.

Log Analytics

Log Analytics のいくつかの機能を紹介するチュートリアルについては、「Azure Monitor で Log Analytics の使用を開始する」を参照してください。See Get started with Log Analytics in Azure Monitor for a tutorial walkthrough of Log Analytics that introduces several of its features.

ログ クエリは他にどのような場合に使用しますか?Where else are log queries used?

Log Analytics でログ クエリとその結果を対話形式で操作するほかに、クエリを使用する Azure Monitor 内の領域には以下があります。In addition to interactively working with log queries and their results in Log Analytics, areas in Azure Monitor where you will use queries include the following:

  • 警告ルール。Alert rules. 警告ルールは、ワークスペースのデータの問題を事前に特定します。Alert rules proactively identify issues from data in your workspace. 各警告ルールは、定期的に自動実行されるログ検索に基づいてます。Each alert rule is based on a log search that is automatically run at regular intervals. 結果を検査することで、警告を作成するかどうかが決まります。The results are inspected to determine if an alert should be created.
  • ダッシュボード。Dashboards. クエリの結果は Azure ダッシュボードにピン留めすることができます。これにより、ログ データとメトリック データをまとめて視覚化し、必要に応じて、他の Azure ユーザーと共有することができます。You can pin the results of any query into an Azure dashboard which allow you to visualize log and metric data together and optionally share with other Azure users.
  • ビュー。Views. ユーザー ダッシュボードに含めるデータの視覚化を作成するには、ビュー デザイナーを使用します。You can create visualizations of data to be included in user dashboards with View Designer. ログ クエリによって提供されるのは、各ビューのタイルおよび視覚化パーツで使用するデータです。Log queries provide the data used by tiles and visualization parts in each view.
  • エクスポート。Export. Azure Monitor から Excel または Power BI にログ データをインポートする場合は、ログ クエリを作成して、エクスポートするデータを定義します。When you import log data from Azure Monitor into Excel or Power BI, you create a log query to define the data to export.
  • PowerShell。PowerShell. Get-AzOperationalInsightsSearchResults を使用する Azure Automation Runbook またはコマンド ラインから PowerShell スクリプトを実行して、Azure Monitor からログ データを取得できます。You can run a PowerShell script from a command line or an Azure Automation runbook that uses Get-AzOperationalInsightsSearchResults to retrieve log data from Azure Monitor. このコマンドレットでは、クエリによって、取得するデータを決定する必要があります。This cmdlet requires a query to determine the data to retrieve.
  • Azure Monitor Logs API。Azure Monitor Logs API. Azure Monitor Logs API を使用すると、任意の REST API クライアントによってワークスペースからログ データを取得することができます。The Azure Monitor Logs API allows any REST API client to retrieve log data from the workspace. API 要求には Azure Monitor に対して実行するクエリが含まれており、これにより取得するデータを決定します。The API request includes a query that is run against Azure Monitor to determine the data to retrieve.

次の手順Next steps