Log Analytics 자습서Log Analytics tutorial

Log Analytics는 Azure Monitor Logs에서 수집된 데이터에서 로그 쿼리를 편집 및 실행하고 그 결과를 대화형으로 분석하는 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
  • 쿼리와 결과의 저장, 로드, 내보내기 및 복사Save, 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 기능을 활용하여 쿼리를 하나 작성하고 또 다른 예제 쿼리를 사용합니다.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.

로그 관리 솔루션을 펼쳐서 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. 창에 직접 입력할 수도 있고 현재 범위 및 KQL 명령에서 테이블 이름을 완성하는 데 유용한 IntelliSense를 얻을 수도 있습니다.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 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 에서 관리 를 클릭한 다음, 적용 및 실행 을 클릭합니다.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 에서 성공 을 선택하고 적용 및 실행 을 클릭합니다.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.

예를 들어 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. 방금 만든 필터를 지운 다음, Group columns(열 그룹화) 슬라이더를 켭니다.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. 자체 작업 영역을 사용하는 경우에는 여러 범주의 다양한 쿼리가 있을 수 있지만, 데모 환경을 사용하는 경우에는 단일 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.