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:

기본 사항을 종료 한 후에는에서 시작 하는 데모 환경의 데이터 나 사용자 고유의 데이터를 사용 하 여 여러 단원을 안내 합니다.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 데이터 탐색기를 기반으로 하며 로그 쿼리는 동일한 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 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. 데이터 원본이 서로 다른 테이블에 데이터를 기록 하지만 여러 원본에서 데이터를 분석 하는 여러 테이블을 단일 쿼리에 포함할 수 있습니다.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. 쿼리를 작성하는 경우 원하는 데이터가 있는 테이블이 무엇인지 확인하는 것으로 시작합니다.When you build a query, you start by determining which tables have the data that you're looking for. 데이터의 구성 방법에 대 한 설명은 Azure Monitor 로그의 구조 를 참조 하세요.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?

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.

Azure Portal의 여러 위치에서 Log Analytics를 시작할 수 있습니다.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 Logs 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. AzOperationalInsightsSearchResults 를 사용 하 여 Azure Monitor에서 로그 데이터를 검색 하는 Azure Automation runbook 또는 명령줄에서 PowerShell 스크립트를 실행할 수 있습니다.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