문제
New Relic의 Windows용 .NET 에이전트를 설치 한 후 다음 문제 중 하나 이상이 발생합니다.
- 데이터가 표시되지 않습니다.
- 누락된 데이터가 있음을 알 수 있습니다.
- 로그가 표시되지 않습니다.
해결책
확인하고 이해해야 할 중요한 사항:
- 호스트에 대한 관리자 권한이 있는지 확인하십시오.
- 설치 및 실행 단계를 따랐 는지 확인하십시오.
1단계: 애플리케이션의 에이전트 로그 확인
로그를 확인하기 전에 중요한 팁:
- MSI Windows 설치 프로그램을 사용하는 경우 기본값은
%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs
입니다. NewRelic.Agent
NuGet 패키지로 에이전트를 설치한 경우 시스템에서 에이전트가 추출된 디렉터리에서logs
폴더를 찾을 수 있습니다.
에이전트 로그를 확인하려면:
- 현재 데이터를 보고 있는지 확인하십시오. 생성한 로그가 시스템의 현재 상태를 반영하도록 로그 디렉토리의 기존 파일을 삭제하거나 이동합니다.
- 응용 프로그램을 다시 시작하십시오. 애플리케이션이 IIS에서 호스팅되는 경우 관리 명령줄 프롬프트에서 명령줄 IISRESET을 실행합니다.
- New Relic 계정에서 볼 것으로 예상되는 트래픽을 생성하는 방식으로 최소한 몇 분 동안 애플리케이션을 실행하십시오.
- 해당 프로세스에 대한 로그가 생성되고 있는지 확인할 수 있도록 애플리케이션이 실행 중인 프로세스 ID(PID)를 기록해 둡니다. Windows 작업 관리자 또는 프로세스 탐색기를 사용하여 PID를 찾을 수 있습니다.
- 에이전트 로그 디렉터리로 돌아가 애플리케이션의 프로세스 ID가 포함된 이름의 로그 파일을 찾습니다(예:
NewRelic.Profiler.[PID].log
). - 로그 디렉토리에 해당
profiler log
파일이 있으면 해당 에이전트 로그가 있는지도 확인하십시오. 에이전트 로그에는newrelic_agent
접두사가 포함되어 있습니다. 호스트에서 여러 .NET 애플리케이션을 실행 중인 경우 이들 중 하나 이상이 있을 수 있습니다. 하나 이상이 표시되면 모니터링하려는 응용 프로그램에 해당하는 것을 결정해야 합니다. - 에이전트 로그에서
(pid [your PID])
문자열(예:(pid 1573)
)을 검색합니다. 로그 파일에서 해당 문자열을 찾으면 애플리케이션과 연결된 에이전트 로그임을 알 수 있습니다. - 에이전트가 New Relic으로 데이터를 보내지 못하게 할 수 있는 네트워크 또는 기타 오류를 찾으십시오.
2단계: .NET 에이전트 프로파일러가 애플리케이션 프로세스에 로드되었는지 확인
프로파일러가 로드되었는지 확인하려면:
Microsoft Process Explorer 를 서버에 다운로드하고 압축을 풉니다.
귀하의 환경(32비트 및 64비트)에 적합한 Process Explorer 버전을 관리자로 설치하십시오( Run as Administrator 마우스 오른쪽 버튼 클릭).
Process Explorer의 기본 창에서 모니터링하려는 프로세스를 찾고 PID 열의 번호를 기록해 둡니다. IIS 호스팅 웹 애플리케이션을 모니터링하려는 경우 프로세스 이름은
w3wp.exe
입니다.프로세스 탐색기 메뉴 표시줄에서 View > Show lower pane 선택한 다음 View > Lower pane view > DLLs 선택합니다.
위쪽 창에서 애플리케이션 프로세스를 강조 표시한 다음 아래쪽 창에서 다음 DLL을 확인합니다.
NewRelic.Profiler.dll
- 이 DLL은 에이전트가 애플리케이션을 모니터링하는 데 필요합니다. 존재하지 않는 경우 애플리케이션을 실행 중인 사용자에게 에이전트가 설치된 폴더에 대한 읽기 권한이 있는지 확인하십시오.중요
- .NET Framework agent 에서는
NEWRELIC_INSTALL_PATH
환경 변수와 동일해야 합니다. - .NET Core agent 에서는
CORECLR_NEWRELIC_HOME
환경 변수와 동일해야 합니다.
- .NET Framework agent 에서는
mscorlib.dll
: .NET Framework agent only. 이 DLL의 존재는 에이전트가 앱을 .NET 프레임워크 아키텍처로 식별하는 방법입니다. 존재하지 않는 경우 에이전트는 앱을 완전히 무시합니다. 앱에 이 DLL이 포함되어 있지 않으면 앱이 에이전트 호환성 요구 사항을충족하는지 다시 확인하세요.
중요
코드 액세스 보안 의 사용은 완전 신뢰가 제공되는 경우에만 .NET 에이전트와 호환됩니다. 에이전트가 더 제한적인 신뢰 수준과 호환되지 않습니다.
NewRelic.Profiler.dll
이 표시되지 않으면 다음 단계를 계속합니다. 결과를 얻으면 4단계 (권한)로 건너뜁니다.
3단계: 필수 환경 변수 확인
필수 환경 변수를 확인하려면 프로세스 탐색기에서 프로세스를 마우스 오른쪽 버튼으로 클릭하고 Properties 선택합니다. 팝업 창 상단에 일련의 탭이 표시됩니다. Environment 탭을 선택합니다.
올바른 변수가 설정되어 있고 모니터링하려는 애플리케이션이 해당 변수에 액세스할 수 있는 경우 설치한 에이전트가 .NET Framework인지 .NET Core인지에 따라 특정 환경 변수 집합이 표시되어야 합니다.
4단계: 권한 확인
다음 권한 작업을 확인하십시오.
- 애플리케이션 프로세스가 실행 중인 사용자에게 시스템에서 .NET 에이전트가 추출된 디렉토리(
NEWRELIC_INSTALL_PATH
또는CORECLR_NEWRELIC_HOME
) 및 모든 하위 디렉토리에 대한 읽기/쓰기/실행 권한이 있는지 확인하십시오. - 변경한 경우 앱을 다시 시작하고 1단계 로 돌아갑니다.
위의 단계로 문제가 해결되지 않으면 지원팀에 문의하거나 지원 포럼 포럼 에서 도움을 요청하는 것이 좋습니다.