빠른 시작: Azure Application Insights를 사용하여 Node.js 웹 애플리케이션 모니터링 시작Quickstart: Start monitoring your Node.js Web application with Azure Application Insights

이 빠른 시작은 기존 Node.js 웹 애플리케이션에 Node.js용 Application Insights SDK 버전 0.22를 추가하는 방법을 안내합니다.This quickstart guides you through adding the version 0.22 Application Insights SDK for Node.js to an existing Node.js web application.

Azure Application Insights를 사용하면 웹 애플리케이션의 가용성, 성능 및 사용량을 쉽게 모니터링할 수 있습니다.With Azure Application Insights, you can easily monitor your web application for availability, performance, and usage. 또한 사용자가 보고할 때까지 기다리지 않고 애플리케이션의 오류를 빠르게 식별하고 진단할 수 있습니다.You can also quickly identify and diagnose errors in your application without waiting for a user to report them. SDK 릴리스 버전 0.20 이상을 사용하면 MongoDB, MySQL 및 Redis를 포함하여 일반적인 타사 패키지를 모니터링할 수 있습니다.With the version 0.20 SDK release onward, you can monitor common third-party packages, including MongoDB, MySQL, and Redis.

사전 요구 사항Prerequisites

이 빠른 시작을 완료하려면 다음이 필요합니다.To complete this quickstart:

  • Azure 구독과 기존 Node.js 웹 애플리케이션이 필요합니다.You need an Azure Subscription and an existing Node.js web application.

Node.js 웹 애플리케이션이 없는 경우 Node.js 웹앱 만들기 빠른 시작에 따라 Node.js 웹 애플리케이션을 만들 수 있습니다.If you don't have a Node.js web application, you can create one by following the Create a Node.js web app quickstart.

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

Azure Portal에 로그인Sign in to the Azure portal

Azure Portal에 로그인합니다.Sign in to the Azure portal.

Application Insights 사용Enable Application Insights

Application Insights는 온-프레미스 또는 클라우드에서 실행되는지 여부에 관계 없이 인터넷에 연결된 모든 애플리케이션에서 원격 분석 데이터를 수집할 수 있습니다.Application Insights can gather telemetry data from any internet-connected application, regardless of whether it's running on-premises or in the cloud. 이 데이터를 보기 시작하려면 다음 단계를 사용합니다.Use the following steps to start viewing this data.

  1. 리소스 만들기 > 개발자 도구 > Application Insights를 선택합니다.Select Create a resource > Developer tools > Application Insights.

    Azure Application Insights 리소스 추가

    참고

    Application Insights 리소스를 처음 만드는 경우 자세한 내용은 Application Insights 리소스 만들기 문서를 참조하세요.If this is your first time creating an Application Insights resource you can learn more by visiting the Create an Application Insights Resource doc.

    구성 페이지가 표시되면 다음 표를 사용하여 입력 필드를 채웁니다.A configuration page appears; use the following table to fill out the input fields.

    설정Settings Value DescriptionDescription
    이름Name 전역적으로 고유한 값Globally Unique Value 모니터링하는 응용 프로그램을 식별하는 이름입니다.Name that identifies the app you are monitoring
    리소스 그룹Resource Group myResourceGroupmyResourceGroup App Insights 데이터를 호스팅할 새 리소스 그룹의 이름입니다.Name for the new resource group to host App Insights data. 새 리소스 그룹을 만들거나 기존 그룹을 사용할 수 있습니다.You can create a new resource group or use an existing one.
    위치Location 미국 동부East US 가까운 위치 또는 응용 프로그램이 호스팅되는 위치 근처를 선택합니다.Choose a location near you, or near where your app is hosted
  2. 만들기를 선택합니다.Select Create.

Application Insights SDK 구성Configure App Insights SDK

  1. 개요를 선택하고, 애플리케이션의 계측 키를 복사합니다.Select Overview and copy your application's Instrumentation Key.

    Application Insights 계측 키 보기

  2. Node.js용 Application Insights SDK를 애플리케이션에 추가합니다.Add the Application Insights SDK for Node.js to your application. 응용 프로그램의 루트 폴더에서 다음을 실행합니다.From your app's root folder run:

    npm install applicationinsights --save
    
  3. 응용 프로그램의 첫 번째 .js 파일을 편집하고, 스크립트의 맨 위쪽에 아래 두 줄을 추가합니다.Edit your app's first .js file and add the two lines below to the topmost part of your script. Node.js 빠른 시작 응용 프로그램을 사용하는 경우 index.js 파일을 수정합니다.If you are using the Node.js quickstart app, you would modify the index.js file. <instrumentation_key>를 애플리케이션의 계측 키로 바꿉니다.Replace <instrumentation_key> with your application's instrumentation key.

    const appInsights = require('applicationinsights');
    appInsights.setup('<instrumentation_key>').start();
    
  4. 응용 프로그램을 다시 시작합니다.Restart your app.

참고

데이터가 포털에 표시되려면 3-5분 정도 걸립니다.It takes 3-5 minutes before data begins appearing in the portal. 이 응용 프로그램이 트래픽이 적은 테스트 앱인 경우 활성 요청이나 작업이 발생하는 경우에만 대부분의 메트릭이 캡처됩니다.If this app is a low-traffic test app, keep in mind that most metrics are only captured when there are active requests or operations occurring.

Azure Portal에서 모니터링 시작Start monitoring in the Azure portal

  1. 이제 계측 키를 검색한 Azure Portal에서 Application Insights 개요 페이지를 다시 열어 현재 실행 중인 애플리케이션에 대한 세부 정보를 볼 수 있습니다.You can now reopen the Application Insights Overview page in the Azure portal, where you retrieved your instrumentation key, to view details about your currently running application.

    Application Insights 개요 메뉴

  2. 애플리케이션 구성 요소 간의 종속성 관계에 대한 시각적 레이아웃을 보려면 애플리케이션 맵을 선택합니다.Select Application map for a visual layout of the dependency relationships between your application components. 각 구성 요소에는 로드, 성능, 오류 및 경고와 같은 KPI가 표시됩니다.Each component shows KPIs such as load, performance, failures, and alerts.

    Application Insights 애플리케이션 맵

  3. 앱 분석 아이콘 애플리케이션 맵 아이콘 Analytics에서 보기를 선택합니다.Select the App Analytics icon Application Map icon View in Analytics. 그러면 Application Insights에 의해 수집된 모든 데이터를 분석하기 위한 풍부한 쿼리 언어를 제공하는 Application Insights Analytics가 열립니다.This opens Application Insights Analytics, which provides a rich query language for analyzing all data collected by Application Insights. 이 경우 요청 수를 차트로 렌더링하는 쿼리가 생성됩니다.In this case, a query is generated for you that renders the request count as a chart. 사용자 고유의 쿼리를 작성하여 다른 데이터를 분석할 수 있습니다.You can write your own queries to analyze other data.

    Application Insights Analytics 그래프

  4. 개요 페이지로 돌아가서 KPI 그래프를 검사합니다.Return to the Overview page and examine the KPI graphs. 이 대시보드는 들어오는 요청의 수, 해당 요청의 기간 및 발생한 모든 오류를 포함하여 애플리케이션 상태에 대한 통계를 제공합니다.This dashboard provides statistics about your application health, including the number of incoming requests, the duration of those requests, and any failures that occur.

    Application Insights 상태 개요 타임라인 그래프

    페이지 보기 로드 시간 차트를 클라이언트 쪽 원격 분석 데이터로 채우도록 하려면 이 스크립트를 추적하려는 각 페이지에 추가합니다.To enable the Page View Load Time chart to populate with client-side telemetry data, add this script to each page that you want to track:

    <!-- 
    To collect user behavior analytics tools about your application, 
    insert the following script into each page you want to track.
    Place this code immediately before the closing </head> tag,
    and before any other scripts. Your first data will appear 
    automatically in just a few seconds.
    -->
    <script type="text/javascript">
      var appInsights=window.appInsights||function(config){
        function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",y=u.createElement(o),r,f;y.src=config.url||"https://az416426.vo.msecnd.net/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version="1.0",r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)i("track"+r.pop());return i("set"+s),i("clear"+s),i(h+a),i(c+a),i(h+v),i(c+v),i("flush"),config.disableExceptionTracking||(r="onerror",i("_"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t["_"+r](config,i,u,e,o),s}),t
        }({
            instrumentationKey:"<insert instrumentation key>"
        });
    
        window.appInsights=appInsights;
        appInsights.trackPageView();
    </script>
    
  5. 왼쪽에서 메트릭을 선택합니다.On the left, select Metrics. 메트릭 탐색기를 사용하여 리소스의 상태 및 사용률을 조사합니다.Use the metrics explorer to investigate the health and utilization of your resource. 새 차트 추가를 선택하여 사용자 지정 보기를 추가로 만들거나, 편집을 선택하여 기존 차트의 종류, 높이, 색상표, 그룹화 및 메트릭을 수정할 수 있습니다.You can select Add new chart to create additional custom views or select Edit to modify the existing chart types, height, color palette, groupings, and metrics. 예를 들어 메트릭 드롭다운의 "브라우저 페이지 로드 시간"과 집계의 "Avg"를 선택하여 평균 브라우저 페이지 로드 시간을 표시하는 차트를 만들 수 있습니다.For example, you can make a chart that displays the average browser page load time by selecting "Browser page load time" from the metrics drop down and "Avg" from aggregation. Azure 메트릭 탐색기에 대해 자세히 알아보려면 Azure 메트릭 탐색기 시작을 방문하세요.To learn more about Azure Metrics Explorer visit Getting started with Azure Metrics Explorer.

    Application Insights Server 메트릭 그래프

Node.js 모니터링에 대한 자세한 내용은 Application Insights Node.js 추가 설명서를 참조하세요.To learn more about monitoring Node.js, check out the additional App Insights Node.js documentation.

리소스 정리Clean up resources

테스트를 완료하면 리소스 그룹 및 모든 관련 리소스를 삭제할 수 있습니다.When you are done testing, you can delete the resource group and all related resources. 이 작업을 수행하려면 다음 단계를 따르세요.To do so follow the steps below.

참고

기존 리소스 그룹을 사용하는 경우 아래 지침이 작동하지 않으므로 개별 Application Insights 리소스를 삭제하기만 하면 됩니다.If you used an existing resource group the instructions below will not work and you will need to just delete the individual Application Insights resource. 리소스 그룹을 삭제할 때마다 해당 그룹의 구성원인 모든 underyling 리소스가 삭제됩니다.Keep in mind anytime you delete a resource group all underyling resources that are members of that group will be deleted.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택한 다음, myResourceGroup을 선택합니다.From the left-hand menu in the Azure portal, select Resource groups and then select myResourceGroup.
  2. 리소스 그룹 페이지에서 삭제를 선택하고, 텍스트 상자에서 myResourceGroup을 입력한 다음, 삭제를 선택합니다.On your resource group page, select Delete, enter myResourceGroup in the text box, and then select Delete.

다음 단계Next steps