Advertencia
Problemas conocidos: Esta versión tiene un problema conocido con ciertos usos de Netty Reactor que puede provocar fugas de memoria. Considere emplear otra versión.
Nuevas características y mejoras
- Mejora la visibilidad de las llamadas al Reactor
Mono.flatMap2308 - Agrega nueva instrumentación para Spring-Kafka y rastreo distribuido al usar la biblioteca cliente principal de Kafka 2312
- Agrega compatibilidad con eventos
KafkaConsumerConfigpara Kafka 3.7+ 2358
Correcciones
Corrige la configuración
distributed_tracing.sampler2330Corrige un error de acceso ilegal que puede ocurrir al usar Scala 2.12 y JDK 11. En los casos en que Scala 2.12 no sea detectable por el agente (comprobamos el cargador de clases del sistema para ello; cabe destacar que sbt cargará las clases Scala en cargadores Scala personalizados), también existe una bandera de característica para habilitar manualmente la corrección a través de la propiedad del sistema
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334Corregir transacciones 'Desconocidas' de Netty 2274 2355
- Esta solución mueve los cambios anteriores de instrumentación de netty detrás de una bandera característica, lo que brinda visibilidad adicional en algunos casos que involucran transacciones HTTP2. Para volver a habilitar este detalle (con el posible costo de ver transacciones "Desconocidas"), use la configuración:
netty:http2:frame_read_listener:start_transaction: true- La versión 8.20 tiene un error lógico en la configuración del agente, por lo que la corrección solo es oficial en la versión 8.21 del agente y superiores.
Agrega una restricción sobre cuándo agregar encabezados de rastreo distribuido para los mensajes SQS. Esto se basa en el tamaño del contenido de un mensaje en bytes y en el tamaño del atributo. Los mensajes con un tamaño superior a 251 KB o con 9 o más atributos se excluyen de recibir los encabezados de rastreo distribuido añadidos 2353
Permite que el archivo JAR
org.cracse oculte para evitar conflictos con los entornos de los clientes. 2344Retroporta los cambios realizados en la solicitud de extracción n.° 1927 para evitar
NullPointerExceptionsen versiones anteriores de la instrumentaciónvertx-core2327Evita la creación de segmentos de transacción excesivos mediante llamadas al método
HttpUrlConnection(por ejemplo).getInputStream) cuando no están asociados con una llamada externa. Este comportamiento se puede controlar mediante las siguientes opciones de configuración:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=falseo stanza equivalente ennewrelic.yml. La configuración predeterminada estrue(es decir, Los métodos de manejo de respuestas no externosgetInputStreamy otros se reportarán como antes). 2365
Seguridad
- Actualiza
com.newrelic.agent.java:infinite-tracing-protobufpara mayor seguridad con seguimiento infinito 2339 - Reemplaza
snakeyamlconcom.konloch:safeyamlpara solucionar una vulnerabilidad de seguridad 2333
Desusos
Los siguientes módulos de instrumentación están obsoletos y se eliminarán en la próxima versión principal:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
Actualización de la versión CSEC a la 1.7.0 2348\ log de cambios: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
Actualizar a la última versión
Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.
Luego, para actualizar a la última versión del agente de Java:
- Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a
NewRelic_Agent#.#.#, donde#.#.#es el número de versión del agente. - Descargar el agente..
- Descomprima el archivo de descarga del nuevo agente y luego copie
newrelic-api.jarynewrelic.jaren el directorio raíz del agente de Java original. - Compare su
newrelic.ymlantiguo con elnewrelic.ymlrecién descargado del zip y actualice el archivo si es necesario. - Reinicie su despachador de Java.
Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.
Actualizar diferencias de configuración del agente
Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.
Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:
➜ 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...En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.
Declaración de apoyo:
- New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.