Esta guía cubre los principales cambios entre las series 7.x y 8.x del agente de Java. Cubre problemas que puede encontrar durante la actualización y cómo migrar exitosamente a la versión 8.x. Los principales cambios incluyen:
Importante
Los atributos eliminados en las versiones 8.0 a 8.7 se reintroducen en 8.8.0. Esto brinda compatibilidad con versiones anteriores para los clientes que todavía usan esos atributos para o el panel.
Se modificó y eliminó el atributo de transacción y span.
Para brindar coherencia en nuestro agente APM y alinearnos mejor con los estándares de la industria, cambiamos los atributos de transacción y span en el agente de Java. A partir de agente de Java versión 7.6.0, Introdujimos el nuevo atributo estándar http.statusCode y http.statusText y marcamos httpResponseCode, response.status y response.statusMessage como obsoletos.
Atributo obsoleto | Nuevo atributo | Cambio de tipo de datos |
---|---|---|
httpResponseCode | http.statusCode | String to INT |
response.status | http.statusCode | String to INT |
response.statusMessage | http.statusText | N/A |
Acciones recomendadas
- Si tiene alertas o panel que utiliza el atributo obsoleto y usa la versión del agente 8.0 - 8.7, debe actualizar su agente a 8.8 o actualizar las referencias al atributo eliminado. Si actualizó todas las alertas o el panel al nuevo atributo estándar, puede desactivar el indicador de compatibilidad para usar solo el nuevo atributo estándar. Para obtener más información sobre la configuración del indicador de compatibilidad, consulte la configuración
http_attribute_mode
. - Actualice las alertas y el panel que utilizan atributos obsoletos.
Encontrar consulta de alerta impactada
Para buscar y corregir alertas afectadas:
Utilice NerdGraph Explorer y busque alertas utilizando el operador
queryLike
para cada atributo que esté buscando. Por ejemplo:{actor {user {name}account(id: <ACCOUNTID>) {alerts {nrqlConditionsSearch(searchCriteria: {queryLike: "httpResponseCode"}) {nrqlConditions {nrql {query}idnamepolicyId}}}}}}Para cada alerta devuelta, puede utilizar la identificación o el nombre en la UI Alerts & AI > Alerts Conditions para encontrar la alerta.
Revise la condición de alerta y la cobertura de la señal para confirmar cualquier impacto en la alerta.
Utilice las instrucciones en Reparación de alertas impactadas y declaraciones NRQL del panel para actualizar las declaraciones NRQL.
Encontrar consulta dashboard afectado
Para encontrar la consulta afectada para un dashboard:
Usando NerdGraph Explorer y el guid de entidad ubicado en los metadatos de un dashboard, puede obtener todas las consultas NRQL para un dashboard.
{actor {entity(guid: "[ENTITY GUID]") {... on DashboardEntity {guidnamepages {widgets {rawConfiguration}}}}}}La consulta NRQL regresará en el elemento
rawConfiguration
. Puede utilizar la búsqueda de texto para encontrar el atributo eliminado.Utilice las instrucciones en Reparación de alertas impactadas y declaraciones NRQL del panel para actualizar las declaraciones NRQL.
También puede obtener la lista de guías de entidades para todos los paneles con la siguiente consulta:
{ actor { entitySearch(query: "domain IN ('VIZ')") { results { entities { guid accountId } } } }}
Corrección de alertas impactadas y declaraciones NRQL del panel
http.statusCode reemplazaría las referencias a httpResponseCode o response.status, que también tiene un tipo de datos diferente. Anteriormente habrías utilizado una referencia como:
[...] WHERE (Numeric(response.status)\>399 [...]
para convertir el tipo de datos de cadena a un número. Ya no necesita hacer esto y en su lugar puede utilizar operaciones numéricas simples como:
[...] WHERE (http.statusCode \>399) [...]
http.statusText reemplazaría las referencias a response.statusMessage. El tipo de datos para este atributo no ha cambiado.
Instrumentación eliminada
Eliminamos los siguientes modelos de instrumentación para las versiones de biblioteca que ya no son compatibles con sus respectivos mantenedores:
- cassandra-datastax-2.1.2
- httpclient-3.0
- jdbc-integrado-derby-10.2.1.6
- jdbc-integrado-derby-10.10.1.1
- jetty-7
- jetty-7.6
- jetty-9
- jetty-9.0.4
- jetty-9.1
- mongodb-2.12
- mongodb-2.14
- mongodb-3.0
- khttp-3.0.0
- khttp-3.4.0
- khttp-3.5.0
Si su aplicación utiliza una de las bibliotecas, ya no recibirá la métrica y la transacción producida por la instrumentación para esa biblioteca al actualizar a una versión de agente de Java v8.x.
Acciones recomendadas
Si es posible, actualice la biblioteca afectada a una versión compatible con el mantenedor y New Relic y actualice su agente. Si actualizar la biblioteca EOLed no es una opción, aún puede actualizar su agente, pero le recomendamos que lo pruebe y revise para determinar si los datos eliminados causan lagunas en áreas críticas.