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

사용자의 편의를 위해 제공되는 기계 번역입니다.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

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.