• 로그인지금 시작하기

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

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

문제 신고

Windows에서 .NET 에이전트 디버깅

문제

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

  • 데이터가 표시되지 않습니다.
  • 누락된 데이터가 있음을 알 수 있습니다.
  • 로그가 표시되지 않습니다.

해결책

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

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

로그를 확인하기 전에 중요한 팁:

  • MSI Windows 설치 프로그램을 사용하는 경우 기본값은 %ALLUSERSPROFILE%\New Relic\.NET Agent\Logs 입니다.
  • NewRelic.Agent NuGet 패키지로 에이전트를 설치한 경우 시스템에서 에이전트가 추출된 디렉터리에서 logs 폴더를 찾을 수 있습니다.

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

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

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

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

  1. Microsoft Process Explorer 를 서버에 다운로드하고 압축을 풉니다.

  2. 사용자 환경(32비트와 64비트)에 적합한 Process Explorer 버전을 관리자로 시작합니다(관리자 로 실행을 마우스 오른쪽 버튼으로 클릭).

  3. Process Explorer의 기본 창에서 모니터링하려는 프로세스를 찾고 PID 열의 번호를 기록해 둡니다. IIS 호스팅 웹 애플리케이션을 모니터링하려는 경우 프로세스 이름은 w3wp.exe 입니다.

  4. 프로세스 탐색기 메뉴 표시줄에서 View > Show lower pane 를 선택한 다음 View > Lower pane view > DLLs 을 선택합니다.

  5. 위쪽 창에서 애플리케이션 프로세스를 강조 표시한 다음 아래쪽 창에서 다음 DLL을 확인합니다.

    • NewRelic.Profiler.dll - 이 DLL은 에이전트가 애플리케이션을 모니터링하는 데 필요합니다. 존재하지 않는 경우 애플리케이션을 실행 중인 사용자에게 에이전트가 설치된 폴더에 대한 읽기 권한이 있는지 확인하십시오.

      중요

      • .NET Framework 에이전트 에서 이는 NEWRELIC_INSTALL_PATH 환경 변수와 동일해야 합니다.
      • .NET Core 에이전트 에서 이는 CORECLR_NEWRELIC_HOME 환경 변수와 동일해야 합니다.
    • mscorlib.dll: .NET Framework 에이전트 전용입니다. 이 DLL의 존재는 에이전트가 앱을 .NET Framework 애플리케이션으로 식별하는 방법입니다. 존재하지 않는 경우 에이전트는 앱을 완전히 무시합니다. 앱에 이 DLL이 포함되어 있지 않은 경우 앱이 에이전트 호환성 요구 사항 을 충족하는지 다시 확인하십시오.

중요

코드 액세스 보안 의 사용은 완전 신뢰가 제공되는 경우에만 .NET 에이전트와 호환됩니다. 에이전트가 더 제한적인 신뢰 수준과 호환되지 않습니다.

NewRelic.Profiler.dll 이 표시되지 않으면 다음 단계를 계속합니다. 결과를 얻으면 4단계 (권한)로 건너뜁니다.

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

필요한 환경 변수를 확인하려면 프로세스 탐색기에서 프로세스를 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택합니다. 팝업 창 상단에 일련의 탭이 표시됩니다. 환경 탭을 선택합니다.

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

4단계: 권한 확인

다음 권한 작업을 확인하십시오.

  • 애플리케이션 프로세스가 실행 중인 사용자에게 시스템에서 .NET 에이전트가 추출된 디렉토리( NEWRELIC_INSTALL_PATH 또는 CORECLR_NEWRELIC_HOME ) 및 모든 하위 디렉토리에 대한 읽기/쓰기/실행 권한이 있는지 확인하십시오.
  • 변경한 경우 앱을 다시 시작하고 1단계 로 돌아갑니다.

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

Copyright © 2023 New Relic Inc.

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