• /
  • EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

Node.js 에이전트 구성

newrelic.js 구성 파일을 수정하거나 환경 변수를 설정하여 앱 요구사항에 맞게 Node.js 에이전트를 맞춤화할 수 있습니다. 구성 파일은 앱의 루트 디렉터리에 있습니다. 뉴렐릭에서 몇 가지 옵션을 구성하거나 Node.js 에이전트 API를 사용할 수도 있습니다.

시작하기

뉴렐릭 계정을 생성하고 (영구 무료) Node.js 에이전트를 설치한 후 환경에 맞게 Node.js 에이전트를 구성할 수 있습니다.

license_key 설정이 필요합니다. 또한 기본 설정된 My Application이 아니라 앱이 의미 있는 이름을 갖도록 app_name을 설정하는 것을 권합니다.

구성 방법 및 우선순위

Node.js 에이전트를 구성하는 기본 방법은 에이전트 설정 파일(newrelic.js)을 사용하는 것입니다. 환경 변수를 사용하여 대부분의 설정을 할 수도 있습니다. 서버 측 구성을 통해 일부 설정을 조정할 수도 있습니다.

Node.js 에이전트는 구성 방법에 다음의 우선순위를 적용합니다.

Node.js agent configuration precedence

Node.js configuration hierarchy: 서버 측 설정은 환경 변수보다 우선 적용됩니다. 환경 변수는 에이전트 구성 파일에 우선합니다. 구성 파일은 에이전트 기본값에 우선합니다.

각 구성 방법에 대한 자세한 설명은 다음과 같습니다.

내보내기 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 exports.config = { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

로깅 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 logging: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

AI 모니터링

이 섹션에는 AI 모니터링 설정을 위한 Node.js 에이전트 구성을 설명합니다.

중요

AI 데이터를 캡처하려면 분산 추적을 활성화해야 합니다. Node.js 에이전트 8.3.0 이상에서는 기본적으로 활성화되어 있습니다. high security 모드를 활성화한 경우 AI 모니터링이 작동하지 않습니다.

감사 로깅

이 섹션에서는 앱 newrelic.js 설정 파일의 audit_log: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

API 설정

이 섹션에서는 활성화할 API 메서드를 선택할 수 있습니다. 각 구성 옵션을 사용하면 커스텀 정보를 뉴렐릭으로 전송하는 API 메서드를 모듈 방식으로 활성화할 수 있습니다.

중요

에이전트가 high security 모드에 있으면, 모두 false로 설정됩니다.

속성

이 섹션에서는 앱 newrelic.js 설정 파일의 attributes: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 속성 변수들에 대해 설명합니다.

주의

필터링하려면 헤더 관련 포함/제외 규칙이 camelCase 형식으로 되어 있어야 합니다.

오류 수집기 변수

뉴렐릭에서 오류 처리 방법을 관리할 수 있습니다. 이 섹션에서는 앱의 newrelic.js 설정 파일의 error_collector: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

트랜잭션 트레이서 변수

에이전트는 요청을 트랜잭션으로 그룹화하며, 트랜잭션은 다음에 사용됩니다.

  • 앱에서 시간이 소모되는 위치를 시각화합니다.(트랜잭션 분석에서)
  • 느린 요청을 식별합니다.
  • 메트릭을 그룹화합니다.
  • 데이터베이스 성능 저하와 같은 다른 문제를 격리합니다.

이 섹션에서는 앱 newrelic.js 설정 파일의 transaction_tracer: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

중요

트랜잭션 이름 끝에 대괄호 [suffix]를 사용하지 마십시오. 뉴렐릭은 자동으로 이름에서 괄호를 제거합니다. 대신 필요한 경우 괄호 (suffix) 또는 기타 기호를 사용합니다.

규칙 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 rules: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

트랜잭션 이벤트 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 transaction_events: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

브라우저 모니터링 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 browser_monitoring: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

커스텀 이벤트 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 custom_insights_events: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다.

느린 쿼리 변수

이 섹션에서는 앱의 newrelic.js 설정 파일의 slow_sql: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다. 이러한 옵션은 느린 쿼리의 동작을 제어하지만, 트랜잭션 트레이스의 SQL 노드에는 영향을 주지 않습니다.

커스텀 호스트네임 변수

이 섹션에서는 앱의 newrelic.js 설정 파일의 process_host: { 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다. 이러한 옵션은 APM UI의 호스트 표시 이름과 관련된 동작을 제어합니다.

데이터스토어어 트레이서 변수

이 섹션에서는 앱 newrelic.js 설정 파일의 datastore_tracer 섹션에 일반적으로 나타나는 순서대로 Node.js 에이전트 변수들에 대해 설명합니다. 이러한 옵션은 데이터스토어 인스턴스 메트릭 수집에 대한 동작을 제어합니다.

애플리케이션 간 추적(더 이상 사용되지 않음)

애플리케이션 간 추적을 제어하는 Node.js 에이전트 변수는 일반적으로 앱 newrelic.js 설정 파일의 cross_application_tracer 섹션에 표시됩니다.

중요

애플리케이션 간 추적은 향후 에이전트 버전부터 더 이상 사용되지 않으며 대신 분산 추적 기능을 사용할 수 있습니다.

중요

애플리케이션 간 추적(CAT)은 더 이상 사용되지 않으며 향후 주요 릴리스에서 제거될 예정입니다. 에이전트 버전 8.3.0부터 기본적으로 활성화되는 분산 추적을 사용하면 서비스 간에 가시성을 확보할 수 있습니다. 활성화하기 전에 전환 가이드를 확인해보시기 바랍니다.

오류 메시지 수정 변수

오류 메시지 수정을 제어하는 Node.js 에이전트 변수는 앱 newrelic.js 설정 파일의 strip_exception_messages 섹션에 나타납니다.

분산 추적

분산 추적은 요청이 분산 시스템을 통해 이동하는 경로를 확인할 수 있도록 해줍니다. 구성 파일에서 설정을 하는 경우 distributed_tracing 섹션에 다음 옵션을 배치합니다. Node.js 에이전트 8.3.0 이상에서는 기본적으로 활성화되어 있습니다.

중요

분산 추적을 활성화하면 애플리케이션 간 추적이 비활성화되며, 이는 다른 APM 기능에 영향을 미칩니다. 활성화하기 전에 전환 가이드를 확인하시기 바랍니다. Node.js 에이전트 버전 4.7.0 이상이 필요합니다.

분산 추적 설정에 대한 보다 자세한 정보는 Java 애플리케이션에 대한 분산 추적 사용을 참조하십시오.

gRPC 서버 계측

grpc 섹션은 gRPC 서버가 계측되는 방식을 제어합니다.

스팬 이벤트

분산 추적을 위해 스팬 데이터가 보고됩니다. 스팬을 보고하려면 분산 추적을 활성화해야 합니다. span_events 섹션에서 스팬을 설정합니다. 옵션은 다음과 같습니다:

Infinite Tracing

Infinite Tracing(무한 추적)을 활성화하려면 아래 설정을 추가합니다. infinite_tracing 섹션에서 무한 추적을 설정합니다. 또한 분산 추적을 활성화해야 합니다. Node.js APM 에이전트 버전 8.3.0 이상에서는 분산 추적이 기본적으로 활성화되어 있습니다.

애플리케이션 로깅

애플리케이션 로깅 설정을 하려면 Node.JS 에이전트 버전 8.11.0 이상이 필요합니다.

Node.js 에이전트의 로그 구성에 대한 팁은 Node.js의 문맥적 로그 구성을 참조하십시오.

코드 레벨 메트릭

코드 레벨 메트릭 설정에는 Node.JS 에이전트 버전 9.7.5 이상이 필요합니다.

자세한 내용은 앱 레벨 메트릭 문서를 참조하십시오.

에러스 인박스 구성

다음 태그 중 하나를 설정하면 오류를 생성하는 소프트웨어 버전을 식별하는 데 도움이 됩니다.

  • NEW_RELIC_METADATA_SERVICE_VERSION 배포된 코드 버전(대부분의 경우 1.2.3으로 표시되는 버전)이 포함된 이벤트 데이터에 대해 tagged.service.version이 생성되지만 항상 그런 것은 아닙니다.
  • NEW_RELIC_METADATA_RELEASE_TAG 릴리스 태그(예: v0.1.209 또는 릴리스-209)가 포함된 이벤트 데이터에 tagged.releaseTag를 생성합니다.
  • NEW_RELIC_METADATA_COMMIT 커밋 SHA를 포함하는 이벤트 데이터에 대해 tagged.commit을 생성합니다. 전체 SHA를 사용하거나 처음 7자만 사용할 수 있습니다. (예: 734713b)

향후에 릴리스될 에러스 인박스는 오류를 생성하는 소프트웨어 버전을 자동으로 추적합니다. 모든 버전 데이터는 CodeStream에도 표시됩니다.

URL 난독화

URL 난독화 설정을 하려면 Node.js 에이전트 버전 9.9.0 이상이 필요합니다.

설정 예시는 노드 에이전트 url 난독화에 대한 문서를 참조하십시오.

보안 에이전트

뉴렐릭의 보안 에이전트인 인터랙티브 애플리케이션 보안 테스트(IAST)는 생성된 HTTP 요청을 취약한 페이로드와 함께 재생하여 악용 가능한 취약점이 있는지 애플리케이션을 테스트합니다.

주의

프로덕션 소프트웨어에 취약점이 노출되지 않도록 비프로덕션 배포에서만 IAST를 실행하십시오.

중요

보안 에이전트 설정을 하려면 Node.js 에이전트 버전 10.3.0 이상이 필요합니다.

Heroku

작업자 스레드(Worker Threads)

11.0.0 이전 에이전트 버전에서는 에이전트가 메인 스레드와 작업자 스레드 모두에서 실행되었습니다. 버전 11.0.0에서는 비동기 컨텍스트 전파와의 비호환성으로 인해 에이전트가 작업자 스레드에서 실행되지 않습니다. 작업자 스레드에서 실행하는 기능은 버전 11.3.0에서 복원되었지만 worker_threads.enabledtrue로 설정해야 합니다. 작업자 스레드에서 실행되는 동작은 다양하며 공식적으로는 지원되지 않습니다. 메트릭 생성과 자체 포함되는 트랜잭션 트레이스 같은 일부 기능은 작동할 수 있지만 사용 책임은 사용자에 있습니다.

환경 변수 무시

이 섹션에서는 환경 변수에서만 사용할 수 있는 두 가지 설정 옵션을 정의합니다. 대부분의 설정에서 이 무시는 사용되지 않습니다.

환경 변수 유형 참조 가이드

이 섹션에서는 복잡한 데이터 유형의 형식을 올바르게 지정하는 방법을 설명합니다.

Copyright © 2024 New Relic Inc.

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