빠른 시작: 로그, 메트릭 및 추적을 사용하여 Azure Spring Apps 앱 모니터링

참고 항목

기본, 표준엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.

표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.

이 문서의 적용 대상: ✔️ 기본/표준 ❌ Enterprise

Azure Spring Apps의 기본 제공 모니터링 기능을 사용하여 복잡한 문제를 디버그하고 모니터링할 수 있습니다. Azure Spring Apps는 Steeltoe 분산 추적을 Azure의 Application Insights와 통합합니다. 이 통합은 Azure Portal에서 강력한 로그, 메트릭 및 분산 추적 기능을 제공합니다.

다음 절차에서는 이전 빠른 시작에서 배포한 샘플 앱에서 로그 스트리밍, Log Analytics, 메트릭 및 분산 추적을 사용하는 방법을 설명합니다.

필수 조건

로그

앱 인스턴스당 실시간 로그의 로그 스트리밍 또는 고급 쿼리 기능이 있는 집계 로그의 Log Analytics로 Azure Spring Apps의 로그를 볼 수 있는 두 가지 방법이 있습니다.

스트리밍 로그

Azure Portal에서 로그를 스트리밍하려면 다음 단계를 사용합니다.

  1. Azure Spring Apps 서비스 인스턴스의 개요 페이지로 이동한 다음 탐색 창에서 을 선택합니다.

  2. 대상 앱을 찾아 바로 가기 메뉴를 선택합니다.

  3. 팝업 바로 가기 메뉴에서 로그 스트림 보기를 선택합니다.

    앱 페이지에서 로그 스트림 보기 바로 가기 메뉴 항목이 강조 표시된 Azure Portal의 스크린샷입니다.

기본적으로 로그는 임의로 선택된 앱 인스턴스에 대한 스트리밍을 시작합니다. 나중에 원하는 것을 선택할 수 있습니다.

로그 스트림 페이지를 보여 주는 Azure Portal의 스크린샷입니다.

편의를 위해, 로그를 스트리밍할 수 있는 진입점이 많이 있습니다. 다음 창에서 찾을 수 있습니다.

  • 앱 목록
  • 배포 목록
  • 앱 인스턴스 목록

Log Analytics

  1. Azure Portal에서 서비스 | 개요 페이지로 이동하여 모니터링 섹션에서 로그를 선택합니다. Azure Spring Apps에 대한 샘플 쿼리 중 하나에서 실행을 선택합니다.

    쿼리 페이지가 열려 있고 실행이 강조 표시된 로그 창을 보여 주는 Azure Portal의 스크린샷.

  2. 경고 및 오류 로그에 대한 표시를 제한하는 Where 절을 제거하도록 쿼리를 편집합니다.

  3. 실행을 선택합니다. 로그가 표시됩니다. 자세한 내용은 Azure Monitor에서 로그 쿼리 시작을 참조하세요.

    Logs Analytics 쿼리 결과를 보여 주는 Azure Portal의 스크린샷.

  4. Log Analytics에서 사용되는 쿼리 언어에 대한 자세한 내용은 Azure Monitor 로그 쿼리를 참조하세요. 중앙 집중식 클라이언트에서 모든 Log Analytics 로그를 쿼리하려면 Azure Data Explorer를 확인하세요.

메트릭

  1. Azure Portal에서 서비스 | 개요 페이지로 이동하여 모니터링 섹션에서 메트릭을 선택합니다. 메트릭 드롭다운의 성능(.NET) 또는 요청(.NET)에서 .NET 메트릭 중 하나를 선택하여 첫 번째 메트릭을 추가하고 해당 메트릭에 대한 타임라인을 확인하려면 집계Avg를 선택합니다.

    사용 가능한 필터가 포함된 메트릭 페이지를 보여 주는 Azure Portal의 스크린샷.

  2. 도구 모음에서 필터 추가를 선택하고, App=solar-system-weather를 선택하여 solar-system-weather 앱에 대해서만 CPU 사용량을 확인합니다.

    필터 속성, 연산자 및 값 옵션이 강조 표시된 메트릭 페이지를 보여 주는 Azure Portal의 스크린샷.

  3. 이전 단계에서 만들어진 필터를 닫고 분할 적용을 선택한 다음 에서 을 선택하여 다양한 앱의 CPU 사용량을 확인합니다.

    분할 값, 제한 및 정렬 옵션이 강조 표시된 메트릭 페이지를 보여 주는 Azure Portal의 스크린샷.

분산 추적

  1. Azure Portal에서 서비스 | 개요 페이지로 이동하여 모니터링 섹션에서 분산 추적을 선택합니다. 그런 다음, 오른쪽의 있는 애플리케이션 맵 보기 탭을 선택합니다.

    분산 추적 페이지를 보여 주는 Azure Portal의 스크린샷.

  2. 이제 앱 간의 호출 상태를 볼 수 있습니다.

    애플리케이션 맵 페이지를 보여 주는 Azure Portal의 스크린샷.

  3. solar-system-weatherplanet-weather-provider 사이의 링크를 선택하여 HTTP 메서드에 의한 가장 느린 호출과 같은 자세한 정보를 확인합니다.

    애플리케이션 맵 세부 정보를 보여 주는 Azure Portal의 스크린샷.

  4. 마지막으로, 성능 조사를 선택하여 더 강력한 기본 제공 성능 분석을 탐색합니다.

    성능 페이지를 보여 주는 Azure Portal의 스크린샷.

Azure Spring Apps의 기본 제공 모니터링 기능을 사용하여 복잡한 문제를 디버그하고 모니터링할 수 있습니다. Azure Spring Apps는 Spring Cloud Sleuth를 Azure의 Application Insights와 통합합니다. 이 통합은 Azure Portal에서 강력한 로그, 메트릭 및 분산 추적 기능을 제공합니다. 다음 절차에서는 배포된 PetClinic 앱에서 로그 스트리밍, Log Analytics, 메트릭 및 분산 추적을 사용하는 방법을 설명합니다.

필수 조건

로그

앱 인스턴스당 실시간 로그의 로그 스트리밍 또는 고급 쿼리 기능이 있는 집계 로그의 Log Analytics로 Azure Spring Apps의 로그를 볼 수 있는 두 가지 방법이 있습니다.

스트리밍 로그

Azure Portal에서 로그를 스트리밍하려면 다음 단계를 사용합니다.

  1. Azure Spring Apps 서비스 인스턴스의 개요 페이지로 이동한 다음 탐색 창에서 을 선택합니다.

  2. 대상 앱을 찾아 바로 가기 메뉴를 선택합니다.

  3. 팝업 바로 가기 메뉴에서 로그 스트림 보기를 선택합니다.

    앱 페이지에서 로그 스트림 보기 바로 가기 메뉴 항목이 강조 표시된 Azure Portal의 스크린샷입니다.

기본적으로 로그는 임의로 선택된 앱 인스턴스에 대한 스트리밍을 시작합니다. 나중에 원하는 것을 선택할 수 있습니다.

로그 스트림 페이지를 보여 주는 Azure Portal의 스크린샷입니다.

편의를 위해, 로그를 스트리밍할 수 있는 진입점이 많이 있습니다. 다음 창에서 찾을 수 있습니다.

  • 앱 목록
  • 배포 목록
  • 앱 인스턴스 목록

Log Analytics

  1. 서비스 | 개요 페이지로 이동하여 모니터링 섹션에서 로그를 선택합니다. Azure Spring Apps에 대한 샘플 쿼리 중 하나에서 실행을 선택합니다.

    실행이 강조 표시된 쿼리 페이지를 보여 주는 Azure Portal의 스크린샷.

  2. 그런 다음 필터링된 로그가 표시됩니다. 자세한 내용은 Azure Monitor에서 로그 쿼리 시작을 참조하세요.

    필터링된 로그의 쿼리 결과를 보여 주는 Azure Portal의 스크린샷.

메트릭

Application Insights 페이지로 이동한 다음 메트릭 페이지로 이동합니다. Spring Boot 앱, Spring 모듈, 종속성에서 제공하는 메트릭을 볼 수 있습니다.

다음 차트는 gateway_requests(Spring Cloud Gateway), hikaricp_connections(JDBC 연결) 및 http_client_requests를 보여줍니다.

선택한 값의 그래프와 함께 Application Insights 메트릭 페이지를 보여 주는 Azure Portal의 스크린샷.

Spring Boot는 JVM, CPU, Tomcat 및 Logback을 비롯한 여러 코어 메트릭을 등록합니다. Spring Boot 자동 구성은 Spring MVC가 처리하는 요청을 계측할 수 있도록 합니다. 세 개의 REST 컨트롤러(OwnerResource, PetResourceVisitResource)는 모두 클래스 수준의 @Timed 마이크로미터 주석에 의해 계측됩니다.

customers-service 애플리케이션에는 다음과 같은 사용자 지정 메트릭이 활성화되어 있습니다.

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

visits-service 애플리케이션에는 다음과 같은 사용자 지정 메트릭이 활성화되어 있습니다.

  • @Timed: petclinic.visit

메트릭 페이지에서 다음과 같은 사용자 지정 메트릭을 볼 수 있습니다.

사용자 지정 메트릭이 포함된 Application Insights 메트릭 페이지를 보여 주는 Azure Portal의 스크린샷.

Application Insights에서 가용성 테스트 기능을 사용하여 애플리케이션의 가용성을 모니터링할 수 있습니다.

가용성 테스트 섹션이 강조 표시된 Application Insights 가용성 페이지를 보여 주는 Azure Portal의 스크린샷.

대기 시간이 짧은(1초 미만) 라이브 메트릭을 보려면 라이브 메트릭 페이지로 이동합니다.

Application Insights 라이브 메트릭 페이지의 짧은 대기 시간 그래프를 보여 주는 Azure Portal의 스크린샷.

추적

Azure Spring Apps에서 만든 Application Insights를 열고 Spring 애플리케이션 모니터링을 시작합니다.

애플리케이션 맵 페이지로 이동합니다.

맵 구성 요소가 포함된 Application Insights 애플리케이션 맵 페이지를 보여 주는 Azure Portal의 스크린샷.

성능 페이지로 이동합니다.

작업 세부 정보가 포함된 Application Insights 성능 페이지를 보여 주는 Azure Portal의 스크린샷.

종속성, 특히 SQL 호출에 대한 성능 수치를 볼 수 있는 종속성 탭으로 이동합니다.

종속성 테이블이 강조 표시된 Application Insights 성능 페이지를 보여 주는 Azure Portal의 스크린샷.

SQL 호출을 선택하여 컨텍스트에서 엔드 투 엔드 트랜잭션을 확인합니다.

엔드투엔드 트랜잭션 세부 정보 페이지를 보여 주는 Azure Portal의 스크린샷.

실패 페이지와 예외 탭으로 이동하여 예외 컬렉션을 볼 수 있습니다.

Application Insights 오류 페이지를 보여 주는 Azure Portal의 스크린샷.

예외를 선택하여 컨텍스트에서 엔드투엔드 트랜잭션 및 stacktrace를 확인합니다.

예외 세부 정보 및 호출 스택이 포함된 엔드투엔드 트랜잭션 세부 정보 페이지를 보여 주는 Azure Portal의 스크린샷.

리소스 정리

후속 빠른 시작 및 자습서를 계속 사용하려는 경우 이러한 리소스를 그대로 유지할 수 있습니다. 더 이상 필요 없으면 리소스 그룹을 삭제합니다. 그러면 리소스 그룹의 리소스가 삭제됩니다. Azure CLI를 사용하여 리소스 그룹을 삭제하려면 다음 명령을 사용합니다.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

이전 빠른 시작에서는 기본 리소스 그룹 이름도 설정합니다. 다음 빠른 시작을 계속하지 않으려면 다음 CLI 명령을 실행하여 기본값을 지웁니다.

az config set defaults.group=

다음 단계

Azure Spring Apps의 추가 모니터링 기능을 탐색하려면 다음을 참조하세요.