연습 - 애플리케이션 성능 모니터링

완료됨

이 연습에서는 제로 구성을 사용하여 샘플 애플리케이션에 대한 데이터 흐름을 손쉽게 모니터링할 수 있습니다.

Azure Application Insights를 사용하여 애플리케이션 모니터링

애플리케이션 맵을 사용하면 분산 애플리케이션의 모든 구성 요소에서 성능 병목이나 실패 지점을 발견할 수 있습니다.

  1. Azure Portal을 엽니다.

  2. Azure 서비스 목록에서 Azure Spring Apps를 선택합니다.

  3. Azure Spring Apps 인스턴스를 선택합니다.

  4. Application Insights 개요 페이지로 이동하려면 Application Insights를 선택합니다.

    Spring 앱의 Application Insights를 보여주는 스크린샷.

  5. 왼쪽에서 Azure Spring Apps 마이크로 서비스의 보기를 볼 수 있는 애플리케이션 맵으로 이동합니다.

애플리케이션 맵은 정상적으로 작동하는 애플리케이션(녹색)과 병목 현상이 있는 애플리케이션(빨간색)을 보여 줍니다.

이전 애플리케이션 맵에서 녹색 상자의 각 이름은 Azure Spring 앱의 다른 서비스입니다.

애플리케이션의 문제를 쉽게 식별하고 신속하게 문제를 해결하고 고칠 수 있습니다. 맵의 각 노드는 상태 KPI 및 경고 상태가 포함된 마이크로 서비스 또는 해당 종속성을 나타냅니다. 구성 요소부터 Application Insights 이벤트와 같은 더 자세한 진단까지 선택할 수 있습니다.

성능

  1. 왼쪽에서 성능으로 이동하여 애플리케이션에서 노출하는 작업의 응답 시간 및 요청 수를 확인할 수 있습니다.

    Azure Spring 앱 인스턴스의 작업 성능 보기를 보여주는 스크린샷

  2. 그런 다음, 오른쪽에서 종속성과 응답 시간 및 요청 수를 모두 볼 수 있는 종속성으로 이동합니다.

    종속성, 특히 SQL 호출에 대한 성능 수치를 볼 수 있습니다.

    종속성 성능 보기를 보여 주는 스크린샷.

  3. 컨텍스트에서 트랜잭션을 확인하려면 작업 선택 탭에서 SQL 문을 선택합니다.

    SQL 트랜잭션을 보여 주는 스크린샷.

  4. 그런 다음, 오른쪽 탭에서 드릴인투를 선택하고 맨 오른쪽 탭에서 SQL 샘플을 선택하여 트랜잭션 세부 정보 창을 엽니다.

    SQL 샘플 트랜잭션을 보여 주는 스크린샷.

  5. 마지막으로 엔드투엔드 트랜잭션 세부 정보 보기에서 SQL 문을 선택하여 샘플 SQL 문 트랜잭션을 확인합니다.

    SQL 트랜잭션 세부 정보를 보여 주는 스크린샷.

실패/예외

  1. 조사 섹션에 있는 Application Insights 리소스 메뉴에서 실패를 선택합니다. 이 보기에는 상위 3개 실패 응답 코드, 상위 3개 예외 형식 및 상위 3개 실패 종속성 형식이 표시됩니다.

    Azure Spring 앱 인스턴스의 실패 보기를 보여주는 스크린샷

  2. 오른쪽에서 의미 있는 인사이트 및 실행 가능한 스택 추적에 대해 상위 3개 예외 형식의 예외를 선택합니다.

    예외 화면을 보여 주는 스크린샷.

  3. 그런 다음, 오른쪽 탭에서 제안됨 예외 샘플을 선택하여 트랜잭션 세부 정보 창을 엽니다.

    예외 세부 정보 화면을 보여 주는 스크린샷

  4. 다음으로, 엔드투엔드 트랜잭션 세부 정보 창에서 예외 속성을 확인합니다.

    예외 세부 정보 화면을 보여 주는 스크린샷.

  5. 마지막으로, 화면 중간의 엔드투엔드 트랜잭션 탭에서 예외를 선택하여 해당 세부 정보 및 스택 추적을 확인합니다.

    예외 스택 추적 화면을 보여 주는 스크린샷.

메트릭

Spring Boot는 많은 핵심 메트릭을 등록합니다. JVM, CPU, Tomcat, Logback 등. Spring Boot 앱, Spring Apps 모듈, 종속성에 의해 기여된 메트릭을 볼 수 있습니다.

표준 메트릭 차트를 만들려면 모니터링 섹션에서 메트릭 탭을 열고 다음 단계를 수행합니다.

  1. 메트릭 네임스페이스 아래의 범위Azure Spring Apps 아래에서 Azure Spring Apps가 선택되어 있는지 확인합니다. 리소스의 메뉴에서 메트릭 탐색기를 연 경우에는 두 항목이 이미 채워져 있습니다.

    메트릭을 보여 주는 스크린샷.

  2. 다음으로, 메트릭에서 앱 CPU 사용량을 선택하고 집계에서 평균을 선택합니다.

    앱 CPU 메트릭 추가를 보여 주는 스크린샷.

  3. 다음으로, 오른쪽 메트릭 표시줄에서 아이콘을 선택하여 첫 번째 메트릭을 저장합니다.

    메트릭 선택을 보여 주는 스크린샷.

  4. 다음으로, 왼쪽 상단 도구 모음에서 메트릭 추가 작업을 선택하여 다른 메트릭을 추가하고, 집계 아래의 메트릭평균에서 system.cpu.usage를 추가합니다.

    시스템 CPU 메트릭 추가를 보여 주는 스크린샷.

  5. 다음으로, 오른쪽 메트릭 표시줄에서 아이콘을 선택하여 두 번째 메트릭을 저장합니다.

    시스템 CPU 메트릭 저장을 보여 주는 스크린샷.

  6. 마지막으로 앱과 시스템 CPU 메트릭을 모두 표시하는 메트릭 그래프를 검사합니다. 시스템 및 앱 CPU 메트릭을 보여 주는 스크린샷

사용자 지정 메트릭

Azure에서 리소스 및 애플리케이션을 배포하는 동안 성능 및 상태에 대한 정보를 얻기 위해 원격 분석 수집을 시작할 수 있습니다. Azure는 몇 가지 메트릭을 기본적으로 제공합니다. 이러한 메트릭을 표준 또는 플랫폼이라고 합니다. 그러나 메트릭은 본질적으로 제한되어 있습니다. 더욱 심층적인 인사이트를 제공하려면 일부 사용자 지정 성능 지표 또는 비즈니스 관련 메트릭을 수집하는 것이 좋습니다.

표준 메트릭 차트와 유사하게 사용자 지정 메트릭 차트를 만들려면 모니터링 섹션 아래의 메트릭 탭을 열고 다음 단계를 수행합니다.

  1. 리소스 범위 선택에서 Azure Spring Apps가 선택되어 있는지 확인합니다. 리소스의 메뉴에서 메트릭 탐색기를 연 경우에는 이미 채워져 있습니다.

  2. 다음으로, 메트릭 네임스페이스에서 azure.applicationinsights 네임스페이스를 선택합니다. 네임스페이스는 메트릭을 쉽게 찾을 수 있도록 구성하는 방법일 뿐입니다.

    사용자 지정 메트릭에 대한 네임스페이스 선택을 보여 주는 스크린샷.

  3. 다음으로, 메트릭 아래에서 다음 사용자 지정 메트릭 및 집계를 추가합니다.

    • 메트릭 petclinic_pet, 집계: count

      사용자 지정 메트릭에 대한 메트릭 및 집계 선택 항목을 보여 주는 스크린샷.

    • 메트릭 petclinic_owner, 집계: count

    • 메트릭 petclinic_visit, 집계: count

      완료된 사용자 지정 메트릭 보기를 보여 주는 스크린샷.

  4. 다음으로, 오른쪽 위에서 그래프 유형을 영역형 차트로 변경합니다.

    사용자 지정 메트릭 보기에 대한 그래프 유형 선택 항목을 보여 주는 스크린샷.

    최종 그래프에는 각 애완 동물, 수의사 및 소유자 마이크로 서비스에 대한 지난 24시간 동안의 수가 표시됩니다.

    최종 사용자 지정 메트릭 보기를 보여 주는 스크린샷.

라이브 메트릭

새 버전의 웹앱을 배포하는 경우 성능에 대한 즉각적인 영향을 확인하는 것이 좋습니다. 응답 시간이 개선되거나 악화되었나요? 아니면 실패가 표시되나요? 배포가 진행되는 동안 Application Insights에서 라이브 메트릭 스트림을 시청하면 효과를 즉시 볼 수 있습니다. 문제가 있는 경우에는 너무 많은 사용자가 영향을 받기 전에 배포를 중단할 수 있습니다.

라이브 메트릭 스트림을 사용하면 라이브 애플리케이션의 핵심을 살펴볼 수 있습니다. 메트릭 및 성능 카운터를 선택하고 필터링하여 서비스에 대한 방해 없이 실시간으로 시청할 수 있습니다. 샘플 실패 요청 및 예외에서 스택 추적을 검사할 수도 있습니다.

  1. 왼쪽의 조사에서 라이브 메트릭으로 이동하면 거의 실시간으로(단 1초 이내) 라이브 메트릭을 볼 수 있습니다.

    Azure Spring 앱의 라이브 메트릭 보기를 보여주는 스크린샷

  2. 메트릭을 아래로 스크롤하여 각 마이크로 서비스에 대한 메트릭을 확인합니다.

    Azure Spring 앱의 서비스 라이브 메트릭 보기를 보여주는 스크린샷