• English日本語한국어
  • 로그인지금 시작하기

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

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

문제 신고

npm 및 NerdGraph로 여러 앱 계측

NerdGraph API를 사용하여 새 브라우저 응용 프로그램을 만들고 구성 값을 검색할 수 있습니다. 이를 브라우저 에이전트 npm 패키지와 결합하여 애플리케이션 빌드 프로세스의 일부로 브라우저 에이전트의 구성을 통합하거나 애플리케이션 내의 에이전트 구현에서 에이전트 구성을 분리할 수 있습니다.

NerdGraph를 사용하여 브라우저 응용 프로그램을 만들거나 구성한 적이 없다면 먼저 이 NerdGraph 자습서를읽으십시오.

에이전트 설정

프로젝트의 루트 또는 프런트엔드 종속성이 관리되는 위치에서 IDE 및 터미널을 엽니다. 이것은 npm 패키지를 설치하기 위해 npm install --save @newrelic/browser-agent 실행할 위치입니다. 설치가 완료되면 웹 사이트의 기본 진입점 파일을 찾습니다. 이것은 <project_root>/src/index.js 또는 <project_root>/src/index.ts 일 수 있지만 애플리케이션에서는 다를 수 있습니다. 진입점이 여러 개인 경우 브라우저에서 가장 빨리 로드되는 항목을 선택하고 async 또는 defer 스크립트 요소 속성을 사용하지 않는 것이 좋습니다.

브라우저 에이전트를 추가할 위치를 찾았으면 해당 파일에 이 코드 조각을 추가합니다.

import { BrowserAgent } from '@newrelic/browser-agent/loaders/browser-agent'
// Remaining import statements
// Populate using values from NerdGraph
const options = {
init: { ... },
info: { ... },
loader_config: { ...}
}
// The agent loader code executes immediately on instantiation.
new BrowserAgent(options)
// Remaining code

브라우저 에이전트에 대한 import 문은 소스 파일의 첫 번째 항목이어야 합니다. 나머지 import 문 다음에 브라우저 에이전트를 즉시 인스턴스화하고 구성합니다. 브라우저 에이전트가 가능한 빨리 데이터를 로드하고 캡처할 수 있도록 다른 코드보다 먼저 이 작업을 수행해야 합니다.

구성 검색

이전 스니펫의 options 객체는 New Relic의 브라우저 애플리케이션에 대한 구성 정보로 채워야 합니다. 이 자습서의 목적을 위해 기존 브라우저 응용 프로그램 및 NerdGraph 탐색기와 함께 New Relic UI를 사용하여 API 호출을 완료합니다.

Step 1 of 3

브라우저 애플리케이션 엔터티 GUID 가져오기

NerdGraph API를 사용하려면 계측 중인 브라우저 애플리케이션에 대한 엔터티 GUID를 가져와야 합니다.

Step 2 of 3

브라우저 애플리케이션 구성 검색

api.newrelic.com/graphiql 에서 NerdGraph 탐색기를 엽니다. 아래 쿼리를 사용하여 브라우저 애플리케이션의 구성 값을 검색합니다. New Relic 계정이 EU 데이터 센터를사용하는 경우 api.eu.newrelic.com/graphiql로 이동하십시오.

query {
actor {
entity(guid: '<guid>') {
... on BrowserApplicationEntity {
guid
name
browserProperties {
jsConfigScript
}
}
}
}
}

쿼리의 <guid> 부분을 이전에 검색한 엔터티 GUID로 바꿉니다. 쿼리를 실행하면 다음과 같은 출력이 표시됩니다.

{
"data": {
"actor": {
"entity": {
"browserProperties": {
"jsConfig": {
"info": {
"applicationID": 1234567,
"beacon": "bam.nr-data.net",
"errorBeacon": "bam.nr-data.net",
"licenseKey": 123456789,
"sa": 1
},
"init": {
"ajax": {
"deny_list": [
"bam-cell.nr-data.net"
]
},
"distributed_tracing": {
"allowed_origins": [],
"cors_enabled": false,
"cors_use_newrelic_header": false,
"cors_use_tracecontext_headers": false,
"enabled": true,
"exclude_newrelic_header": false
},
"privacy": {
"cookies_enabled": true
}
},
"loader_config": {
"accountID": <redacted>,
"agentID": <redacted>,
"applicationID": <redacted>,
"licenseKey": "<redacted>",
"trustKey": 1672072
}
}
}
}
}
}
}

NerdGraph 사용에 대한 자세한 정보가 필요하십니까? NerdGraph 소개 를참조하십시오.

Step 3 of 3

구성 설치

jsConfig 속성의 내용을 복사하고 options 개체의 내용을 소스 파일로 바꿉니다.

npm 패키지를 사용하여 배포

npm 패키지가 설치되고 적절하게 구성되면 이제 브라우저 애플리케이션을 빌드하고 배포할 수 있습니다. 브라우저에서 웹사이트를 로드하고 구성에서 beacon URI에 대한 네트워크 호출이 있는지 확인합니다.

브라우저 애플리케이션 구성을 HTML에 삽입

소스 코드에 브라우저 애플리케이션 구성을 배치하는 대신 웹 사이트의 HTML에 구성을 삽입할 수 있습니다. 이는 소스 코드가 여러 웹사이트에서 재사용될 때 특히 유용합니다.

Step 1 of 3

소스 코드 스니펫 수정

소스 코드의 첫 번째 스니펫을 import 로 수정하고 매개변수 없이 BrowserAgent 클래스를 인스턴스화합니다.

import { BrowserAgent } from '@newrelic/browser-agent/loaders/browser-agent'
// Remaining import statements
// The agent loader code executes immediately on instantiation.
new BrowserAgent()
// Remaining code
Step 2 of 3

NerdGraph 쿼리 수정

NerdGraph 쿼리를 수정하여 브라우저 애플리케이션 구성을 JSON 인코딩 스크립트 문자열로 검색합니다. <guid> 이전에 검색한 브라우저 애플리케이션 엔터티 GUID로 바꾸는 것을 기억하면서 새 쿼리를 실행합니다.

query {
actor {
entity(guid: '<guid>') {
... on BrowserApplicationEntity {
guid
name
browserProperties {
jsConfigScript
}
}
}
}
}

그러면 다음과 같은 결과가 반환됩니다.

{
"data": {
"actor": {
"entity": {
"browserProperties": {
"jsConfigScript": "<script type=\"text/javascript\">\n;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:[\"bam-cell.nr-data.net\"]}};\n\n;NREUM.loader_config={accountID:\"<redacted>\",trustKey:\"<redacted>\",agentID:\"<redacted>\",licenseKey:\"<redacted>\",applicationID:\"<redacted>\"};\n;NREUM.info={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\",licenseKey:\"<redacted>\",applicationID:\"<redacted>\",sa:1};\n</script>\n"
}
}
}
}
}
Step 3 of 3

구성 설치

jsConfigScript 속성의 내용을 복사합니다. JSON 파서를 통해 결과를 실행하거나 \" 값을 "로 바꿔야 합니다. 결과는 모든 브라우저 애플리케이션 구성 정보와 함께 <script> 요소를 포함하는 문자열입니다. <script> 요소를 <head> 요소의 상단에 배치하지만 웹사이트 HTML의 <meta> 요소 아래에 배치합니다.

다음 단계

이 튜토리얼은 NerdGraph API와 브라우저 에이전트 npm 패키지를 사용하는 방법에 대한 표면적인 정보만 제공합니다. 다음 단계에 대한 몇 가지 아이디어:

  • 브라우저 에이전트를 웹 사이트 빌더 애플리케이션에 통합하고 NerdGraph를 사용하여 관리 대시보드 내에서 New Relic 모니터링을 활성화할 때 각 고객에 대한 브라우저 애플리케이션 구성을 검색합니다.
  • 조직의 구성 요소 라이브러리에 공유 브라우저 에이전트 구성 요소를 생성하고 NerdGraph를 호출하는 CDN 에지 기능을 사용하여 구성을 HTML에 자동으로 삽입합니다.
  • 배포되는 환경에 따라 NerdGraph의 다양한 브라우저 애플리케이션 구성으로 소스 코드를 채우도록 CI/CD 파이프라인을 수정합니다.
Copyright © 2023 New Relic Inc.

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