Azure Monitor 로그의 기능

완료됨

Azure Monitor는 원격 분석을 수집하고 분석하는 서비스입니다. 클라우드 애플리케이션과 온-프레미스 리소스 및 애플리케이션을 위한 최대 성능 및 가용성을 지원합니다. 애플리케이션의 작동 방식을 보여 주고 문제를 식별합니다.

Azure Monitor의 데이터 수집

Azure Monitor는 메트릭과 로그라는 두 가지 기본 형식의 데이터를 수집합니다. 메트릭은 리소스가 수행되는 방법 및 사용되는 기타 리소스를 알려 줍니다. 로그에는 리소스를 만들거나 수정하는 시간을 표시하는 레코드가 포함되어 있습니다.

다음 다이어그램은 Azure Monitor에 대한 개요를 제공합니다. 왼쪽에는 데이터 모니터링 원본이 있습니다. Azure, 운영 체제 및 사용자 지정 원본입니다. 다이어그램의 중앙에서는 메트릭 및 로그에 대한 데이터 저장소입니다. 오른쪽에는 이렇게 수집된 데이터를 사용하여 Azure Monitor가 수행하는 분석, 경고, 외부 시스템으로 스트리밍 등의 함수가 있습니다.

Diagram of Azure Monitor's architecture, displaying the sources of monitoring data, the data stores, and functions performed on the data.

Azure Monitor는 구성 요소 범위에서 데이터를 자동으로 수집합니다. 예:

  • 애플리케이션 데이터: 사용자 지정 애플리케이션 코드와 관련된 데이터입니다.
  • 운영 체제 데이터: 애플리케이션을 호스팅하는 Windows 또는 Linux 가상 머신의 데이터입니다.
  • Azure 리소스 데이터: Azure 리소스(예: 웹앱 또는 부하 분산 장치)의 작업과 관련된 데이터입니다.
  • Azure 구독 데이터: 구독과 관련 된 데이터입니다. Azure 상태 및 가용성에 대한 데이터를 포함합니다.
  • Azure 테넌트 데이터: Microsoft Entra ID와 같은 Azure 조직 수준 서비스에 대한 데이터입니다.

Azure Monitor는 자동 시스템이므로 가상 머신 및 웹앱과 같은 Azure 리소스를 만드는 즉시 이러한 원본에서 데이터를 수집하기 시작합니다. 다음을 수행하여 Azure Monitor가 수집하는 데이터를 확장할 수 있습니다.

  • 진단 사용: Azure SQL Database와 같은 일부 리소스의 경우 진단 로깅을 사용하도록 설정한 후에만 리소스에 대한 전체 정보를 받게 됩니다. Azure Portal, Azure CLI 또는 PowerShell을 사용하여 진단을 사용할 수 있습니다.
  • 에이전트 추가: 가상 머신의 경우 Log Analytics 에이전트를 설치하고 Log Analytics 작업 영역에 데이터를 보내도록 구성할 수 있습니다. 이 에이전트는 Azure Monitor로 전송되는 정보의 양을 늘립니다.

개발자는 웹앱, Azure 함수 또는 모바일 앱과 같은 사용자 지정 코드에서 Azure Monitor에 데이터를 보낼 수도 있습니다. 데이터 수집기 API를 호출하여 데이터를 보냅니다. HTTP를 통해 이 REST 인터페이스와 통신할 수 있습니다. 이 인터페이스는 .NET Framework, Node.js, Python과 같은 다양한 개발 프레임워크와 호환됩니다. 개발자는 원하는 언어와 프레임워크를 선택하여 Azure Monitor에 데이터를 기록할 수 있습니다.

로그

로그에는 리소스 변경 내용에 대한 타임스탬프 정보가 포함되어 있습니다. 기록되는 정보 유형은 로그 원본에 따라 달라집니다. 로그 데이터는 각 레코드 형식에 대한 다양한 속성 세트와 함께 레코드로 구성됩니다. 로그에는 Azure Monitor 메트릭과 같은 숫자 값이 포함될 수 있지만 대부분은 숫자 값이 아닌 텍스트 데이터를 포함합니다.

가장 일반적인 형식의 로그 항목은 이벤트를 기록합니다. 이벤트는 고정 간격 또는 일정에 따라 발생하기보다 산발적으로 발생할 수 있습니다. 이벤트는 해당 이벤트에 대한 컨텍스트를 제공하는 애플리케이션 및 서비스에 의해 생성됩니다. 메트릭 데이터를 분석을 위한 다른 모니터링 데이터와 결합하기 위해 로그에 저장할 수 있습니다.

Log Analytics 작업 영역의 Azure Monitor에서 데이터를 로깅할 수 있습니다. Azure는 분석 엔진과 풍부한 쿼리 언어를 제공합니다. 로그는 문제의 컨텍스트를 표시하고 근본 원인을 파악하는 데 유용합니다.

Screenshot of an example query against Azure logs with the query text on top and a graph displaying the results below.

메트릭

메트릭은 시간상 지점에서 시스템의 일부 측면을 설명하는 숫자 값입니다. Azure Monitor는 거의 실시간으로 메트릭을 캡처할 수 있습니다. 메트릭은 정기적으로 수집되며 빈번한 샘플링으로 인한 경고에 유용합니다. 다양한 알고리즘을 사용하여 메트릭을 다른 메트릭과 비교하고 시간에 따른 추세를 관찰할 수 있습니다.

메트릭은 시계열 데이터베이스에 저장됩니다. 이 데이터 저장소는 타임스탬프 데이터를 분석하는 데 가장 효과적입니다. 메트릭은 문제에 대한 경고 및 빠른 검색에 적합합니다. 시스템 성능에 대해 알려줄 수 있습니다. 필요한 경우 로그와 결합하여 문제의 근본 원인을 파악할 수 있습니다.

Screenshot of an example chart in Azure Metrics displaying average CPU percentage.

Kusto를 사용한 로그 분석

데이터를 검색하고 통합하고 분석하기 위해 Azure Monitor 로그에서 실행되는 쿼리를 지정할 수 있습니다. Azure Data Explorer에서도 사용하는 Kusto 쿼리 언어를 사용하여 로그 쿼리를 작성할 수 있습니다.

Azure Portal에서 로그 쿼리를 테스트하여 대화형으로 사용할 수 있습니다. 일반적으로 기본 쿼리로 시작한 다음, 요구 사항이 복잡해지면 더 많은 고급 기능을 사용하게 됩니다.

Azure Portal에서 리소스 및 데이터를 대상으로 표시하는 사용자 지정 대시보드를 만들 수 있습니다. 타일 집합에서 각 대시보드를 빌드할 수 있습니다. 각 타일에는 리소스 집합, 차트, 데이터 테이블 또는 일부 사용자 지정 텍스트가 표시될 수 있습니다. Azure Monitor는 대시보드에 추가할 수 있는 타일을 제공합니다. 예를 들어, 타일을 사용하여 대시보드에 Kusto 쿼리 결과를 표시할 수 있습니다.

예제 시나리오에서 운영 팀은 차트 및 테이블로 시각화하여 모니터링 데이터를 통합할 수 있습니다. 이러한 도구는 데이터를 요약하고 다양한 대상에게 제공하는 데 효과적입니다.

Azure 대시보드를 사용하면 로그와 메트릭을 포함하여 다양한 종류의 데이터를 Azure Portal의 단일 창으로 결합할 수 있습니다. 예를 들어 메트릭 그래프, 활동 로그 표, Azure Monitor의 차트, 로그 쿼리를 나타내는 타일이 결합된 대시보드를 만들려고 할 수 있습니다.

지식 점검

1.

Azure Monitor는 어떤 데이터를 수집하나요?

2.

Azure Monitor에서 수집하는 두 가지 기본 데이터 형식은 무엇인가요?