Node.js 에이전트 API를 사용하면 에이전트의 표준 기능을 확장할 수 있습니다. 이 API를 사용하여 다음을 수행할 수 있습니다.
- 사용자 정의 트랜잭션 매개변수 생성
- 맞춤 오류 및 측정항목 보고
사용자 정의 계측 에 API를 사용할 수도 있습니다. 지원되는 프레임워크 의 경우 에이전트는 대부분의 활동을 자동으로 계측합니다. 사용자 지정 계측을 사용하면 기본 계측 없이 해당 모니터링을 프레임워크로 확장할 수 있습니다.
기타 리소스:
- GitHub의 Node.js 에이전트 API 설명서 에는 더 자세하고 실용적인 자습서가 있습니다.
- 구성 설정 을 사용하여 Node.js 에이전트의 기본 동작을 조정할 수도 있습니다.
- 사용 가능한 모든 New Relic API를 보려면 API 소개 를 참조하십시오.
요구 사항
Node.js 에이전트 API를 사용하려면 최신 Node.js 에이전트 릴리스 가 있는지 확인하세요. 또한 다음을 참조하십시오.
- Node.js 에이전트 API 요구 사항
- GitHub의 시작하기 절차
트랜잭션으로 코드의 누락된 섹션 계측
앱을 계측하기 위해 New Relic은 코드를 통한 각 경로를 자체 트랜잭션 으로 분리합니다. 새 유물 시간(또는 "계측기")은 이러한 트랜잭션의 상위 메서드로 앱의 전체 성능을 측정하고 추가 세부 정보를 위해 장기 실행 트랜잭션에서 트랜잭션 추적 을 수집합니다.
New Relic이 코드의 특정 부분을 전혀 계측하지 않을 때 다음 방법을 사용하십시오.
원하는 경우... | 이게 ... |
---|---|
New Relic이 자동으로 계측하지 않는 방법의 타이밍 시작 | 새 트랜잭션을 만듭니다. |
작업이 완료된 후 메서드 타이밍 중지 | 다음 옵션 중 하나를 사용합니다.
|
트랜잭션이 New Relic에 보고되는 것을 방지 | 다음 옵션 중 하나를 사용하여 트랜잭션을 무시합니다.
|
세그먼트를 사용한 시간별 방법
New Relic에서 트랜잭션이 이미 표시되지만 해당 트랜잭션 중에 호출된 특정 메서드에 대한 데이터가 충분하지 않은 경우 세그먼트를 생성하여 개별 메서드의 시간을 더 자세히 확인할 수 있습니다. 예를 들어 복잡한 논리로 특히 중요한 방법의 시간을 정하고 싶을 수 있습니다.
기존 트랜잭션 내에서 메소드를 계측하려면 이 메소드를 사용하십시오.
원하는 경우... | 이게 ... |
---|---|
특정 방법 시간 |
|
타이밍에 대한 자세한 내용은 GitHub의 계측 자습서를 참조하십시오.
트랜잭션의 메타데이터 향상
때로는 대상으로 삼는 코드가 New Relic에서 볼 수 있지만 메서드의 일부 세부 정보는 유용하지 않습니다. 예를 들어:
- 기본 이름은 도움이 되지 않을 수 있습니다. ( 측정항목 그룹화 문제 를 일으킬 수 있습니다.)
- 필터링할 수 있도록 트랜잭션에 사용자 정의 속성 을 추가하려고 합니다.
New Relic에서 이미 볼 수 있는 트랜잭션을 New Relic에서 계측하는 방법을 변경하려면 다음 방법을 사용하세요.
원하는 경우... | 이게 ... |
---|---|
트랜잭션 이름 변경 |
|
거래에 메타데이터(예: 고객의 계정 이름 또는 구독 수준)를 추가합니다. | 사용자 정의 속성 을 사용하십시오. (사용자 정의 속성 수집은 Node.js 에이전트에서 기본적으로 활성화됩니다.) |
백그라운드 작업을 위한 새 트랜잭션 생성 |
|
새 웹 트랜잭션 생성 |
|
거래가 Apdex 점수에 영향을 미치지 않도록 방지 | 무시 규칙 예제 를 포함하여 요청 이름 지정 및 무시 규칙을 참조하십시오. |
타이밍 또는 컴퓨터 리소스 데이터와 같은 기타 성능 데이터 기록 | 맞춤 측정항목 API를 사용합니다. |
관련 로그 보기
기본적으로 에이전트는 애플리케이션의 오류 및 추적 컨텍스트 내에서 직접 로그를 보냅니다. 다른 원격 측정 데이터 및 지원되는 프레임워크와 로그 데이터의 상관 관계에 대한 자세한 내용은 컨텍스트 문서의 로그를 참조하세요.
New Relic에 의해 계측되지 않은 로깅 메커니즘을 사용하는 경우 대신 이 API 호출을 직접 사용하여 컨텍스트에서 로그를 기록하고 전달할 수 있습니다.
이전 대체 방법은 에이전트가 대신 전달하도록 하는 대신 자체 로그 전달기를 사용하는 것입니다. 이 경우 로그를 전달하기 전에 적절한 컨텍스트로 로그에 주석을 달아야 합니다. 다음 API 호출을 사용합니다.
계기 비동기 작업
지원되는 프레임워크 및지원되는 Node.js 버전 의 경우 New Relic의 Node.js 에이전트는 일반적으로 비동기 작업을 올바르게 계측합니다. 그러나 앱이 다른 프레임워크를 사용하거나 기본 비동기 계측이 정확하지 않은 경우 비동기 작업을 명시적으로 추적할 수 있습니다.
원하는 경우... | 이게 ... |
---|---|
New Relic이 이미 계측하고 있는 비동기 메서드 추적 |
|
New Relic이 계측하지 않는 비동기 메서드 추적 |
|
분실된 거래 추적 |
|
손실된 트랜잭션 상태 추적 | 일반적인 문제는 계측되지 않은 라이브러리를 사용하는 동안 트랜잭션 상태가 손실되는 것입니다. 자세한 내용 은 GitHub의 트랜잭션 보존 자습서를 참조하세요. |
외부 서비스에 대한 호출 계측
요청 명명 API 가 로드되면 New Relic의 Node.js 에이전트는 외부 서비스 호출을 자동으로 식별할 수 있습니다. 다음 방법을 사용하여 다른 앱이나 데이터베이스에 대한 앱의 연결에 대한 데이터를 수집할 수도 있습니다.
원하는 경우... | 이게 ... |
---|---|
외부 리소스(예: 외부 서비스, 데이터베이스 서버 또는 메시지 대기열)에 대한 호출 시간 측정 | 다음 중 적절한 것을 사용하십시오. |
New Relic 에이전트가 계측한 다른 앱에 활동 연결 | 교차 응용 프로그램 추적을 사용합니다. 중요잡아당겨 추적 기능은 더 이상 사용되지 않으며 향후 요원 버전에서 제거될 예정입니다. |
요청이 분산 시스템을 통과할 때 이동하는 경로를 확인하십시오. |
오류 수집 또는 무시
일반적으로 에이전트는 오류를 자동으로 감지합니다. 그러나 에이전트를 사용하여 수동으로 오류를 표시할 수 있습니다. 오류를 무시 된 것으로 표시할 수도 있습니다.
원하는 경우... | 이게 ... |
---|---|
에이전트가 자동으로 보고하지 않는 오류 보고 |
|
정의한 사용자 지정 필터 기능을 사용하여 이름별로 오류를 그룹화합니다. |
|
오류를 사용자와 연결 |
|
앱에서 맞춤 이벤트 및 측정항목 데이터 보내기
New Relic에는 임의의 사용자 지정 데이터를 기록하는 다양한 방법이 포함되어 있습니다. New Relic 데이터 유형에 대한 설명은 데이터 수집 을 참조하십시오.
원하는 경우... | 이게 ... |
---|---|
이벤트에 대한 데이터를 보내 New Relic에서 분석할 수 있습니다. | 맞춤 이벤트 를 만듭니다. |
이벤트를 필터링하고 패싯하기 위해 메타데이터로 이벤트에 태그 지정 | 필요한 경우 사용자 정의 속성 을 추가하십시오. (사용자 정의 속성 수집은 Node.js 에이전트에서 기본적으로 활성화됩니다.) |
맞춤 실적 데이터 보고 | 맞춤형 지표를 생성합니다. |
브라우저 에이전트 제어
일반적으로 에이전트는 JavaScript 스니펫을 복사/붙여넣어 페이지 또는 구현, 배포에 자동으로 추가됩니다. 이러한 권장 방법에 대한 자세한 내용은 뉴렐릭에 브라우저 앱 추가를 참조하세요.
APM 에이전트 API 호출을 통해 브라우저 에이전트를 제어할 수도 있습니다. 자세한 내용은 브라우저 모니터링 및 Node.js 에이전트 를 참조하세요.
맞춤형 계측 확장
newrelic.instrument()
는 맞춤 계측에 추가적인 유연성을 제공합니다. 자습서 및 예제를 포함한 자세한 내용은 GitHub의 shim 설명서 를 참조하십시오.
ES 모듈 애플리케이션에 사용자 정의 계측을 추가하려면 ES 모듈 설명서 또는 GitHub의 예제 애플리케이션 을 참조하십시오.