• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Azure Web Apps에서 .NET 에이전트 디버깅

문제

Azure용 New Relic의 .NET 에이전트를 설치한후 다음 문제 중 하나 이상이 발생합니다.

  • 데이터가 표시되지 않습니다.
  • New Relic에 애플리케이션 이름이 표시되지만 누락된 데이터가 있음을 알 수 있습니다.

해결책

확인하고 이해해야 할 중요한 사항:

  • 설치 및 실행 단계를 따랐는지확인하십시오.
  • 당신은 반드시 .NET 에이전트가 제대로 작동하려면 Application Insights를 비활성화 하십시오.
  • .NET 에이전트 버전 8.22.181.0부터 에이전트를 방해하지 않고 Azure의 Always On 설정을 사용할 수 있습니다. 애플리케이션이 .NET Framework 4.0 이하를 대상으로 하는 경우 Always On 에이전트를 방해하며 여기에서 해결 방법을 계속 적용할 수 있습니다.

1단계: 애플리케이션의 에이전트 로그 확인

중요

Kudu를 사용하여 웹 사이트와 병렬로 실행되는 사이트인 에이전트 로그를 확인할 수 있으며 프로세스 검사, 파일 시스템 보기, 파일 및 디렉터리 다운로드에 사용할 수 있는 다양한 도구를 제공합니다.

웹사이트의 URL이 example.azurewebsites.net이면 Kudu 사이트는 example.scm.azurewebsites.net입니다. 사이트의 배포 자격 증명을 사용하여 Kudu 사이트에 로그인합니다.

로그를 확인할 때 중요한 팁:

  • New Relic Azure 사이트 확장을 사용할 때 Azure 웹 앱이 D: 파일 시스템 루트를 사용한다고 가정하면 로그 위치는 기본적으로 D:\home\LogFiles\NewRelic입니다. Azure 웹에서 C: 루트를 사용하는 경우 올바른 드라이브 문자를 사용해야 합니다.
  • NewRelic.Agent 또는 NewRelic.Azure.WebSites NuGet 패키지로 에이전트를 설치한 경우 프로젝트 내에서 에이전트가 추출된 디렉터리에서 logs 폴더를 찾을 수 있습니다. 이것은 종종 wwwroot 폴더 내의 newrelic 폴더입니다.

에이전트 로그를 확인하려면:

  1. 현재 데이터를 보고 있는지 확인하십시오. 생성한 로그가 시스템의 현재 상태를 반영하도록 로그 디렉토리의 기존 파일을 삭제하거나 이동합니다.
  2. 응용 프로그램을 다시 시작하십시오.
  3. New Relic 계정에서 볼 것으로 예상되는 트래픽을 생성하는 방식으로 최소한 몇 분 동안 애플리케이션을 실행하십시오.
  4. 애플리케이션이 실행 중인 프로세스 ID(PID)를 기록해 해당 프로세스에 대한 로그가 생성되고 있는지 확인할 수 있습니다. Kudu의 내장 Process Explorer를사용하여 PID를 찾을 수 있습니다.
  5. 에이전트 로그 디렉터리로 돌아가 애플리케이션의 프로세스 ID가 포함된 이름(예: NewRelic.Profiler.[PID].log의 로그 파일을 찾습니다.
  6. 로그 디렉터리에 해당 프로파일러 로그 파일이 표시되면 해당 에이전트 로그가 있는지도 확인하십시오. 에이전트 로그에는 newrelic_agent접두사가 포함되어 있습니다. 호스트에서 여러 .NET 애플리케이션을 실행 중인 경우 이들 중 하나 이상이 있을 수 있습니다. 하나 이상이 표시되면 모니터링하려는 응용 프로그램에 해당하는 것을 결정해야 합니다.
  7. 에이전트 로그에서 (pid [your PID]) 문자열(예: (pid 1573) )을 검색합니다. 로그 파일에서 해당 문자열을 찾으면 애플리케이션과 연결된 에이전트 로그임을 알 수 있습니다.
  8. 에이전트가 New Relic으로 데이터를 보내지 못하게 할 수 있는 네트워크 또는 기타 오류를 찾으십시오.

2단계: .NET 에이전트 프로파일러가 애플리케이션 프로세스에 로드되었는지 확인

프로파일러가 로드되었는지 확인하려면:

  1. Windows 설치용 Kudu의 기본 제공 Process Explorer를 사용합니다. Linux 설치의 경우 이 문서의 명령을 참조하십시오.
  2. Process Explorer[프로세스 탐색기] 에서 모니터링하려는 프로세스를 찾고 PID 열의 번호를 기록해 둡니다. 웹 애플리케이션을 모니터링하려는 경우 프로세스 이름은 Kudu 프로세스 자체를 나타내는 SCM 레이블 없이 w3wp.exe 일 가능성이 높습니다. 에이전트는 SCM(Kudu) 프로세스를 계측하면 안 됩니다.
  3. 애플리케이션 프로세스를 찾았으면 Properties 버튼을 클릭합니다.
  4. Modules 탭을 클릭하고 NewRelic.Profiler.dll 찾습니다. 이 DLL은 에이전트가 애플리케이션을 모니터링하는 데 필요합니다. 찾을 수 없는 경우 올바른 환경 변수가 있고(자세한 내용은 3단계참조) Microsoft Application Insights가 비활성화되어 있는지확인합니다.

NewRelic.Profiler.dll가) 표시되지 않으면 다음 단계를 계속합니다. 이 DLL이 표시되고 앱이 트래픽을 수신하는 경우 1단계에 설명된 대로 로그가 표시되어야 합니다.

3단계: 필수 환경 변수 확인

필요한 환경 변수를 확인하려면 다음을 수행하십시오:

  1. Process Explorer에서 애플리케이션의 프로세스를 찾고 Properties 버튼을 클릭합니다.
  2. Engvironment(환경) 탭을 선택합니다.

올바른 변수가 설정되어 있고 모니터링하려는 애플리케이션이 해당 변수에 액세스할 수 있는 경우 설치한 에이전트가 .NET Framework인지 .NET Core인지에 따라 특정 환경 변수 집합이 표시되어야 합니다.

중요

이 예에서는 모두 Azure Web App이 D: 파일 시스템 루트를 사용한다고 가정합니다. Azure 웹에서 C: 루트를 사용하는 경우 이러한 경로를 구성할 때 올바른 드라이브 문자를 사용해야 합니다.

이러한 환경 변수 및 해당 기능에 대한 자세한 내용은 .NET 에이전트 환경 변수를 이해하는방법을 참조하세요.

애플리케이션 이름이 New Relic에 표시되지만 트랜잭션이 표시되지 않는 경우 트래픽이 앱에 도달하지 않거나 에이전트가 자동으로 계측할 수 있는 알려진 프레임워크를 만나지 않기 때문일 수 있습니다.

  • .NET Framework 자동 계측 프레임워크에 대해서는 호환성 페이지 를참조하십시오.
  • .NET Core 자동 계측 프레임워크의 경우 호환성 페이지 를참조하십시오.
  • 애플리케이션이 호환되는 앱 프레임워크 중 하나를 사용하지 않는 경우 모니터링에 중요한 애플리케이션 부분과 트랜잭션 범위를 구성하는 부분을 에이전트에 알리기 위해 맞춤형 계측 을 구현해야 할 수 있습니다.

위의 단계가 문제를 해결하는 데 도움이 되지 않으면 지원팀에 문의하거나 지원 포럼에서 도움을 요청하는 것이 좋습니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.