주의
알려진 문제: 이 릴리스에는 Netty Reactor의 특정 사용과 관련하여 메모리 누수를 일으킬 수 있는 알려진 문제가 있습니다. 다른 버전을 사용해 보시기 바랍니다.
새로운 기능 및 개선 사항
- Reactor
Mono.flatMap호출 2308에 대한 가시성을 향상시킵니다. - 핵심 Kafka 클라이언트 라이브러리 2312를 사용할 때 Spring-Kafka에 대한 새로운 측정, 수신 및 수신을 추가합니다.
- Kafka 3.7+ 2358에 대한
KafkaConsumerConfig이벤트 지원을 추가합니다.
수정 사항
distributed_tracing.sampler구성 2330을수정합니다.Scala 2.12 및 JDK 11을 사용할 때 발생할 수 있는 불법 액세스 오류를 수정합니다. 에이전트가 Scala 2.12를 감지할 수 없는 경우(이를 위해 시스템 클래스 로더를 확인합니다. 특히 sbt는 Scala 클래스를 사용자 정의 Scala 로더에 로드합니다) 시스템 속성
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334를통해 수동으로 수정을 활성화하는 기능 플래그도 있습니다.Netty '알 수 없음' 트랜잭션 2274 2355수정
- 이 수정 사항은 이전의 Netty 측정 및 계측 변경 사항을 기능 플래그 뒤로 옮겨서 HTTP2 트랜잭션과 관련된 일부 경우에 추가 가시성을 제공합니다. 이 세분성을 다시 활성화하려면(알 수 없는 거래가 표시될 수 있는 가능성이 있음) 다음 구성 설정을 사용하세요.
netty:http2:frame_read_listener:start_transaction: true- 8.20의 에이전트 구성에 논리 오류가 있으므로 해당 수정 사항은 에이전트 버전 8.21 이상에서만 공식적으로 적용됩니다.
SQS 메시지에 대한 분산 트레이스 헤더를 추가하는 시기에 대한 제한을 추가합니다. 이는 메시지 내용의 바이트 크기와 속성 크기에 따라 결정됩니다. 크기가 251KB보다 크거나 속성이 9개 이상인 메시지는 분산 트레이스 헤더 추가에서 제외됩니다 . 2353
고객 환경과의 충돌을 방지하기 위해
org.cracJAR을 숨길 수 있습니다. 2344PR #1927에서
NullPointerExceptions이 이전 버전의vertx-core측정으로 이동하는 것을 방지하기 위해 백포트 변경 사항을 적용했습니다. 계측 2327HttpUrlConnection메서드 호출로 인해 과도한 트랜잭션 세그먼트가 생성되는 것을 방지합니다(예:getInputStream) 외부 호출과 연관되지 않은 경우. 이 동작은 다음 구성 옵션으로 제어할 수 있습니다:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false또는newrelic.yml의 동등한 절. 기본 설정은true입니다(즉 외부가 아닌getInputStream및 기타 응답 처리기 메서드는 이전과 같이 보고됩니다. 2365
보안
- 무한 추적 2339로 보안을 강화하기 위해
com.newrelic.agent.java:infinite-tracing-protobuf을 업그레이드합니다. - 보안 취약점 2333을해결하기 위해
snakeyamlcom.konloch:safeyaml로 바꿉니다.
사용 중단
다음 측정, 계측 모듈은 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거될 예정입니다.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
CSEC 버전 1.7.0 2348업데이트\ 변경 로그: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
최신 버전으로 업데이트
현재 사용 중인 Java 에이전트 버전을 식별하려면 java -jar newrelic.jar -v 을 실행합니다. Java 에이전트 버전이 콘솔에 인쇄됩니다.
그런 다음 최신 Java 에이전트 버전으로 업데이트하려면 다음을 수행합니다.
- 전체 Java 에이전트 루트 디렉터리 를 다른 위치에 백업합니다. 해당 디렉토리의 이름을
NewRelic_Agent#.#.#으로 바꿉니다. 여기서#.#.#은 에이전트 버전 번호입니다. - 에이전트를 다운로드하세요.
- 새 에이전트 다운로드 파일의 압축을 푼 다음
newrelic-api.jar및newrelic.jar을 원래 Java 에이전트 루트 디렉토리 에 복사합니다. - 이전
newrelic.yml을 zip에서 새로 다운로드한newrelic.yml과 비교 하고 필요한 경우 파일을 업데이트합니다 . - Java 디스패처를 다시 시작하십시오.
Java 에이전트 업데이트 후 문제가 발생하면 백업된 New Relic 에이전트 디렉터리에서 복원하십시오.
에이전트 구성 차이점 업데이트
에이전트의 새 버전을 출시할 때 newrelic.yml 에 새 설정을 추가합니다.diff 또는 다른 diffing 유틸리티를 사용하여 변경된 사항을 확인하고 이전 파일에 새 구성 설정을 추가할 수 있습니다.라이센스 키, 앱 이름 또는 기본 설정 변경 사항과 같이 파일에 대해 수행한 사용자 정의를 덮어쓰지 않도록 하십시오.
예를 들어, יאני 버전 7.10.0 및 7.11.0에 대한 기본 newrelic.yml 파일을 diff 하는 경우 콘솔에 인쇄된 결과는 다음과 같습니다.
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...이 예에서 이러한 줄은 יאם 버전 7.11.0의 기본 newrelic.yml 에 추가되었습니다. 7.11.0 이상으로 이동하는 경우 원래 newrelic.yml 에 이러한 새 줄을 추가해야 합니다.
지지 성명:
- 뉴렐릭은 에이전트를 정기적으로 업그레이드하여 최신 기능과 성능 이점을 얻을 것을 권장합니다. 또한, 이전 릴리스는 지원 종료 시점 에 더 이상 지원되지 않습니다.