다음을 통해 공유


Log Analytics 자습서

Log Analytics는 Azure Monitor 로그에서 수집된 데이터에서 로그 쿼리를 편집 및 실행하고 그 결과를 대화형으로 분석하는 Azure Portal의 도구입니다. Log Analytics 쿼리를 사용하여 특정 조건과 일치하는 레코드를 검색하고, 추세를 식별하고, 패턴을 분석하고, 데이터에 대한 다양한 인사이트를 제공할 수 있습니다.

이 자습서에서는 Log Analytics 인터페이스를 안내하고 몇 가지 기본 쿼리를 시작하며 결과를 사용하는 방법을 보여줍니다. 다음 방법에 대해 설명합니다.

  • 로그 데이터 스키마 이해
  • 간단한 쿼리 작성 및 실행, 쿼리 시간 범위 수정
  • 쿼리 결과 필터링, 정렬 및 그룹화
  • 쿼리 결과의 시각적 개체 보기, 수정 및 공유
  • 쿼리 및 결과 로드, 내보내기 및 복사

Important

이 자습서에서는 Log Analytics 기능을 사용하여 쿼리를 하나 작성하고 또 다른 예제 쿼리를 사용합니다. 쿼리 구문을 알아보고 쿼리 자체를 직접 편집할 준비가 되면 Kusto 쿼리 언어 자습서를 읽어 보세요. 이 자습서에서는 Log Analytics에서 편집하고 실행할 수 있는 몇 가지 예제 쿼리를 살펴봅니다. 이 자습서에서 배우게 될 여러 가지 기능이 사용됩니다.

필수 조건

이 자습서에서는 샘플 쿼리를 지원하는 샘플 데이터가 많이 포함된 Log Analytics 데모 환경을 사용합니다. 자체 Azure 구독을 사용할 수도 있지만, 아마도 같은 테이블 안에 데이터가 없을 것입니다.

참고 항목

Log Analytics에는 단순 모드와 KQL 모드의 두 가지 모드가 있습니다. 이 자습서에서는 KQL 모드를 안내합니다. 단순 모드에 대한 자세한 내용은 Log Analytics 단순 모드(미리 보기)를 사용하여 데이터 분석을 참조하세요.

Log Analytics 열기

Log Analytics 데모 환경을 열거나 구독의 Azure Monitor 메뉴에서 로그를 선택합니다. 이 단계에서는 쿼리가 Log Analytics 작업 영역의 모든 데이터에서 선택하도록 초기 범위를 이 작업 영역으로 설정합니다. Azure 리소스의 메뉴에서 로그를 선택하면 범위가 해당 리소스의 레코드로만 설정됩니다. 범위에 대한 자세한 내용은 로그 쿼리 범위를 참조하세요.

활성 쿼리 탭 이름 아래, 로그 환경의 왼쪽 상단에서 범위를 볼 수 있습니다. 자체 환경을 사용하는 경우에는 다른 범위를 선택하는 옵션이 표시됩니다. 데모 환경에서는 이 옵션을 사용할 수 없습니다.

데모의 Log Analytics 범위를 보여주는 스크린샷.

테이블 정보 보기

화면 왼쪽에는 현재 범위에서 사용할 수 있는 테이블을 검사할 수 있는 테이블 탭이 있습니다. 이러한 테이블은 기본적으로 솔루션별로 그룹화되지만 그룹화를 변경하거나 필터링할 수 있습니다.

로그 관리 솔루션을 확장하여 AppRequests 테이블을 찾습니다. 테이블을 펼쳐서 해당 스키마를 보거나, 이름을 마우스로 가리켜서 추가 정보를 표시할 수 있습니다.

테이블 보기를 보여주는 스크린샷.

  • 아래 유용한 링크(이 예에서는 AppRequests) 링크를 선택하면 각 테이블과 해당 열을 설명하는 테이블 참조로 이동합니다.

  • 데이터 미리 보기를 선택하면 테이블에서 최근 레코드 몇 개를 빠르게 살펴볼 수 있습니다. 이 미리 보기는 쿼리를 실행하기 전에 해당 데이터가 예상한 데이터인지 확인하는 데 유용할 수 있습니다.

AppRequests 테이블의 미리 보기 데이터를 보여 주는 스크린샷

쿼리 작성

AppRequests 테이블을 사용하여 쿼리를 작성해 보겠습니다. 해당 이름을 두 번 클릭하거나 이름 위를 마우스로 가리키고 편집기에서 사용을 클릭하여 쿼리 창에 추가합니다. 창에 직접 값을 입력할 수도 있습니다. 현재 범위에서 테이블의 이름을 완료하는 데 도움이 되는 IntelliSense와 KQL(Kusto 쿼리 언어) 명령도 가져올 수 있습니다.

작성할 수 있는 가장 간단한 쿼리입니다. 테이블의 모든 레코드를 반환합니다. 실행 단추를 선택하거나 쿼리 텍스트의 아무 곳에 커서를 두고 Shift+Enter 키를 선택하여 실행합니다.

쿼리 결과를 보여주는 스크린샷.

결과가 있는 것이 보입니다. 쿼리에서 반환되는 레코드 수는 오른쪽 하단에 나타납니다. Log Analytics 포털 환경에서 검색할 수 있는 최대 결과 수는 30,000개입니다.

시간 범위

모든 쿼리는 설정된 시간 범위 내에서 생성된 레코드를 반환합니다. 기본적으로 쿼리는 지난 24시간 동안 생성된 레코드를 반환합니다.

쿼리에서 where 연산자를 사용하여 다른 시간 범위를 설정할 수 있습니다. 화면 맨 위에 있는 시간 범위 드롭다운 목록을 사용할 수도 있습니다.

시간 범위 드롭다운에서 지난 12시간을 선택하여 쿼리의 시간 범위를 변경해 보겠습니다. 실행을 선택하여 결과를 반환합니다.

참고 항목

시간 범위 드롭다운을 사용하여 시간 범위를 변경해도 쿼리 편집기에서 쿼리가 변경되지 않습니다.

시간 범위를 보여주는 스크린샷.

여러 필터

다른 필터 조건을 추가하여 결과를 더 줄여 보겠습니다. 쿼리에는 원하는 만큼 필터를 포함하여 원하는 레코드 집합을 정확하게 목표할 수 있습니다. 탭이 활성화된 화면 왼쪽에서 대신 필터 탭을 선택합니다. 찾을 수 없는 경우, 줄임표를 클릭하여 더 많은 탭을 확인합니다.

필터 탭에서 이전 필터 로드를 선택하면 각 필터에 대한 상위 10개 값을 볼 수 있습니다.

이전 필터를 로드하는 옵션이 있는 쿼리 탭을 보여 주는 스크린샷.

이름에서 홈/인덱스 가져오기를 선택한 다음 적용 및 실행을 클릭합니다.

여러 필터가 있는 쿼리 결과를 보여주는 스크린샷.

결과 분석

Log Analytics는 쿼리 작성 및 실행을 돕는 것 외에도 결과로 작업할 수 있는 기능을 제공합니다. 행의 왼쪽에 있는 펼침 단추를 클릭하여 레코드를 확장하여 모든 열의 값을 확인합니다.

검색 결과에서 확장된 레코드를 보여 주는 스크린샷

열 이름을 선택하여 해당 열을 기준으로 결과를 정렬합니다. 옆에 있는 필터 아이콘을 선택하여 필터 조건을 제공합니다. 이 작업은 쿼리를 다시 실행하면 필터가 지워진다는 점을 제외하면, 쿼리 자체에 필터 조건을 추가하는 것과 유사합니다. 대화형 분석의 일환으로 레코드 세트를 빠르게 분석하려는 경우 이 방법을 사용합니다.

DurationMs 열에 필터를 설정하여 150 밀리초 이상 걸린 레코드만 표시합니다.

  1. 결과 표에서는 Excel에서처럼 필터링할 수 있습니다. 이름 열 머리글에서 줄임표를 선택합니다.
  2. 모두 선택의 체크를 해제한 후, 홈/인덱스 가져오기를 검색하여 체크합니다. 필터는 자동으로 검색 결과에 적용됩니다.

쿼리 결과 필터를 보여주는 스크린샷.

쿼리 결과를 통해 검색

결과 창의 오른쪽 위에 있는 검색 상자를 사용하여 쿼리 결과를 검색해 보겠습니다.

쿼리 결과 검색 상자에 Chicago를 입력하고 화살표를 선택하여 검색 결과에서 이 문자열의 모든 인스턴스를 찾습니다.

결과 창의 오른쪽 위에 있는 검색 상자를 보여 주는 스크린샷

데이터 재구성 및 요약

데이터를 더 잘 시각화하기 위해 필요에 따라 쿼리 결과의 데이터를 다시 구성하고 요약할 수 있습니다.

결과 창 오른쪽에 있는 을 선택하여 사이드바를 엽니다.

열 사이드바를 열기 위해 선택한 결과 창의 오른쪽에 있는 열 링크를 보여 주는 스크린샷

사이드바에는 사용 가능한 모든 열 목록이 표시됩니다. Url 열을 행 그룹 섹션으로 끕니다. 이 열을 기준으로 결과가 구성되며, 각 그룹을 접으면 분석하는 데 유용할 수 있습니다. 이 작업은 쿼리에 필터 조건을 추가하는 것과 비슷하지만 서버에서 데이터를 다시 가져오는 대신 원래 쿼리에서 반환된 데이터를 처리합니다. 쿼리를 다시 실행하면 Log Analytics는 원래 쿼리를 기반으로 데이터를 검색합니다. 대화형 분석의 일환으로 레코드 세트를 빠르게 분석하려는 경우 이 방법을 사용합니다.

그룹화된 쿼리 결과를 보여 주는 스크린샷

피벗 테이블 만들기

페이지의 성능을 분석하려면 피벗 테이블을 만듭니다.

사이드바에서 피벗 모드를 선택합니다.

UrlDurationMs를 선택하여 각 URL에 대한 모든 호출의 총 기간을 표시합니다.

각 URL에 대한 최대 호출 기간을 보려면 sum(DurationMs)>max를 선택합니다.

피벗 모드를 켜고 URL 및 DurationMS 값을 기반으로 피벗 테이블을 구성하는 방법을 보여 주는 스크린샷

이제 결과 창에서 max(DurationMs) 열을 선택하여 가장 긴 최대 호출 기간을 기준으로 결과를 정렬해 보겠습니다.

최대 DurationMS 값으로 정렬되는 쿼리 결과 창을 보여 주는 스크린샷

차트 작업

차트에서 볼 수 있는 숫자 데이터를 사용하는 쿼리를 살펴보겠습니다. 쿼리를 작성하는 대신 쿼리 예를 선택합니다.

왼쪽 창에서 쿼리를 선택합니다. 이 창에는 쿼리 창에 추가할 수 있는 예제 쿼리가 포함되어 있습니다. 자체 작업 영역을 사용하는 경우에는 여러 범주의 다양한 쿼리가 있어야 합니다.

편집기에 애플리케이션 범주의 함수 오류율 쿼리를 로드합니다. 그렇게 하려면 쿼리를 두 번 클릭하거나 쿼리 이름 위를 마우스로 가리켜 자세한 정보를 표시한 다음 편집기로 로드를 선택합니다.

쿼리에 대한 정보를 보여 주는 스크린샷.

새 쿼리는 빈 줄로 다른 쿼리와 분리됩니다. KQL의 쿼리는 빈 줄을 만나면 종료되므로 별도의 쿼리가 됩니다.

새 쿼리를 보여주는 스크린샷.

쿼리의 아무 곳이나 클릭하여 선택한 다음 실행 단추를 클릭하여 실행합니다.

쿼리 결과 표를 보여주는 스크린샷.

그래프로 결과를 보려면 결과 창에서 차트를 선택합니다. 차트를 작업하는 다양한 옵션(예: 차트를 다른 형식으로 변경)이 있습니다.

쿼리 결과 차트를 보여주는 스크린샷

다음 단계

Log Analytics를 사용하는 방법을 파악했으면 이제 로그 쿼리를 사용하는 방법에 대한 자습서를 살펴보세요.