브라우저 모니터링으로 애플리케이션을 구성한 경우 데이터가 나타날 때까지 몇 분 정도 기다리십시오. 이미 몇 분을 기다렸는데도 데이터가 표시되지 않으면 다음 문제 해결 팁을 시도하십시오. 이러한 팁 중 일부는 브라우저 모니터링이 JavaScript 스니펫을 APM 모니터링 앱에 자동으로 삽입하도록 허용 하여 앱을 배포 했는지 아니면 JavaScript 스니펫을 직접 삽입했는지에 따라 다릅니다.
해결책
권장 사항: 특정 문제 해결 절차를 수행하기 전에 진단 브라우저 검사 를 실행하십시오. 진단 CLI가 다운로드되면 명령줄 옵션 /nrdiag -browser-url YOUR-WEBSITE-URL -suites browser 을 실행하여 브라우저 검사 대상을 지정합니다. 진단 CLI에서 반환된 정보는 New Relic Support와 통신할 때 사용할 수 있습니다.
브라우저 모니터링 에이전트가 에이전트는 APM 배포를참조하십시오. JavaScript 복사/붙여넣기 방법을 사용하여 브라우저 모니터링 에이전트를 배포한 경우 배포 복사/붙여넣기를참조하십시오. 어느 것이 있는지 확실하지 않은 경우 진단 도구는 배포 방법을 반환합니다.
스크립트 요소 중 하나가 누락된 경우 다음 단계에 따라 문제 해결을 계속하십시오. 스크립트 요소가 있고 몇 분 후에도 데이터가 나타나지 않으면 support.newrelic.com 에서 지원을 받으십시오.
웹 페이지에 JavaScript 오류가 표시되거나 New Relic UI의 JavaScript 오류 페이지 에 데이터가 표시되지 않으면 앱에 대해 다른 JavaScript 오류 모니터링 프레임워크가 활성화되었는지 확인하십시오. 일부 JavaScript 오류 모니터는 브라우저 모니터링 기능을 방해할 수 있습니다.
New Relic의 자동 계측 기능을 사용하는 경우 에이전트가 올바르게 구성되었는지 확인하십시오. 각 에이전트에는 자동 계측을 켜거나 끄기 위한 구성 파일 설정과 특정 지침이 있습니다.
APM 에이전트의 구성 파일을 수정한 경우 수정된 설정을 선택하도록 애플리케이션을 다시 시작해야 합니다.
Java 에이전트: 앱 서버의 "작업" 캐시를 플러시합니다. 이렇게 하면 앱 서버가 강제로 다시 컴파일됩니다.
.NET 에이전트: flush_dotnet_temp.cmd 명령을 사용하여 asp.net 캐시 디렉토리가 깨끗한지 확인합니다. 이렇게 하면 앱 서버가 페이지 로드 타이밍 계측으로 ASP를 다시 컴파일해야 합니다.
이전 단계에서 설명한 대로 JavaScript가 페이지에 있는지 확인하십시오. JavaScript 스니펫 을 확인하십시오. 페이지에 없으면 수동 API 계측 확인 에 설명된 대로 수동 계측을 사용하십시오. 다음 단계로 진행하려면 먼저 Javascript가 페이지에 있어야 합니다.
애플리케이션이 주로 보안 로컬 네트워크 내에서 로드되는 경우 사용자가 브라우저 데이터를 보고하는 데 필요한 네트워크 엔드포인트에 연결할 수 있는지 확인하십시오. 여기에는 New Relic의 CDN과 비콘 이 포함됩니다.
JavaScript 복사/붙여넣기를 통한 배포
다음 문제 해결 단계는 New Relic의 브라우저 모니터링 에이전트가 HTML 복사/붙여넣기 방법 을 사용하여 배포되었을 때의 문제에 적용됩니다.
메트릭을 캡처하고 New Relic으로 보내는 데 필요한 스크립트 요소에 대한 페이지 소스를 확인하십시오. 브라우저에서 페이지 소스를 보고 다음과 같이 시작 부분에서 스크립트 요소를 찾습니다.
<scripttype="text/javascript">
window.NREUM||(NREUM={}),__nr_require=function a (b,c,d){ ...
스크립트 요소가 누락된 경우 해당 요소를 붙여넣고 새 코드를 배포했는지 확인합니다. JavaScript 스니펫을 아직 붙여넣지 않은 경우 브라우저 앱의 설정 페이지 에서 다시 복사할 수 있습니다. 해당하는 경우 이 페이지를 제공하는 애플리케이션을 다시 시작하십시오.
여전히 스크립트가 표시되지 않으면 다음 단계에 따라 문제 해결을 계속하십시오.
Javascript 스니펫이 애플리케이션에서 제공하는 페이지에 나타나도록 하려면 코드를 추가하기 전에 캐시된 페이지 버전이 지워졌는지 확인하십시오.
CDN 캐시를 확인하십시오.
웹서버 캐시를 비우십시오.
자바스크립트를 가능한 한 head 상단에 가깝게 삽입하되 위치 구분 meta 태그(X-UA 호환 및 문자 집합) 뒤에 삽입합니다. 주석 외부에 있어야 합니다. 다음은 일반 형식의 예입니다.
<!DOCTYPEhtml>
<html>
<head>
<metatags>
{PLACE NEW RELIC SCRIPT TAG HERE}
<scriptandlinktags>
</head>
<body>
...
</body>
</html>
Javascript가 올바르게 배치되면 생성한 원본 스니펫과 비교하여 완전하고 동일한지 확인하십시오. 불완전하거나 수정된 스니펫은 올바르게 보고되지 않을 수 있습니다.
웹 페이지에 JavaScript 오류가 표시되거나 New Relic UI의 JavaScript 오류 페이지 에 데이터가 표시되지 않으면 앱에 대해 다른 JavaScript 오류 모니터링 프레임워크가 활성화되었는지 확인하십시오. 일부 JavaScript 오류 모니터는 브라우저 모니터링 기능을 방해할 수 있습니다.
애플리케이션이 주로 보안 로컬 네트워크 내에서 로드되는 경우 사용자가 브라우저 데이터를 보고하는 데 필요한 네트워크 엔드포인트에 연결할 수 있는지 확인하십시오. 여기에는 New Relic의 CDN과 비콘 이 포함됩니다.
Razor Framework를 사용하는 .NET 앱에서 복사/붙여넣기 설치 방법 을 사용하는 경우 다음 오류가 발생할 수 있습니다.
Parser Error Message: "").pop().split("" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
error CS0103: The name 'nr' does not exist in the current context
이 오류는 브라우저 모니터링을 위한 JavaScript 스니펫의 @ 기호로 인해 발생합니다. @ 기호는 Razor에서 코드 블록의 시작을 나타냅니다. 문제를 일으키는 줄은 다음과 같습니다.