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