Azure 모니터의 로그 쿼리 개요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 Log의 데이터를 대화형으로 분석하는 방법을 이해해야 합니다.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:

기본 사항을 숙지하고 나면 데모 환경의 자체 데이터 또는 데이터를 사용하여 여러 레슨을 진행합니다.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 모니터 로그는 Azure 데이터 탐색기를기반으로 하며 로그 쿼리는 동일한 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 데이터 탐색기 KQL 설명서를 참조하십시오.See Azure Data Explorer KQL documentation for complete documentation on KQL and reference on different functions available.
Azure 모니터 로그의 데이터를 사용하여 언어를 빠르게 연습할 수 있는 Azure 모니터의 로그 쿼리시작을 참조하십시오.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 모니터 로그에서 수집된 모든 데이터를 로그 쿼리에서 검색하고 분석할 수 있습니다.All data collected in Azure Monitor Logs is available to retrieve and analyze in log queries. 데이터 원본마다 데이터를 서로 다른 테이블에 쓰지만 단일 쿼리에 여러 테이블을 포함하여 여러 원본의 데이터를 분석할 수 있습니다.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 Logs의 데이터가 구조화되는 방식을 최소한 기본적인 이해가 있어야 합니다.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 모니터 로그를 채우는 다양한 데이터 원본 목록은 Azure 모니터 로그 의 소스를참조하십시오.See Sources of Azure Monitor Logs, for a list of different data sources that populate Azure Monitor Logs.
데이터의 구조에 대한 설명은 Azure 모니터 로그 구조를 참조하십시오.See Structure of Azure Monitor Logs for an explanation of how the data is structured.

로그 쿼리는 어떤 모습일까요?What does a log query look like?

쿼리는 해당 테이블에서 모든 레코드를 검색하기 위한 단일 테이블 이름만큼 간단할 수 있습니다.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?

로그 애널리틱스는 Azure 포털의 기본 도구로 로그 쿼리를 작성하고 결과를 대화형으로 분석합니다.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.

Azure 포털의 여러 위치에서 로그 분석을 시작할 수 있습니다.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 모니터 메뉴 또는 로그 분석 작업 영역 메뉴에서 로그를 선택합니다. Log Analytics workspacesSelect Logs from the Azure Monitor menu or Log Analytics workspaces menu.
  • 애플리케이션 인사이트 응용 프로그램의 개요 페이지에서 분석을 선택합니다.Select Analytics from the Overview page of an Application Insights application.
  • Azure 리소스의 메뉴에서 로그를 선택합니다.Select Logs from the menu of an Azure resource.

Log Analytics

Azure 모니터의 로그 분석 시작하기를 참조하여 여러 기능을 소개하는 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?

로그 쿼리 및 로그 분석에서 그 결과를 대화식으로 작업하는 것 외에도 쿼리를 사용할 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. 명령줄에서 PowerShell 스크립트를 실행하거나 Get-Az운영인사이트검색결과를 사용하여 Azure 모니터에서 로그 데이터를 검색하는 Azure 자동화 실행책을 실행할 수 있습니다.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. 이 cmdlet에는 검색할 데이터를 결정하는 쿼리가 필요합니다.This cmdlet requires a query to determine the data to retrieve.
  • Azure Monitor Logs API.Azure Monitor Logs API. REST API 클라이언트는 Azure Monitor Logs 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