Microsoft AZ-204: Azure 모니터링, 진단 및 DevOps 통합 — 학습 가이드

다음의 일부입니다: Microsoft Azure Developer Associate AZ-204 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.

개요

Azure Monitor와 Application Insights는 Azure 애플리케이션을 위한 통합된 개발자 중심의 관찰 가능성(observability) 스택을 제공합니다. Application Insights는 요청, 종속성, 예외, 추적과 같은 애플리케이션 원격 분석(telemetry)을 수집하고, Azure Monitor는 여러 리소스의 메트릭과 로그를 Log Analytics 작업 영역으로 집계하여 경고 및 DevOps 통합을 구동합니다. 계측(instrumentation) 선택, 원격 분석 시맨틱, 가용성 테스트, Kusto Query Language(KQL), 작업 그룹을 사용한 경고, 분산 추적, ARM 템플릿을 사용한 코드형 인프라(Infrastructure as Code)를 마스터하면 안정적이고 진단 가능하며 자동화 가능한 솔루션을 보장할 수 있습니다.

Application Insights 계측 및 원격 분석

Application Insights 리소스는 수집을 위해 계측 키(instrumentation key) 또는 연결 문자열(connection string)로 식별됩니다. 계측 키는 SDK가 원격 분석을 라우팅하는 데 사용하던 레거시 단일 GUID입니다. 연결 문자열은 현재 권장되는 방식입니다. 여기에는 계측 키와 엔드포인트 메타데이터(수집 및 Live Metrics 엔드포인트)가 포함되며, 기본이 아닌 엔드포인트(주권 또는 프라이빗 클라우드용)로 라우팅할 수 있습니다. 새로운 코드와 구성에서는 연결 문자열을 사용하십시오. 이를 통해 코드 재배포 없이 향후 엔드포인트를 변경할 수 있습니다. App Service 내에서 플랫폼 수준에서 Application Insights를 활성화하면 자동 감지된 런타임을 위해 환경 설정에 연결 문자열이 채워집니다.

계측은 SDK 또는 자동 계측(auto-instrumentation)을 통해 수행할 수 있습니다. SDK 접근 방식(.NET용 Microsoft.ApplicationInsights.AspNetCore, Node.js용 applicationinsights, Application Insights Java 에이전트 등)은 코드 수준의 제어를 제공합니다: 사용자 지정 이벤트, 메트릭, 그리고 TelemetryInitializer 및 프로세서를 통한 강화된 원격 분석(적응 샘플링 포함). 자동 계측(코드리스 연결)은 App Service 및 일부 컴퓨팅 스택에서 사용할 수 있으며, 사이트 확장/에이전트를 사용하여 코드 변경 없이 들어오는 요청, 종속성 및 예외를 수집합니다. 사용자 지정 이벤트, 비즈니스 메트릭 또는 백그라운드 작업에서의 명시적인 상관관계가 필요할 때는 SDK 계측을 사용하고, 빠르고 적은 노력으로 가시성을 확보하거나 리프트 앤 시프트(lift-and-shift) 워크로드에는 코드리스 연결을 사용하십시오. 두 경우 모두 마이크로서비스 아키텍처에서 서비스를 구별하기 위해 클라우드 역할 이름을 설정하고, 충실도와 비용의 균형을 맞추기 위해 샘플링을 신중하게 구성하십시오.

Application Insights는 다음과 같은 몇 가지 핵심 원격 분석 유형을 내보냅니다:

Application Insights의 분산 추적은 상관관계에 달려 있습니다. 각 엔드투엔드 작업은 관련된 원격 분석 전반에 걸쳐 공유되는 작업 ID(W3C 용어로는 trace ID)를 가지며, 각 스팬(span)은 전파 헤더에 의해 강제되는 부모-자식 관계를 가집니다. 최신 SDK는 W3C Trace Context(traceparent, tracestate)를 사용합니다. KQL의 Operation_Id는 동일한 트랜잭션에 대한 Requests, Dependencies, Exceptions, Traces를 연결합니다. 아웃바운드 HTTP 클라이언트가 헤더를 전파하도록 하십시오. .NET의 경우 System.Diagnostics.Activity와 AI SDK가 이를 자동으로 처리합니다. 종속성 추적은 일반적인 클라이언트(HTTP, SQL, Service Bus, Storage)를 계측합니다. 서비스가 경계를 넘을 때(예: App Service에서 AKS로), 일관된 전파는 단일 연결된 트랜잭션 맵을 생성합니다. 비동기 및 메시지 기반 흐름의 경우, SDK가 메시지 메타데이터에 상관관계 ID를 캡처하고 전달하도록 하십시오. 대부분의 Azure SDK는 기본적으로 이 작업을 수행합니다.

가용성 테스트 및 가상(Synthetic) 모니터링

가용성 테스트는 여러 지역에서 외부 도달 가능성과 응답성을 검증합니다. URL ping 테스트는 여러 테스트 위치에서 구성된 빈도로 HTTP 요청을 보내고 상태 코드, SSL 상태 및 선택적 콘텐츠 일치를 검증합니다. 재시도와 여러 위치를 사용하여 거짓 양성(false positive)을 줄이고, 테스트 실패 시 조치 가능한 알림을 받도록 경고를 구성하십시오.

다단계 가용성 테스트는 과거에 워크플로우를 확인하기 위해 상태 저장 쿠키를 사용하여 기록된 HTTP 요청 시퀀스를 실행했습니다. 클래식 다단계 웹 테스트는 더 이상 사용되지 않습니다. 다중 요청 또는 인증 시나리오의 경우, TrackAvailability API(또는 OpenTelemetry 내보내기)를 사용하여 자체 클라이언트나 서비스를 계측하여 AvailabilityTelemetry를 내보내는 방식으로 가상 테스트를 구현하십시오. 이 접근 방식을 사용하면 중앙 집중식 보고 및 경고 기능을 유지하면서 사용자 지정 인증, 페이로드 및 도메인별 유효성 검사를 수행할 수 있습니다.

사용자 지정 TrackAvailability를 통해 다음을 제어할 수 있습니다:

가용성 테스트를 백엔드 종속성 및 요청 원격 분석과 결합하여 엔드포인트 가용성 문제(네트워크, DNS, TLS)와 애플리케이션 장애(예외, 시간 초과) 및 다운스트림 중단(SQL, 외부 API)을 신속하게 구별하십시오. 가용성 테스트 실패를 작업 그룹에 연결하여 인시던트 워크플로우를 구동하십시오.

Azure Monitor 데이터, KQL 및 작업 그룹을 사용한 경고

Azure Monitor는 메트릭과 로그라는 두 가지 기본 데이터 유형을 수집합니다. 메트릭은 거의 실시간으로 수집되고 다차원 슬라이싱(예: 인스턴스, API 경로별)이 가능한 경량의 숫자 시계열 데이터입니다. CPU, 메모리, 요청률, 대기 시간, 가용성 등 빠른 탐지에 가장 적합하며 기본적으로 최대 93일간 보존을 지원합니다. 로그는 Log Analytics 작업 영역에 저장되는 구조화된 쿼리 가능 레코드로, Application Insights 데이터, 플랫폼 리소스 로그, 보존 기간 구성이 가능한 사용자 지정 로그를 포함합니다. 진단 설정을 사용하여 플랫폼 메트릭과 리소스 로그를 작업 영역, Event Hub 또는 Storage로 라우팅하여 보관 및 분석에 활용하세요.

Kusto Query Language(KQL)는 탐색적 분석, 대시보드, 로그 경고의 기반이 됩니다. 핵심 패턴은 다음과 같습니다.

경고는 메트릭과 로그 모두에 걸쳐 있습니다. 메트릭 경고는 거의 실시간으로 메트릭 임계값을 평가하고, 차원 및 차원별 분할을 지원하며, 정적 또는 동적 임계값(ML 기반 기준선)을 사용할 수 있습니다. 상태를 유지하며(stateful), 평가 결과에 따라 발생(fire) 및 자동 해결(auto-resolve)될 수 있고, 상태가 변경될 때 하나의 알림을 생성합니다. 로그(예약된 쿼리) 경고는 주기적으로 KQL을 실행하고 쿼리 결과(일치 항목 수 또는 측정 임계값)에 따라 트리거됩니다. 여러 테이블에 걸친 복잡한 패턴에 의존하거나 텍스트 분석이 필요한 조건에는 로그 경고를 사용합니다. Application Insights의 스마트 검색 및 변칙 경고는 명시적인 임계값 없이 성능 저하를 강조할 수 있습니다.

작업 그룹은 경고에 대한 재사용 가능한 응답 집합을 정의합니다. 알림 유형에는 이메일, SMS, 음성 및 Azure 모바일 앱 푸시가 포함됩니다. 통합 기능은 다음과 같습니다.

모니터링 가능성 및 반복 가능한 배포를 위한 ARM 템플릿

Azure Resource Manager(ARM) 템플릿은 리소스와 모니터링 구성을 코드로 선언적으로 정의합니다. 템플릿의 구조는 다음과 같습니다.

연결된 템플릿 또는 중첩된 템플릿을 사용하여 복잡한 배포를 구성합니다. 배포 리소스(Microsoft.Resources/deployments)는 templateLink(외부 URI)를 통해 자식 템플릿을 참조하거나 인라인으로 포함합니다. parameters 또는 parametersLink를 통해 매개변수 객체를 전달하고, dependsOn으로 순서를 정의하며, 여러 환경에서 모듈을 재사용합니다. ARM을 통한 기본 내장형 모니터링 기능의 예는 다음과 같습니다.

확장 가능한 배포를 위해 조건(conditions)과 복사 루프(copy loops)를 채택합니다(예: 리소스 ID 집합에 진단 설정 적용). resourceId, subscriptionResourceId, reference, concat, guid와 같은 ARM 함수를 사용하여 동적 참조와 안정적인 이름을 구축합니다. ARM 또는 App Service 구성 리소스를 통해 제공되는 앱 설정에서 역할 이름 규칙과 샘플링을 중앙 집중화하여 서비스 전반에 걸쳐 원격 분석 구성을 일관되게 유지합니다.

실제 문제 시나리오

Adobe는 Azure App Service API와 AKS 마이크로서비스를 기반으로 구축된 새로운 다중 리전 미디어 처리 파이프라인에 대한 엔드투엔드 관찰성(observability)이 필요합니다. 이들은 지연 시간 저하의 신속한 감지, 서비스 전반에 걸친 분산 추적, 퍼블릭 엔드포인트에 대한 사전 예방적 가용성 확인, 그리고 IaC(Infrastructure-as-Code) 반복성을 갖춘 온콜(on-call) 시스템으로의 자동화된 인시던트 라우팅을 요구합니다.

  1. 연결 문자열을 사용하여 Application Insights로 서비스 계측
  1. 분산 추적 및 종속성 추적 활성화
  1. 가용성 테스트 및 사용자 지정 신서틱(synthetic) 검사 구현
  1. Log Analytics 작업 영역으로 데이터 중앙 집중화 및 플랫폼 로그 라우팅
  1. 작업 그룹을 사용한 메트릭 및 로그 경고 생성
  1. 작업 그룹 및 웹훅을 통한 인시던트 대응 통합
  1. ARM 템플릿으로 모니터링 코드화
  1. KQL 대시보드로 유효성 검사

Azure 캐싱 · 모든 도메인

이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

시험 합격하기 →

Microsoft 찾아보기 →

Related guides

올인원 액세스

하나의 구독. 모든 시험.

모든 플랜은 무제한 답변 검색, 모의고사, AI 해설, 전체 자료 라이브러리를 20개 이상의 언어로 잠금 해제합니다.

월간
24.87
Just €0.83/day
모든 포함:
  • 무제한 답변 검색
  • 무제한 모의고사
  • AI 기반 해설
  • 전체 자료 라이브러리
  • 20개 이상의 언어
  • 주간 콘텐츠 업데이트
  • 보상 및 추천
  • 우선 지원
무료 체험 시작

신용카드 필요 없음*

최고의 가치
12개월
179.87
Just €0.49/daySave 40%
모든 포함:
  • 무제한 답변 검색
  • 무제한 모의고사
  • AI 기반 해설
  • 전체 자료 라이브러리
  • 20개 이상의 언어
  • 주간 콘텐츠 업데이트
  • 보상 및 추천
  • 우선 지원
무료 체험 시작

신용카드 필요 없음*

✓ 무료 플랜 포함 · ✓ 언제든지 취소 가능 · ✓ 모든 플랜은 전체 제품을 잠금 해제합니다