Azure Monitor의 로그 쿼리
Azure Monitor 로그는 Azure Data Explorer를 기반으로 하며 로그 쿼리는 동일한 KQL(Kusto 쿼리 언어)을 사용하여 작성됩니다. 이 풍부한 언어는 읽기 쉽고 작성하기 쉽도록 설계되었으므로 몇 가지 기본 지침으로 쿼리 작성을 시작할 수 있어야 합니다.
쿼리를 사용할 Azure Monitor 영역은 다음과 같습니다.
- Log Analytics: Azure Portal에서 이 기본 도구를 사용하여 로그 쿼리를 편집하고 결과를 대화형으로 분석합니다. Azure Monitor의 다른 위치에서 로그 쿼리를 사용하려는 경우에도 일반적으로 최종 위치에 복사하기 전에 Log Analytics에서 작성하고 테스트합니다.
- 로그 검색 경고 규칙: 작업 영역의 데이터에서 문제를 적극적으로 식별합니다. 각 경고 규칙은 일정한 간격으로 자동 실행되는 로그 쿼리를 기반으로 합니다. 경고를 만들어야 하는지 여부를 결정하도록 결과를 검사합니다.
- 통합 문서: Azure Portal의 대화형 시각적 보고서에서 다양한 시각화를 사용하는 로그 쿼리의 결과가 포함됩니다.
- Azure 대시보드: 쿼리 결과를 Azure 대시보드에 고정하여 로그 및 메트릭 데이터를 함께 시각화하고 선택적으로 다른 Azure 사용자와 공유할 수 있습니다.
- Azure Logic Apps: Logic Apps 워크플로를 사용하여 자동화된 워크플로에서 로그 쿼리 결과를 사용합니다.
- PowerShell: 명령줄 또는
Invoke-AzOperationalInsightsQuery
를 사용하는 Azure Automation Runbook의 PowerShell 스크립트에서 로그 쿼리 결과를 사용합니다. - Log Analytics 쿼리 API: 모든 REST API 클라이언트의 작업 영역에서 로그 데이터를 검색합니다. API 요청에는 검색할 데이터를 확인하기 위해 Azure Monitor에 대해 실행되는 쿼리가 포함됩니다.
- Azure Monitor Query 클라이언트 라이브러리: 다음 에코시스템에 대한 관용적인 클라이언트 라이브러리를 통해 작업 영역에서 로그 데이터를 쿼리합니다.
-
Python용 Azure Monitor 쿼리 클라이언트 라이브러리를 구현하는 방법의 예는 Notebook을 사용하여 Azure Monitor 로그에서 데이터 분석을 참조하세요.
시작하기
KQL을 사용하여 로그 쿼리 작성 학습을 시작하는 가장 좋은 방법은 사용 가능한 자습서 및 샘플을 사용하는 것입니다.
- Log Analytics 자습서: Azure Portal에서 쿼리를 편집하고 실행하는 데 사용할 도구인 Log Analytics 기능 사용에 대한 자습서입니다. Log Analytics를 사용하면 쿼리 언어를 직접 사용하지 않고도 간단한 쿼리를 작성할 수 있습니다. 이전에 Log Analytics를 사용해 본 적이 없는 경우 여기서 시작하여 다른 자습서 및 샘플에서 사용할 도구를 이해할 수 있습니다.
- KQL 자습서: 기본 KQL 개념과 일반 연산자를 단계별로 안내하며, 언어 자체 및 로그 쿼리 구조를 이해하기 시작하기에 가장 적합합니다.
- 예제 쿼리: Log Analytics에서 사용할 수 있는 예제 쿼리에 대해 설명합니다. 쿼리를 수정하지 않고 사용하거나 샘플로 활용하여 KQL를 배울 수 있습니다.
참조 설명서
모든 명령 및 연산자에 대한 참조를 포함한 KQL 문서는 Azure Data Explorer 문서에서 사용할 수 있습니다. KQL을 능숙하게 사용하더라도 이전에 사용하지 않은 새로운 명령과 시나리오를 조사하기 위해 참조를 계속 사용하는 것이 좋습니다.
언어 차이
Azure Monitor는 Azure Data Explorer와 동일한 KQL을 사용하지만 몇 가지 차이점이 있습니다. KQL 설명서에서는 Azure Monitor에서 지원하지 않거나 기능이 다른 연산자가 지정됩니다. Azure Monitor 관련 연산자는 Azure Monitor 콘텐츠에 설명되어 있습니다. 다음 섹션에는 빠른 참조를 위해 언어 버전 간의 차이점이 나열되어 있습니다.
Azure Monitor에서 지원되지 않는 명령문
Azure Monitor에서 지원되지 않는 함수
- cluster()
- cursor_after()
- cursor_before_or_at()
- cursor_current(), current_cursor()
- database()
- current_principal()
- extent_id()
- extent_tags()
Azure Monitor에서 지원되지 않는 연산자
Azure Monitor에서 지원되지 않는 플러그 인
Azure Monitor의 다른 연산자
다음 연산자는 특정 Azure Monitor 기능을 지원하며 Azure Monitor 외에는 사용할 수 없습니다.
다음 단계
- 쿼리 작성에 대한 자습서를 살펴봅니다.
- KQL에 대한 전체 참조 설명서에 액세스합니다.