뉴렐릭 Java 에이전트는 newrelic.yml 파일에서 구성을 읽습니다. 기본적으로 에이전트는 newrelic.jar가 포함된 디렉토리에서 이 파일을 찾습니다. newrelic.config.file 시스템 속성을 정규화된 파일 이름으로 설정하여 구성 파일의 위치를 재정의할 수 있습니다.
뉴렐릭 계정(영구 무료)을 만들고 Java 에이전트를 설치한 후 환경에 맞게 Java 에이전트를 구성할 수 있습니다.
구성 파일 구조
newrelic.yml 파일은 다양한 환경에 해당하는 스탠자로 분할됩니다.
테스트
개발
스테이징
프로덕션(기본값)
New Relic은 공통 스탠자의 설정을 이러한 환경 각각에 적용합니다. newrelic.environment 시스템 속성을 환경 이름으로 설정하여 다른 환경을 기본값으로 선택할 수 있습니다.
newrelic.yml을 편집하는 경우, YAML 형식을 준수하도록 주의하십시오. 뉴렐릭의 Java 에이전트와 함께 파일을 사용하기 전에 YAML 유효성 검사기를 사용하여 구문이 정확한지 확인하고 다음 규칙을 따릅니다.
Java agent newrelic.yml
요구 사항
포맷
YML 파일은 대소문자를 구분합니다.
들여쓰기
모든 들여쓰기는 2자씩 증가해야 합니다. 다른 들여쓰기는 에이전트 시작 시 Unable to parse configuration file 오류를 발생시킵니다.
파일의 동일한 스탠자에 있는 데이터에 대해 동일한 수준의 들여쓰기를 사용합니다.
하위 조항을 추가로 2칸 들여씁니다.
파일 변경 사항
변경 사항을 적용하려면 JVM 호스트 프로세스를 다시 시작해야 합니다.
예외:log_level 및 audit_mode에 대한 속성 변경은 다시 시작할 필요가 없습니다. 서킷 브레이커에서의 속성 변경은 재시작이 필요하지 않습니다.
구성 설정 우선순위
구성 파일의 설정을 재정의하려면 시스템 속성 재정의를 사용합니다. 특정 환경에서는 환경 변수를 사용하여 구성 파일과 시스템 속성을 모두 재정의할 수도 있습니다. 환경 변수는 주로 Heroku를 지원하기 위해 존재합니다. 사용하면 서버 측 구성이 다른 모든 구성 설정보다 우선 적용됩니다.
Java 에이전트를 사용하면 서버 측 구성이 다른 모든 설정을 재정의합니다. 환경 변수는 Java 시스템 속성을 재정의합니다. 자바 속성은 newrelic.yml 파일의 사용자 구성 설정을 재정의합니다. 사용자 설정은 newrelic.yml 기본 설정보다 우선합니다.
Java 확장 디렉터리 구성
Java 에이전트는 프로세스 시작 시 구성 파일을 읽습니다. 파일이 있는 디렉터리를 식별하려면 새 디렉터리를 생성하거나 기존 확장 디렉터리를 지정하십시오.
확장 디렉터리를 생성하려면:
newrelic.jar 및 newrelic.yml이 있는 디렉터리로 이동합니다. 이름이 extensions인 디렉터리를 만듭니다.
에이전트를 활성화하는 플래그입니다. 에이전트를 강제 실행하거나 실행하지 않으려면 이 설정을 사용하십시오.
Type
Float
기본
1.0
애플리케이션의 Apdex 점수에 대한 apdex_t 임계값(초)입니다. Java 에이전트 버전 1.2.008 이상의 경우 apdex_t 값이 UI에서 설정되고 newrelic.yml의 값은 무시됩니다.
Type
정수
기본
(없음)
동일한 시스템의 동일한 앱에 대한 JVM을 구별하기 위한 번호입니다. 뉴렐릭은 고유성을 위해 호스트/포트를 사용하므로 각 JVM의 시작 인수에 다음과 같은 스위치를 넣어 JVM을 구별할 수 있습니다.
-Dnewrelic.config.appserver_port=8081
appserver_port를 사용하여 JVM의 이름을 지정하고 다시 시작하면 드롭다운 및 프로파일링 인터페이스에서 개별적으로 볼 수 있어야 합니다.
중요
이것은 뉴렐릭을 위한 변경 사항일 뿐입니다. 호스트가 어떤 식으로든 통신하는 포트에는 실제로 영향을 미치지 않습니다.
Type
Boolean
기본
false
에이전트 로그 파일에 New Relic으로 전송된 모든 데이터의 일반 텍스트 로깅을 활성화합니다. 이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
Type
문자열
값 형식
/path/to/ca/cert/bundle.pem
에이전트가 뉴렐릭에 대한 보안 연결을 설정하는 데 사용할 커스텀 SSL 인증서 번들의 경로를 지정합니다. 커스텀 SSL 인증서 번들에 뉴렐릭에 연결하기에 충분한 인증서가 포함되어 있지 않으면 필요한 인증서를 커스텀 인증서 번들에 병합해야 합니다.
중요
현재 Java 에이전트와 함께 번들로 제공되는 Java Flight Recorder의 구현은 Telemetry SDK를 사용합니다. ca_bundle_path를 지정하면 JFR 옵션이 뉴렐릭에 연결하는 데 사용하는 인증서가 업데이트되지 않습니다. 맞춤화된 트러스트 저장소를 사용 중이고 Java 에이전트 JFR 구현을 사용하려는 경우, 맞춤화된 트러스트 저장소에 필수 인증서를 추가해야 합니다.
Type
Boolean
기본
false
각 웹 앱에 대해 개별적으로 데이터 보고를 활성화합니다. 자동 앱 이름 지정 지원을 활성화하려면 true로 설정합니다. 각 웹 앱의 이름은 자동으로 감지되고 에이전트는 각각에 대해 별도로 데이터를 보고합니다. 이는 뉴렐릭의 웹 앱에 대한 더욱 세분화된 성능 분석을 제공합니다.
선택적 확장 디렉터리의 위치를 정의합니다. 이 속성이 설정되지 않은 경우 에이전트는 newrelic.jar 및 newrelic.yml과 동일한 디렉터리에서 extensions라는 하위 디렉터리를 찾습니다.
Type
Boolean
기본
false
높은 수준의 보안을 활성화하려면 이 속성을 true로 설정하고 뉴렐릭 사용자 인터페이스의 높은 보안 속성을 활성화해야 합니다. 높은 수준의 보안을 활성화하면 SSL이 켜져 있고 요청 및 메시지 대기열 매개변수가 수집되지 않으며 쿼리를 원시 형식으로 뉴렐릭에 보낼 수 없습니다.
보다 간결한 트랜잭션 추적 세부 정보를 위해 에이전트는 Scala Futures를 트랜잭션 세그먼트로 보고하지 않으며 해당 Futures는 트랜잭션의 총 시간에 기여하지 않습니다.
scala_futures_as_segments를 활성화하면 오버헤드가 증가합니다. Scala Futures가 트랜잭션 세그먼트로 보고하여 트랜잭션 트레이스에서 볼 수 있도록 하려면, 활성화하는 것이 가능합니다.
scala_futures_as_segments:
enabled:true
환경 변수
환경 변수가 가장 높은 우선순위를 가지며 시스템 속성 및 yml 구성 설정을 재정의합니다.
환경 변수를 설정하려면 export VARNAME=value 명령을 사용합니다.
환경 변수를 영구적으로 설정하려면 내보내기 행을 ~/.bashrc 또는 ~/.bash_profile 같은 파일에 추가합니다.
환경 변수를 설정하여 시스템 속성 또는 newrelic.yml의 모든 설정을 재정의할 수 있습니다. 구성 파일의 지정된 설정에 해당하는 환경 변수는 모든 점( . ) 및 대시( - )가 밑줄( _ )로 대체된 NEW_RELIC 접두사가 붙은 설정 이름입니다. 예를 들어, log_level 설정에 대한 환경 변수는 NEW_RELIC_LOG_LEVEL입니다.
시스템 속성을 설정하여 newrelic.yml 파일의 모든 설정을 재정의할 수 있습니다. 구성 파일의 지정된 설정에 해당하는 시스템 속성은 newrelic.config 접두사가 붙은 설정 이름입니다. 예를 들어, log_level 설정의 시스템 속성은 newrelic.config.log_level입니다.
스탠자에 중첩된 설정의 경우, 스탠자 이름을 설정 이름 앞에 추가합니다. 예를 들어, transaction_tracer 스탠자의 enabled 설정에 대한 시스템 속성은 newrelic.config.transaction_tracer.enabled 입니다.
구성 설정을 재정의하는 것 외에도 에이전트는 다음 시스템 속성을 인식합니다.
Type
Boolean
기본
(없음)
에이전트 버전 8.7.0부터는 true로 설정되고 에이전트가 JBoss EAP/Wildfly로 실행되는 경우, 에이전트가 시스템 클래스 로더에 의해 로드되는 패키지 javax.management의 하위 클래스를 요구할 수 없도록 했습니다. 이는 J2EE/Jakarta 관리 API를 사용할 때 JBoss 모듈과 관련된 애플리케이션 시작 문제를 해결하는 데 도움이 되도록 추가된 것입니다. 보다 자세한 내용은 JBoss/Wildfly 문제 해결 문서를 참조하십시오.
Type
Boolean
기본
(없음)
에이전트가 지원되지 않는 Java 버전으로 실행되도록 허용하는 실험적인 플래그입니다.
Type
문자열
기본
(없음)
New Relic UI에서 "host:port" 라벨을 장식할 표시 이름을 설정합니다. Java 에이전트 3.17 이상이 필요합니다.
Type
문자열
기본
(없음)
newrelic 구성 파일에 대한 완전한 경로를 포함하는 문자열입니다. 비어 있으면 에이전트는 newrelic.yml이 newrelic.jar와 동일한 디렉터리에 있다고 가정합니다.
Type
Boolean
기본
(없음)
디버그 로깅을 활성화합니다.
Type
문자열
기본
(없음)
에이전트가 사용할 환경 구성이 포함된 문자열입니다.
Type
문자열
기본
(없음)
에이전트의 홈 디렉터리를 포함하는 문자열입니다. 기본값은 에이전트 jarfile과 동일한 디렉터리입니다.
Type
문자열
기본
newrelic_agent.log
에이전트 로그 파일의 이름이 포함된 문자열입니다.
속성
이러한 옵션을 설정하려면 attributes 스탠자를 사용합니다. 이를 재정의하려면 newrelic.config.attributes 접두사가 붙은 시스템 속성을 사용합니다.
속성은 트랜잭션 추적, 추적된 오류, 브라우저 모니터링 및 트랜잭션 이벤트에 대한 정보를 제공하는 키-값 쌍입니다. 또한 각 대상 아래에 속성 스탠자가 있습니다. 자세한 내용은 Java 에이전트 속성, 속성 활성화 및 비활성화 및 속성 예제를 참조하십시오.
이 설정을 사용하여 브라우저 모니터링에 대한 모든 속성을 켜거나 끌 수 있습니다. 조회할 수 있는 데이터입니다. 루트 수준에서 attributes.enabled가 false이면 browser_monitoring에서 이 속성이 설정되는 방식에 관계없이 브라우저 모니터링에서 속성이 전송되지 않습니다.
Type
문자열 목록
기본
(없음)
속성이 browser_monitoring에 대해 활성화된 경우, 이 목록에 있는 모든 속성 키는 페이지 보기에서 뉴렐릭으로 전송됩니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
문자열 목록
기본
(없음)
이 목록에 있는 모든 속성 키는 페이지 보기에서 뉴렐릭으로 전송되지 않습니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Circuit breaker
이러한 설정은 Java 서킷 브레이커의 동작을 사용자 정의합니다. 이러한 설정은 기본적으로 newrelic.yml에 포함되지 않습니다. JVM을 변경한 후 JVM을 다시 시작할 필요가 없습니다.
서킷 브레이커가 트립되어야 하는 여유 힙 메모리 비율을 맞춤화합니다. 사용 가능한 힙 메모리의 백분율이 memory_threshold 미만이고 가비지 수집에 소요된 CPU 시간이 gc_cpu_threshold 보다 크면 서킷 브레이커가 작동합니다. 서킷 브레이커가 트립될 가능성을 줄이려면 memory_threshold를 줄이거나 gc_cpu_threshold를 늘립니다. 애플리케이션의 작동 성능 및 동작에 따라 필요에 따라 이러한 값을 조정합니다.
Type
정수(0-100)
기본
10
서킷 브레이커가 트립되어야 하는 가비지 수집 CPU 시간의 백분율을 사용자 지정합니다. 사용 가능한 힙 메모리의 백분율이 memory_threshold 미만이고 가비지 수집에 소요된 CPU 시간이 gc_cpu_threshold보다 크면 서킷 브레이커가 작동합니다. 서킷 브레이커가 트립될 가능성을 줄이려면 memory_threshold를 줄이거나 gc_cpu_threshold를 늘립니다. 애플리케이션의 작동 성능 및 동작에 따라 필요에 따라 이러한 값을 조정합니다.
클라우드 플랫폼 활용
이러한 옵션은 utilization 스탠자에 설정되며 newrelic.config.utilization 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다.
에이전트는 활용 정보를 수집하여 뉴렐릭 서비스로 전송합니다. 에이전트는 Amazon Web Services(AWS), Azure, Google Cloud Platform 및 Pivotal Cloud Foundry 인스턴스에서 정보를 수집할 수 있습니다. 또한 도커 컨테이너와 쿠버네티스 서비스와 관련된 정보도 수집합니다.
Type
Boolean
기본
true
에이전트가 AWS 메타데이터 API를 폴링할지 여부를 결정합니다.
Type
Boolean
기본
true
에이전트가 Azure 메타데이터 API를 폴링하는지 여부를 결정합니다.
Type
Boolean
기본
true
에이전트가 Google Cloud Platform 메타데이터 API를 폴링하는지 여부를 결정합니다.
Type
Boolean
기본
true
에이전트가 KUBERNETES_SERVICE_HOST 환경 변수를 보고하는지 여부를 결정합니다.
Type
Boolean
기본
true
에이전트가 Pivotal Cloud Foundry 환경 변수를 읽는지 여부를 결정합니다.
Type
Boolean
기본
true
에이전트가 파일 시스템에서 Docker 정보를 읽을지 여부를 결정합니다.
코드 레벨 메트릭
코드 레벨 메트릭은 코드가 메서드 수준에서 수행되는 방식에 대한 세부적인 인사이트를 제공합니다. 자동으로 계측되거나 @Trace 주석으로 계측된 각 메서드에 대한 메트릭이 표시됩니다. 코드 레벨 메트릭에 대한 보다 자세한 내용은 CodeStream을 사용한 성능 모니터링을 참조하십시오.
코드 레벨 메트릭 옵션은 code_level_metrics 스탠자에 설정되며 newrelic.config.code_level_metrics 접두사가 있는 시스템 속성을 사용하여 재정의할 수 있습니다.
Type
Boolean
기본
true
코드 수준 지표는 에이전트 버전 7.10.0에서 기본적으로 비활성화되어 있습니다. 활성화하려면 true로 설정하십시오. 에이전트 버전 7.11.0부터 기본값은 위에서 언급한 대로 true입니다.
에러스 인박스 구성
다음 태그 중 하나를 설정하면 오류를 생성하는 소프트웨어 버전을 식별하는 데 도움이 됩니다.
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에도 표시됩니다.
애플리케이션 간 추적기
중요
애플리케이션 간 추적은 에이전트 버전 7.4.0부터 더 이상 사용되지 않으며 향후 에이전트 버전에서 삭제될 예정입니다.
애플리케이션 간 추적을 사용하는 대신 분산 추적 기능을 사용하시길 권합니다. 분산 추적은 애플리케이션 간 추적 기능을 개선한 것으로 대규모 분산 시스템에 권장됩니다.
교차 애플리케이션 추적 옵션은 cross_application_tracer 스탠자에 설정되며 newrelic.config.cross_application_tracer 접두사가 있는 시스템 속성을 사용하여 재정의할 수 있습니다.
분산 추적은 분산 시스템을 통해 이동하는 요청의 경로를 볼 수 있도록 해줍니다. 이 기능은 Java 에이전트 버전 7.4.0 이상에서 기본적으로 활성화되어 있습니다.
구성 파일의 distributed_tracing 스탠자에서 이를 수동으로 재정의할 수 있습니다. 접두사 시스템 속성(newrelic.config.distributed_tracing) 또는 환경 변수(NEW_RELIC_DISTRIBUTED_TRACING_ENABLED)를 사용하여 이를 재정의할 수도 있습니다. 아래의 예를 참조하십시오.
기본적으로 지원되는 에이전트 버전은 분산 추적을 위해 newrelic 헤더와 W3C 추적 컨텍스트 헤더를 모두 사용합니다. newrelic 분산 추적 헤더는 W3C 추적 컨텍스트 헤더를 지원하지 않는 이전 에이전트와의 상호 운용성을 허용합니다. W3C 추적 컨텍스트 헤더를 지원하는 에이전트 버전은 분산 추적을 위해 newrelic 헤더보다 우선합니다.
newrelic 헤더를 사용하지 않으려는 경우, 이를 true 로 설정하면 에이전트가 newrelic 헤더를 제외하고 분산 추적에 W3C Trace Context 헤더만 사용하게 됩니다.
이러한 옵션은 error_collector 스탠자에 설정되며 달리 명시되지 않는 한 newrelic.config.error_collector 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다. 오류 수집기는 포착되지 않은 예외에 대한 정보를 캡처하고 볼 수 있도록 이를 뉴렐릭으로 보냅니다.
팁
UI를 통해 오류를 구성하는 방법을 포함하여 Java 에이전트에 대한 오류를 구성하는 방법은 Java 에이전트 오류 구성을 참조하십시오.
Type
Boolean
기본
true
오류 수집을 활성화합니다.
Type
정규화된 class_name 문자열 목록이 포함된 스탠자
기본
(없음)
지정된 예외 클래스 이름은 무시되며 오류율이나 Apdex 점수에 영향을 미치지 않거나 APM에 보고됩니다. 시스템 속성으로 지정할 수 없습니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
에이전트가 무시해야 하는 예외 클래스 이름을 지정합니다. 무시된 메시지는 오류율이나 Apdex 점수에 영향을 미치지 않거나 APM에 보고되지 않습니다. 다음으로 구성된 yaml 쌍을 포함합니다.
APM에 보고되지 않아야 하는 완전한 예외 클래스 이름
AND
비교할 예외 message 목록(최소 하나는 필수)
예외 클래스 이름이 오류와 일치하지만 메시지가 일치하지 않는 경우 해당 오류는 무시되지 않습니다. 메시지 문자열은 일치에 contains를 사용합니다. 메시지는 자체적으로 제공될 수 없으며 항상 정규화된 클래스 이름과 쌍을 이루어야 합니다. 시스템 속성으로 지정할 수 없습니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
예:
error_collector:
ignore_messages:
com.example.MyException:
-"Some error message to ignore"
-"Some other error message to ignore"
com.example.DifferentException:
-"Some different error message to ignore"
환경 변수를 사용하여 무시하려는 예외 클래스 이름과 메시지를 나열할 수 있습니다.
NEW_RELIC_ERROR_COLLECTOR_IGNORE_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}"
Type
쉼표로 구분된 문자열 및 범위 목록
기본
404
오류로 처리되어서는 안 되는 HTTP 상태 코드의 개별 및 파선 범위로 구성된 쉼표로 구분된 목록입니다.
이 속성이 newrelic.yml 구성 파일에서 주석 처리되면 404 상태 코드가 자동으로 무시됩니다. 서버 측 구성을 사용할 때 무시하려면 상태 코드 404를 지정해야 합니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
예:
error_collector:
ignore_status_codes:404,507-511
Type
정규화된 class_name 문자열 목록이 포함된 스탠자
기본
(없음)
APM에 오류를 보고하는 동안 지정된 예외 클래스가 오류율 또는 Apdex 점수에 영향을 미치지 않도록 합니다. 시스템 속성으로 지정될 수 없습니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
예상대로 표시되어야 하는 정규화된 예외 클래스 이름으로 구성되어 오류율이나 Apdex 점수에 영향을 미치지 않도록 하는 yaml 쌍과 일치시킬 예외 message 목록(후자 중 하나 이상은 필수)을 포함합니다. 예외 클래스 이름이 오류와 일치하지만 메시지가 일치하지 않는 경우 해당 오류는 예상대로 표시되지 않으므로 오류율 및 Apdex 점수에 영향을 미칩니다.
메시지 문자열은 일치에 contains를 사용합니다. 메시지는 자체적으로 제공될 수 없으며 항상 정규화된 클래스 이름과 쌍을 이루어야 합니다. 시스템 속성으로 지정할 수 없습니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
예:
error_collector:
expected_messages:
com.example.MyException:
-"Some expected error message"
-"Some other expected error message"
com.example.DifferentException:
-"Some different expected error message"
환경 변수를 사용하여 예상되는 예외 클래스 이름 및 메시지를 나열할 수 있습니다.
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}"
Type
쉼표로 구분된 문자열 및 범위 목록
기본
(없음)
예상대로 표시되어 오류율 또는 Apdex 점수에 영향을 미치지 않도록 방지할 HTTP 상태 코드의 개별 및 파선 범위로 구성된 쉼표로 구분된 목록입니다.
이 설정은 동적이므로 실행 중인 에이전트는 JVM을 다시 시작하지 않고도 newrelic.yml에 대한 변경 사항을 알 수 있습니다.
예:
error_collector:
expected_status_codes:415,500-506
예상되는 상태 코드는 NEW_RELIC_ERROR_COLLECTOR_EXPECTED_STATUS_CODES 환경 변수와 함께 사용할 수도 있습니다.
Type
Boolean
기본
true
이 설정을 사용하여 추적된 오류에 대한 모든 속성을 켜거나 끌 수 있습니다. 루트 수준에서 attributes.enabled가 false이면 이 속성이 error_collector에서 설정되는 방식에 관계없이 추적된 오류에 속성이 전송되지 않습니다.
Type
문자열 목록
기본
(없음)
추적된 오류에 대해 속성이 활성화된 경우 이 목록에 있는 모든 속성 키는 추적된 오류의 뉴렐릭으로 전송됩니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
문자열 목록
기본
(없음)
이 목록에 있는 속성 키는 추적된 오류에서 뉴렐릭으로 전송되지 않습니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
Boolean
기본
true
트랜잭션에서 여러 오류가 발견되면 기본적으로 마지막 오류만 보고됩니다. 대신 이 속성을 false로 설정하면 발견된 첫 번째 오류만 보고합니다. 자세한 정보는 noticeError API를 참조하십시오. 예를 들어:
error_collector:
ignoreErrorPriority:false
Type
쉼표로 구분된 문자열 목록
기본
(없음)
지정된 모든 예외 클래스 이름은 오류로 처리되지 않습니다. Java 에이전트 3.40.0부터 더 이상 사용되지 않으며 ignore_classes로 대체되었습니다.
예:
error_collector:
ignore_errors: some.other.MyException
외부 추적기
외부 추적 옵션은 external_tracer 스탠자에 설정되며 newrelic.config.external_tracer 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다.
Type
Boolean
기본
false
이 설정을 사용하여 오류 및 트랜잭션 트레이스에 대한 나가는 요청 URI 컬렉션을 제어할 수 있습니다. 이 정보를 수집하지 않으려면 true로 설정합니다.
호스트 이름 구성
이러한 옵션은 process_host 스탠자에 설정되며 newrelic.config.process_host 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다.
Java 에이전트 버전 7.6.0부터 문맥적 로그 지원이 에이전트에 추가되어 지원되는 로깅 프레임워크에 쉽게 사용할 수 있습니다. 문맥적 로그에 Java 에이전트를 사용하는 방법에 대한 팁은 문맥적 Java 로그를 참조하십시오.
로컬 에이전트 구성 파일에서의 설정 변경은 동적으로 이루어지며, 변경 사항을 적용하기 위해 에이전트를 다시 시작할 필요가 없습니다. 구성 예시:
application_logging:
enabled:true
forwarding:
enabled:true
max_samples_stored:10000
context_data:
enabled:false
include:
exclude:
metrics:
enabled:true
local_decorating:
enabled:false
문맥적 로그 설정은 application_logging 스탠자에 설정되며 newrelic.config.application_logging 접두사가 있는 시스템 속성을 사용하여 재정의할 수 있습니다. 사용 가능한 유일한 옵션은 다음과 같습니다.
Type
Boolean
기본
true
핵심 문맥적 로그 기능을 활성화하려면 true로 설정합니다. 활성화되면 로그가 데코레이팅되거나 뉴렐릭으로 전송되는지 여부에 관계없이 추가 로깅 프레임워크 계측이 활성화됩니다.
중요
에이전트 릴리스 7.7.0 이상에는 기본적으로 에이전트 구성 파일에서 이 기능이 활성화되어 있습니다.
로그 메트릭 수집을 포함하여 이 기능을 완전히 비활성화하려면 false로 설정합니다.
로그 전달
지원되는 로깅 프레임워크를 사용 중이고 에이전트를 사용하여 애플리케이션 로그를 뉴렐릭으로 보내려는 경우, newrelic.config.application_logging.forwarding 접두사가 붙은 시스템 속성으로 재정의할 수 있는 forwarding 스탠자 아래의 설정을 통해 이를 제어할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.
Type
Boolean
기본
true
뉴렐릭에 애플리케이션 로그 전송을 활성화합니다.
중요
에이전트 릴리스 7.7.0 이상에는 기본적으로 에이전트 구성 파일에서 이 기능이 활성화되어 있습니다.
로그 전달 기능을 사용하면 데이터 인제스트가 증가하여 요금에 영향을 미칠 수 있습니다. 자세한 내용은 데이터 인제스트 추적에 대한 문서를 참조하십시오.
기존 로그 전달 솔루션이 있고 자동 문맥적 로그를 사용하도록 에이전트를 업데이트하는 경우, 이전 로그 전달자를 비활성화해야 합니다. 그렇지 않으면 앱에서 이중으로 로그 라인을 전송합니다. 계정에 따라 이중 청구가 발생할 수 있습니다. 자세한 내용은 절차에 따라 특정 로그 전달자를 비활성화하십시오.
데코레이팅된 로그를 뉴렐릭으로 보내려면 이를 true로 설정합니다.
데코레이팅된 로그를 뉴렐릭으로 전송하지 않으려면 이를 false로 설정합니다.
Type
정수
기본
10000
전송할 분당 최대 로그 줄 수를 지정하는 양의 정수입니다.
로그 전송을 효과적으로 비활성화하려면 이 값을 0으로 설정합니다.
중요
이는 분당 전송된 로그 수를 제어합니다.max_samples_stored를 0 (또는 12 보다 작은 값)으로 설정해도 기능 자체가 비활성화되지는 않지만 뉴렐릭에 로그 줄이 전송되지 않습니다.
전송되는 로그 라인의 양을 줄이려면 이 값을 더 낮게 설정합니다. (로그 샘플링이 발생할 수 있음) 더 많은 로그 라인을 보내려면 이 값을 더 높게 설정합니다.
각 로그는 연결된 트랜잭션과 동일한 우선순위를 부여받습니다. 트랜잭션 외부에서 발생하는 로그는 랜덤 우선순위를 부여받습니다. 일부 로그는 max_samples_stored에 의해 제한되기 때문에 포함되지 않을 수 있습니다. 예를 들어, 로깅 max_samples_stored가 10,000으로 설정되고 트랜잭션 1에 10,000개의 로그 항목이 있는 경우 트랜잭션 1에 대한 로그 항목만 기록됩니다. 트랜잭션 1에 10,000개 미만의 로그가 있는 경우 트랜잭션 1에 대한 모든 로그를 수신합니다. 그래도 공간이 남아 있으면 트랜잭션 2의 모든 로그를 받습니다.
샘플링된 트랜잭션에 대한 모든 로그가 기록된 후 max_samples_stored의 한도에 도달하지 않은 경우 샘플링에 없는 트랜잭션에 대한 로그 메시지가 전송됩니다. 남아 있는 경우 트랜잭션 외부의 로그 메시지가 기록됩니다.
로그 컨텍스트 데이터
Java 에이전트는 컨텍스트 데이터(logback/slf4j에 Mapped Diagnostic Context(매핑된 진단 컨텍스트), log4j2의 ThreadContext)를 캡처하고 해당 콘텐츠를 뉴렐릭에 전달되는 로그의 속성으로 추가할 수 있습니다. forwarding 스탠자 하단에 중첩된 context_data 스탠자 아래에서 설정을 통해 이를 제어할 수 있습니다. 이러한 설정은 newrelic.config.application_logging.forwarding.context_data 접두사가 붙은 시스템 속성으로 재정의할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.
Type
Boolean
기본
false
컨텍스트 데이터를 뉴렐릭에 대한 로그 속성으로 보내는 true로 설정합니다.
로그의 컨텍스트 데이터를 뉴렐릭으로 전송하지 않으려면 이 값을 false로 설정합니다.
Type
문자열 목록
기본
(없음)
로그 전달에 context_data가 활성화된 경우 이 목록에 있는 모든 속성 키가 로그 레코드의 뉴렐릭으로 전송됩니다. 이 목록이 비어 있으면 모든 속성이 전송됩니다.
Type
문자열 목록
기본
(없음)
로그 전달에 context_data가 활성화된 경우 이 목록에 있는 모든 속성 키가 로그 레코드의 뉴렐릭으로 전송되지 않습니다.
포함 및 제외 목록은 속성 규칙에 정의된 Exclude overrides include, More specific rules take priority, Keys are case-sensitive 및 Use an asterisk for wildcards 규칙을 따릅니다.
로그 메트릭
개별 로그 라인을 데코레이팅하고 전송할 수 있을 뿐만 아니라 Java 에이전트는 뉴렐릭 UI의 로그 차트에 표시되는 로깅 메트릭 데이터도 캡처할 수 있습니다. 이는 metrics 스탠자 아래의 설정으로 제어되며 newrelic.config.application_logging.metrics 접두사가 붙은 시스템 속성으로 재정의할 수 있습니다. 사용 가능한 유일한 옵션은 다음과 같습니다.
Type
Boolean
기본
true
APM 요약 페이지의 차트에 표시되는 로그 및 로그 수준에 대한 메트릭 정보의 수집을 활성화합니다.
에이전트가 로그에 대한 메트릭 정보를 캡처할 수 있도록 하려면 이 설정을 true로 둡니다.
이 기능을 비활성화하려면 이를 false로 설정합니다.
중요
로그 메트릭 수집을 비활성화하면 요약 페이지의 로그 차트가 공백으로 표시됩니다.
로그 장식
local_decorating 스탠자를 사용하면 로컬 로그 줄 데코레이팅을 제어할 수 있으며 newrelic.config.application_logging.local_decorating 접두사가 붙은 시스템 속성으로 재정의할 수 있습니다. 사용 가능한 유일한 옵션은 다음과 같습니다.
Type
Boolean
기본
false
이것은 로컬에 저장된 로그 라인의 데코레이팅 여부를 제어합니다. 이는 로그 전달 활성화 여부와 무관하며 별도의 로그 전달 솔루션을 사용하려는 고객을 지원하는 데 사용됩니다.
에이전트가 지원되는 프레임워크에 의해 로컬로 저장된 로그 라인에 메타데이터를 연결하는 문맥적 로그를 추가하도록 하려면 이를 true로 설정합니다.
중요
로컬 로그 데코레이팅을 활성화하면 애플리케이션 로그 파일에 연결 메타데이터가 추가되어 디스크 스토리지가 증가합니다. 이것이 허용되지 않는 경우, 이 기능을 비활성화하십시오.
로그 전달이 활성화된 경우 로컬 로그 데코레이션을 사용할 필요가 없습니다. 그렇게 하면 연결 메타데이터가 로그 메시지에 불필요하게 추가되어 시각적으로 산만해질 수 있습니다.
로컬 데코레이팅 기능을 끄려면 이를 false로 설정합니다. 이는 뉴렐릭으로 전송되는 로그 라인의 데코레이팅에는 영향을 미치지 않습니다.
로깅 구성
이는 일반 구성 변수의 일부입니다. 디버깅을 위해 자주 조정되기 때문에 여기에서 분류됩니다.
일부 로깅 구성 변수는 동적이며 적용하기 위해 호스트를 다시 시작할 필요가 없습니다. 예를 들어, 로그 파일이 너무 빨리 증가하는 경우 log_level을 덜 자세한 설정으로 설정하여 보고율을 줄일 수 있습니다.
다음은 로그 회전에 영향을 미치는 구성 변수의 우선순위와 설명입니다.
log_daily가 true인 경우:
log_limit_in_kbytes 값이 0보다 크면 복합 트리거링 정책이 야기됩니다. 이는 로그가 하루에 한 번 또는 정해진 크기에 도달하면 롤링이 되며, 최대 log_file_count 파일을 유지합니다.
log_limit_in_kbytes 값이 0이면 로그가 하루에 한 번 롤링되어 최대 log_file_count 개의 파일을 유지합니다.
log_daily가 false이고 log_limit_in_kbytes > 0인 경우 크기 기반 정책이 설정되며, 정의된 크기에 도달하면 로그가 롤링되어 최대 log_file_count개의 파일을 유지합니다.
프로덕션 소프트웨어에 취약점이 노출되지 않도록 비프로덕션 배포에서만 IAST를 실행하십시오.
뉴렐릭 보안 에이전트 구성은 security 스탠자에서 설정되며 newrelic.config.security 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다. 옵션은 다음과 같습니다.
Type
Boolean
기본
false
모든 보안 기능을 완전히 비활성화하려면 이 플래그를 false로 설정합니다. 이 속성은 애플리케이션이 시작되면 읽기만 가능합니다. 기본값은 false입니다.
Type
Boolean
기본
false
보안 데이터를 뉴렐릭으로 보낼지 여부를 결정합니다. 이 항목이 비활성화되고 agent.enabled가 true이면 보안 모듈이 실행되지만 데이터는 전송되지 않습니다. 기본값은 false입니다.
Type
문자열
기본
IAST
뉴렐릭 보안 제공 모드: IAST. 기본값은 IAST입니다. IAST 스캐닝의 침습적인 특성이 있으므로 프로덕션 환경 또는 프로덕션 데이터가 처리되는 환경에서 이 모드를 활성화하면 안됩니다.
Type
문자열
기본
wss://csec.nr-data.net
뉴렐릭 보안의 SaaS 연결 URL입니다. 보안 에이전트가 데이터를 보내는 엔드포인트이며, APM Java 에이전트를 위해 설정한 환경과 일치해야 합니다.
미국 프로덕션: wss://csec.nr-data.net
Type
Boolean
기본
true
RCI 보안 이벤트 감지를 활성화합니다. 기본값은 true입니다.
Type
Boolean
기본
true
RXSS 보안 이벤트 감지를 활성화합니다. 기본값은 true입니다.
Type
Boolean
기본
true
역직렬화 보안 이벤트 감지를 활성화합니다. 기본값은 true입니다.
중요
뉴렐릭 보안 에이전트 IAST(Interactive Applications Security Testing) 모드는 Java 에이전트 버전 8.4.0 이상이 필요합니다.
느린 트랜잭션 감지
이제 Java 에이전트 버전 8.7.0 이후 에이전트는 SlowTransaction 이벤트를 통해 느린 트랜잭션을 감지할 수 있습니다. 이러한 이벤트는 트랜잭션 길이가 특정 임계값을 초과할 때 기록됩니다. 기본적으로 임계값은 1000밀리초입니다.
느린 트랜잭션 감지는 slow_transactions으로 설정되며 newrelic.config.slow_transactions 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다. 옵션은 다음과 같습니다:
Type
Boolean
기본
false
느린 트랜잭션 감지를 활성화/비활성화하는 데 사용됩니다.
Type
정수
기본
1000
SlowTransaction 이벤트가 보고되기 위해 트랜잭션에 소요되는 시간(밀리초)을 결정합니다.
스팬 이벤트
분산 추적에 대한 스팬 이벤트가 보고됩니다. 스팬 이벤트를 보고하려면 분산 추적을 활성화해야 합니다.
스팬 구성은 span_events 스탠자에서 설정되며 newrelic.config.span_events 접두사가 있는 시스템 속성을 사용하여 재정의할 수 있습니다. 옵션에는 다음이 포함됩니다.
Type
Boolean
기본
true
스팬 이벤트 보고를 활성화/비활성화하는 데 사용됩니다.
Type
정수
기본
2000
Max
10000
에이전트 수집 주기 동안 캡처할 수 있는 Span 이벤트 수를 결정합니다. Java 에이전트 7.4.0 이상에서 사용할 수 있습니다.
중요
스팬 이벤트 수를 늘리면 에이전트 오버헤드가 추가될 수 있습니다.
Type
Boolean
기본
true
이 설정을 사용하여 스팬 이벤트의 모든 속성을 켜거나 끌 수 있습니다. 루트 수준의 attributes.enabled가 false이면 이 속성( span_events.attributes.enabled )이 설정되는 방식에 관계없이 스팬 이벤트에 속성이 전송되지 않습니다.
Type
문자열 목록
기본
(없음)
스팬 이벤트에 속성이 활성화된 경우, 이 목록에 있는 모든 속성 키는 span_events로 뉴렐릭으로 전송됩니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
문자열 목록
기본
(없음)
이 목록에 있는 모든 속성 키는 스팬 이벤트에서 뉴렐릭으로 전송되지 않습니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
이러한 옵션은 strip_exception_messages 스탠자에 설정되며 달리 명시되지 않는 한 newrelic.config.strip_exception_messages 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다. 이 구성을 사용하여 Java 예외 메시지가 뉴렐릭에 보고되는지 여부를 제어할 수 있습니다.
Type
Boolean
기본
false
기본적으로 이는 에이전트가 모든 예외에서 뉴렐릭 수집기로 메시지를 보낸다는 것을 의미하는 false로 설정됩니다.
이것을 true로 설정하면, 에이전트가 민감한 정보를 실수로 캡처하는 것을 방지하기 위해 예외에서 메시지를 제거합니다.
이 설정을 사용하여 트랜잭션 세그먼트의 모든 속성을 켜거나 끌 수 있습니다. 루트 수준의 attributes.enabled가 false이면 이 속성( transaction_segments.attributes.enabled )이 설정되는 방식에 관계없이 속성이 트랜잭션 세그먼트로 전송되지 않습니다.
Type
문자열 목록
기본
(없음)
트랜잭션 세그먼트에 대해 속성이 활성화된 경우, 이 목록에 있는 모든 속성 키는 트랜잭션 세그먼트의 뉴렐릭으로 전송됩니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
문자열 목록
기본
(없음)
이 목록에 있는 모든 속성 키는 트랜잭션 세그먼트의 뉴렐릭으로 전송되지 않습니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
트랜잭션 추적기
이러한 옵션은 transaction_tracer 스탠자에 설정되며 newrelic.config.transaction_tracer 접두사가 붙은 시스템 속성을 사용하여 재정의할 수 있습니다.
트랜잭션 추적은 느린 트랜잭션에 대한 심층 정보를 캡처하고 이를 뉴렐릭 서비스로 보냅니다. 트랜잭션에는 발행된 쿼리 문을 포함하여 트랜잭션의 정확한 호출 순서가 포함됩니다.
중요
트랜잭션 이름 끝에 대괄호 [suffix]를 사용하지 마십시오. 뉴렐릭은 자동으로 이름에서 괄호를 제거합니다. 대신 필요한 경우 괄호 (suffix) 또는 기타 기호를 사용합니다.
느린 쿼리 및 EXPLAIN 계획( 지원되는 경우 )이 캡처되지 않는 쿼리 실행 시간 임계값(초)입니다. record_sql이 raw 또는 obfuscated로 설정된 경우에만 느린 쿼리와 관련이 있습니다. explain_enabled가 true로 설정된 경우에만 EXPLAIN 계획과 관련이 있습니다.
Type
정수
기본
2000
SQL 쿼리 문자열의 문자 제한입니다. 많은 양의 정보가 포함된 느린 SQL 쿼리가 많은 경우 성능이나 뉴렐릭에서 데이터를 보는 속도에 부정적인 영향을 미칠 수 있습니다. 정보와 성능의 적조항한 균형을 찾을 때까지 값을 점진적으로 늘립니다.
Type
Boolean
기본
false
뉴렐릭에 업로드하는 대신 에이전트 로그 파일에 쿼리를 로깅하려면 true로 설정합니다. 쿼리는 record_sql 모드를 사용하여 기록됩니다.
Type
문자열
기본
obfuscated
트랜잭션 추적기가 켜져 있으면 쿼리 문을 선택적으로 기록할 수 있습니다. 레코더에는 세 가지 모드가 있습니다.
off: 쿼리를 보내지 않습니다.
raw: 쿼리문을 원래 형태로 보냅니다.
obfuscated: 숫자 및 문자열 리터럴을 제거합니다.
Type
Boolean
기본
false
Java 에이전트 버전 3.12.1이 false로 변경될 때까지 기본값은 true }입니다.
이 옵션은 Play 2.x+ 전용입니다. Play/Scala 계측은 Thread.getStackTrace()를 사용하여 추적 프로그램 이름을 개선할 수 있지만 오버헤드가 증가합니다.
Type
정수
기본
0.5
SQL 호출에서 스택 트레이스를 수집하기 위한 임계값(초)을 정의합니다. SQL 문이 이 임계값을 초과하면 에이전트는 현재 스택 트레이스를 캡처합니다. 이는 긴 SQL 호출이 시작되는 위치를 정확히 찾아내는 데 유용합니다.
Type
정수
기본
20
이 설정을 사용하여 다양한 트랜잭션 추적을 제어합니다. top_n은 추적이 생성될 고유하고 느린 트랜잭션의 수를 나타내는 정수입니다.
트랜잭션 트레이스가 앱에서 가장 느린 실제 트랜잭션을 보다 정확하게 반영하려면 이 값을 더 낮게 설정합니다.
더 다양한 트랜잭션 배열을 샘플링하려면 값을 더 높게 설정합니다.
값이 0이면 가장 느린 트랜잭션 만 항상 추적됩니다. 항상 가장 느린 하나 또는 두 개의 트랜잭션이 있을 수 있고 동일한 트랜잭션 트레이스를 반복적으로 보는 것은 아마도 많은 가치를 제공하지 못할 것이기 때문에 이는 최적이 아닌 것으로 간주됩니다.
동일한 트랜잭션이 가장 느린 경우가 많으면, top_n 설정을 통해 시간 경과에 따라 Java 에이전트가 가장 느린 n 트랜잭션을 샘플링하도록 만들 수 있습니다. 이를 통해 애플리케이션에 대한 더 많은 다양성과 인사이트를 얻을 수 있습니다.
Type
문자열(부동 소수점)
기본
apdex_f
트랜잭션을 추적할 수 있는 시기를 결정하는 데 사용되는 시간 임계값입니다. 트랜잭션의 응답 시간이 이 임계값을 초과하면 트랜잭션 트레이스가 기록되어 뉴렐릭으로 전송됩니다.
기본값은 apdex_f (기본값)이며 임계값을 "Frustrated"Apdex 수준(apdex_t 값의 4배)으로 설정합니다. 초 수를 나타내는 부동 소수점 값을 입력하여 특정 시간 임계값을 설정할 수도 있습니다.
Type
문자열
기본
(없음)
중요
이 구성은 에이전트 버전 5.10.0부터 더 이상 사용되지 않으며 향후 에이전트 버전에서 제거됩니다. 대신 collect_slow_queries_from을 사용합니다.
기본적으로 높은 보안 모드에서는 에이전트가 느린 쿼리를 수집할 수 없습니다. 높은 보안이 활성화된 경우에도 DataStax 드라이버에서 Cassandra 쿼리를 수집하려면 이 옵션을 활성화합니다. 높은 보안을 사용하지 않는 경우 에이전트는 느린 쿼리를 자동으로 수집합니다.
기본적으로 높은 보안 모드에서는 에이전트가 느린 쿼리를 수집할 수 없습니다. 높은 보안이 활성화된 경우에도 DataStax 드라이버에서 Cassandra 쿼리를 수집하려면 이 옵션을 활성화합니다. 높은 보안을 사용하지 않는 경우 에이전트는 느린 쿼리를 자동으로 수집합니다.
이 설정을 사용하여 트랜잭션 트레이스에 대한 모든 속성을 켜거나 끌 수 있습니다. 루트 수준의 attributes.enabled가 false이면 이 속성( transaction_tracer.attributes.enabled )이 설정되는 방식에 관계없이 속성이 트랜잭션 트레이스로 전송되지 않습니다.
Type
문자열 목록
기본
(없음)
트랜잭션 추적에 대해 속성이 활성화된 경우, 이 목록에 있는 모든 속성 키가 트랜잭션 추적의 뉴렐릭으로 전송됩니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
문자열 목록
기본
(없음)
이 목록에 있는 모든 속성 키는 트랜잭션 추적에서 뉴렐릭으로 전송되지 않습니다. 자세한 내용은 에이전트 속성 규칙을 참조하십시오.
Type
정수
기본
3000
트랜잭션당 생성할 수 있는 토큰의 수를 제한합니다. 이 값을 늘리면 에이전트가 사용하는 메모리 양과 뉴렐릭으로 전송되는 데이터 양이 증가하기 때문에 성능에 영향을 미칠 수 있습니다.
Type
정수
기본
3000
트랜잭션당 생성할 수 있는 세그먼트 수를 제한합니다. 이 값을 높이면 에이전트가 사용하는 메모리 양과 뉴렐릭으로 전송되는 데이터 양이 증가하므로 성능에 영향을 미칠 수 있습니다.