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

완료됨

금융 조직의 애플리케이션에 문제가 발생하면 고객은 자신의 계좌에 액세스할 수 없습니다. 애플리케이션 문제가 신속하게 해결되지 않으면 고객 만족도에 부정적인 영향을 미칩니다. 사용자의 조직은 Azure로 전환하면서 이러한 문제를 피하고 싶어합니다.

이 단원에서는 Azure Monitor Application Insights를 애플리케이션과 통합하는 방법을 설명합니다. Application Insights를 사용하면 애플리케이션 상태를 확인하고 문제를 더 빠르게 해결할 수 있습니다.

애플리케이션 인사이트를 사용하는 경우는 다음과 같습니다.

  • 애플리케이션의 상태와 성능에 영향을 주는 문제를 분석하여 처리하려는 경우
  • 애플리케이션의 개발 수명 주기를 향상시키려는 경우
  • 사용자 환경을 평가하고 사용자 동작을 분석합니다.

Application Insights와 애플리케이션의 통합

Application Insights를 애플리케이션과 통합하려면 Azure Portal에서 Application Insights를 사용하도록 설정하거나 Application Insights를 사용하여 애플리케이션을 계측할 수 있습니다. 계측은 에이전트 또는 SDK를 사용하여 앱에서 모니터링 데이터를 수집할 수 있도록 하는 것을 말합니다. 계측에 대한 방식은 애플리케이션의 언어 및 플랫폼에 따라 다릅니다.

대부분의 경우 Azure Portal에서 코드 없는 연결을 사용하거나 에이전트를 사용하여 애플리케이션 소스 코드에 액세스하지 않고도 계측을 구현할 수 있습니다. 예를 들어, Azure App Services에서 호스트되는 .NET 및 .NET Core 애플리케이션의 경우 Azure Portal에서 토글을 사용하여 Application Insights로 모니터링 데이터 컬렉션을 사용하도록 설정할 수 있습니다.

Screenshot of onboarding to Application Insights in the Azure portal.

Application Insights는 애플리케이션의 성능 및 상태에 대한 데이터를 자동으로 수집하고 이 데이터를 Azure Portal에 표시합니다. Application Insights 왼쪽 탐색에서 실패를 선택하면 앱에 대해 수집된 모든 실패 목록을 가져오고 각 오류를 자세히 살펴볼 수 있습니다.

Screenshot of analyzing failures.

오류 또는 예외의 근본 원인을 계속 조사하려면 문제가 있는 트랜잭션을 자세히 살펴보고 종속성 및 예외 세부 정보가 포함된 자세한 엔드투엔드 트랜잭션 보기를 볼 수 있습니다.

Screenshot of analyzing failure with end-to-end view.

또한 Application Insights는 앱 종속성을 자동으로 검색하여 분산 추적을 지원하고 애플리케이션 토폴로지 보기를 만듭니다. Application Insights 왼쪽 탐색 메뉴에서 애플리케이션 맵을 선택하면 이 토폴로지를 볼 수 있습니다.

맵의 각 구성 요소를 선택하면 해당 구성 요소에 대한 자세한 내용을 볼 수 있습니다. 예를 들어, 인스턴스에 대한 가장 느린 요청을 확인하고 성능을 추가로 조사할 수 있습니다. 이러한 상세한 분석은 애플리케이션을 더 잘 이해하고 해당 요구 사항에 대응하는 데 도움이 됩니다.

Screenshot of application map.

애플리케이션의 성능 모니터링

느린 트랜잭션을 더 자세히 조사하여 느린 요청 및 서버 측 종속성을 식별할 수 있습니다. 애플리케이션 맵에서 성능 조사를 선택하거나 Application Insights 왼쪽 탐색에서 성능을 선택하여 드릴다운합니다.

Screenshot of analyzing performance.

성능 화면에서 시간 범위, 작업 이름 및 관심 시간 범위를 선택하여 느린 트랜잭션을 격리할 수 있습니다. 또한 자동으로 식별된 트랜잭션 간 변칙 및 공통점이 있는 프롬프트가 표시됩니다. 여기에서 종속성의 Gantt 차트를 사용하여 트랜잭션 세부 정보에 대한 엔드투엔드 보기의 개별 트랜잭션을 살펴볼 수 있습니다.

Application Insights를 사용하여 웹 페이지를 계측하는 경우 페이지 보기, 브라우저 작업 및 종속성을 볼 수도 있습니다. 이 브라우저 데이터를 수집하려면 웹 페이지에 스크립트를 추가해야 합니다. 스크립트를 추가한 후 브라우저 토글을 선택하여 페이지 조회수 및 관련 성능 메트릭에 액세스할 수 있습니다.

사용자 동작 분석

Application Insights를 사용하여 웹 페이지를 계측하면 서버 쪽 모니터링 기능을 확대하기 위해 사용 정보가 수집됩니다. 동일한 브라우저 쪽 JavaScript 계측은 사용자 수, 세션, 이벤트, 브라우저 버전, OS 버전 및 위치를 포함한 사용 현황 데이터를 제공합니다. 이 사용 현황 데이터는 앱에서 가장 자주 사용되는 페이지, 사용자가 이탈하는 페이지, 특정 페이지의 전환율 및 보존율을 보여 줍니다.

Screenshot of application events split by browser.

앞의 예에서는 가장 널리 사용되는 브라우저와 버전을 보여 줍니다. 이 유형의 정보를 사용하여 기능 및 성능 테스트 리소스 할당에 대한 결정을 알려줄 수 있습니다.

애플리케이션의 가용성 모니터링

Application Insights 가용성 페이지를 사용하면 애플리케이션 상태를 지속적으로 모니터링하고 다양한 지리적 위치에서 애플리케이션 상태를 확인할 수 있습니다.

Screenshot of viewing application availability by locations over time.

가용성 테스트를 만든 후 가용성 페이지를 사용하여 애플리케이션이 여러 위치에서 어떻게 작동하는지 확인할 수 있습니다. 산점도 그래프의 각 점은 실행된 테스트를 나타냅니다. 빨간색 점은 테스트가 실패했음을 의미합니다.

원인에 대한 정보를 포함하여 테스트 실패에 대한 자세한 분석을 보려면 빨간색 점을 선택합니다. 해당 정보를 활용하여 적절하게 대응할 수 있습니다.

가용성 테스트를 만들 때 빈도, 애플리케이션의 URL, 앱을 테스트할 위치 등의 세부 정보를 지정할 수 있습니다. 다음 예에서는 5개 지리적 위치에서 5분마다 애플리케이션에 요청을 보내는 테스트 구성을 보여 줍니다.

Screenshot of availability test creation.

알림 받기 및 작업 수행

애플리케이션의 성능과 가용성을 모니터링하도록 Application Insights 경고 규칙을 구성할 수 있습니다. 경고를 트리거해야 하는 조건을 지정하고 경고 처리 방법을 지정할 수 있습니다. 예를 들어, 지정된 개수의 위치를 사용할 수 없거나 특정 개수의 예외가 발생하는 경우 Application Insights에서 경고를 보낼 수 있습니다.

경고에 대해 알릴 사용자를 지정할 수도 있습니다. Application Insights는 이메일 또는 문자 메시지를 통해 경고를 보내거나 Runbook 및 웹후크를 사용하여 자동화를 통해 경고에 응답할 수 있습니다.

지식 점검

1.

Application Insights는 애플리케이션 성능의 어떤 측면을 모니터링할 수 있나요?

2.

다양한 지리적 위치에서 애플리케이션을 지속적으로 모니터링하려면 어떻게 해야 하나요?