Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Para aprovechar al máximo las últimas características, mejoras y parches de seguridad importantes de New Relic, le recomendamos que actualice su agente Node.js a la última versión. Para obtener información adicional sobre actualizaciones de agentes específicos, consulte las notas de la versión del agente de Node.js. Las notas de la versión incluyen un enlace de descarga cuando corresponde, además de instrucciones para descargar e instalar la última versión.
Si el módulo newrelic aparece en su package.json, ejecute npm install.
Si desea apuntar solo al módulo newrelic , ejecute npm update newrelic.
Recommendation: Pruebe su versión actualizada antes de pasarla a producción. Si tiene problemas, siga los procedimientos de resolución de problemas del agente Node.js.
Actualice a la versión 11 del agente Node.js
Antes de actualizar a Node.js versión 11, revise esta información para ver cambios importantes.
Major changes with Node.js agent v11
Comments
Se agregó soporte de paridad oficial para Node.js 20.
BREAKING: Se eliminó la compatibilidad con Node.js 14.
BREAKING: Se actualizó el administrador de contexto predeterminado para que sea AsyncLocalContextManager.
El LegacyContextManager predeterminado anterior se puede restaurar configurando el indicador característico de config.feature_flag.legacy_context_manager en true.
Si prefiere las variables de entorno, puede configurar NEW_RELIC_FEATURE_FLAG_LEGACY_CONTEXT_MANAGER en true.
Tenga en cuenta que este administrador de contexto se eliminará en versiones futuras. Si descubre que debe volver a utilizar este administrador de contexto legacy , comuníquese con el soporte de New Relic o con un problema de GitHub.
BREAKING: Renombrado shim.handleCATHeaders a shim.handleMqTracingHeaders.
Actualice la dependencia de New Relic a versiones con soporte para la versión actualizada de Node.js
@newrelic/AWS-sdk v7.0.0
@newrelic/koa v8.0.0
@newrelic/native-métrica v10.0.0
@newrelic/superagent v7.0.0
@newrelic/test-utilities v8.0.0
Compatibilidad con la versión Node.js
Node.js 16 es la versión más antigua admitida por el agente New Relic Node.js v11. Node.js 14 y 15 no son compatibles con v11. Los clientes que ejecutan Node.js 15 y versiones anteriores tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v11.
Permanecer en el agente New Relic Node.js v10 sin la capacidad de usar la nueva característica que solo está disponible con las versiones actualizadas del agente.
Sugerencia
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 16.
Actualice a la versión 10 del agente Node.js
Antes de actualizar a Node.js versión 10, revise esta información para ver cambios importantes.
Major changes with Node.js agent v11
Comments
Se agregó la capacidad de registrar múltiples enlaces de instrumentación (onRequire, onResolved) para el mismo nombre de módulo resuelto.
Esta ha sido una limitación del agente desde el principio.
Si usó la API para instrumentar api.instrument, api.instrumentDatastore, api.instrumentWebframework, api.instrumentMessages o api.instrumentConglomerate, anularía los enlaces de instrumentación existentes.
El efecto fue que el agente Node.js no funcionaría según lo diseñado.
BREAKING: Se actualizó el valor predeterminado de config.transaction_tracer.record_sql de desactivado a ofuscado. Esto significa que las declaraciones SQL serán capturadas pero ofuscadas.
BREAKING: Los parámetros de ruta (URL) ahora se almacenan como request.parameters.route.* atributo en transacciones, segmentos raíz y tramos.
El parámetro de consulta estará disponible como atributo con el prefijo request.parameters.* sobre transacción y Spans.
El parámetro de ruta estará disponible como atributo con el prefijo request.parameters.route.* sobre transacción y Spans.
El parámetro de ruta (también conocido como parámetro de URL) es una característica común de varios marcos web, donde puede crear un marcador de posición como parte de una definición de ruta API.
BREAKING: Se eliminó captureUrlParams de la clase WebFrameworkShim.
DEPRECATION NOTICE: shim.unwrap y shim.unwrapOnce ya no funcionarán si intentas desenvolver un artículo que ha sido envuelto varias veces.
Esto se debe a que ahora permitimos instrumentar el mismo módulo más de una vez, no se puede desenvolver de forma segura sin romper toda la instrumentación registrada. Planeamos eliminar shim.unwrap y shim.unwrapOnce en la próxima versión importante.
Actualice la dependencia de New Relic a versiones con soporte para la versión actualizada de Node.js
@newrelic/AWS-sdk v7.0.0
@newrelic/koa v8.0.0
@newrelic/native-métrica v10.0.0
@newrelic/superagent v7.0.0
@newrelic/test-utilities v8.0.0
Compatibilidad con la versión Node.js
Node.js 14 es la versión más antigua admitida por el agente New Relic Node.js v10. Node.js 12 y 13 no son compatibles con v10. Los clientes que ejecutan Node.js 13 y versiones anteriores tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v10.
Permanecer en el agente New Relic Node.js v8 sin la capacidad de usar la nueva característica que solo está disponible con las versiones de actualización del agente.
Sugerencia
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 14.
Actualice a la versión 9 del agente Node.js
Antes de actualizar a Node.js versión 9, revise esta información para ver cambios importantes.
Major changes with Node.js agent v9
Comments
Se agregó soporte de paridad oficial para Node.js 18.
BREAKING: Se eliminó la compatibilidad con Node.js 12.
BREAKING: El agente ya no incluye el paquete de certificados New Relic automáticamente cuando usa la configuración de 'certificados' (comúnmente con servidores proxy).
El agente ya no incluye el paquete de certificados New Relic cuando usa la configuración de 'certificados' (comúnmente con servidores proxy). Si encuentra que esto interrumpe su entorno actual, le recomendamos obtener un paquete de CA como el de Mozilla.
BREAKING: El agente ahora excluye el puerto cuando realiza solicitudes HTTPS externas al puerto 443 para cumplir con la especificación y otros agentes.
Los segmentos externos anteriores se denominarían External/example.com:443 cuando se utilizara el puerto HTTPS predeterminado.
El segmento externo ahora se llamará External/example.com.
BREAKING: Se eliminó la capacidad de deshabilitar el seguimiento de contexto de promesa basado en ganchos asíncronos a través del indicador de característica await_support . Esto también elimina la instrumentación legacy de Promise.
Se liberó la bandera de característica await_support . El agente ahora depende de async_hooks para rastrear la propagación de la promesa asíncrona. El resultado neto es que si feature_flag.await_support se configuró en falso, la instrumentación legacy realizó un seguimiento de cada función en una cadena de promesa como un segmento separado.
BREAKING: Se eliminó la instrumentación para el paquete npm obsoleto de Oracle .
BREAKING: Se actualizó la versión mínima de pg para que sea 8.2.x. Esta es la primera versión de soporte que se ejecuta en Node.js 14+.
BREAKING: Se actualizó la versión mínima admitida de hapi para que sea v20.0.0.
Todas las versiones anteriores a v20.0.0 están obsoletas por hapi por razones de seguridad. Vea su política de soporte.
Actualice la dependencia de New Relic a versiones con soporte para la versión actualizada de Node.js
@newrelic/AWS-sdk v5.0.0
@newrelic/koa v7.0.0
@newrelic/native-métrica v9.0.0
@newrelic/superagent v6.0.0
@newrelic/test-utilities v7.0.0
Compatibilidad con la versión Node.js
Node.js 14 es la versión más antigua admitida por el agente New Relic Node.js v9. Node.js 12 y 13 no son compatibles con v9. Los clientes que ejecutan Node.js 13 y versiones anteriores tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v9.
Permanecer en el agente New Relic Node.js v8 sin la capacidad de usar la nueva característica que solo está disponible con las versiones de actualización del agente.
Sugerencia
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 14.
Actualice a la versión 8 del agente Node.js
Antes de actualizar a Node.js versión 8, revise esta información para ver cambios importantes.
Major changes with Node.js agent v8
Comments
Se agregó soporte de paridad oficial para Node.js 16.
BREAKING: Se eliminó la compatibilidad con Node.js v10.x.
BREAKING: Se eliminó serverless_mode como indicador de característica.
La configuración estándar serverless_mode todavía existe.
BREAKING: El agente ya no incluye el paquete de certificados New Relic automáticamente cuando usa la configuración de 'certificados' (comúnmente con servidores proxy).
Si encuentra que esto interrumpe su entorno actual, puede aprovechar un indicador de característica para restaurar temporalmente esta funcionalidad. Configuración de ejemplo: feature_flag: { certificate_bundle: true }. En este caso, recomendamos adquirir un paquete de certificados para su entorno, como el de Mozilla. El paquete New Relic y la bandera de característica se eliminarán por completo en la próxima versión importante.
config.feature_flags.certificate_bundle predeterminado a falso.
Actualice la dependencia de New Relic a versiones con soporte para la versión actualizada de Node.js
@newrelic/AWS-sdk v4.0.1
@newrelic/koa v6.0.1
@newrelic/native-métrica v7.0.1
@newrelic/superagent v5.0.1
@newrelic/test-utilities v6.0.0
Compatibilidad con la versión Node.js
Node.js v12 es la versión más antigua admitida por el agente New Relic Node.js v8. Node.js 10 y 11 no son compatibles con v8. Los clientes que ejecutan Node.js 11 y versiones anteriores tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v8.
Permanecer en el agente New Relic Node.js v7 sin la capacidad de usar la nueva característica que solo está disponible con las versiones actualizadas del agente.
Sugerencia
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 12.
Actualice a la versión 7 del agente Node.js
Antes de actualizar a Node.js versión 7, revise esta información para ver cambios importantes.
Major changes with Node.js agent v7
Comments
BREAKING Se eliminaron los atributos de respuesta http httpResponseCode, response.status y httpResponseMessage obsoletos.
v6.4.2-v6.14.0:
A partir del agente v6.4.2, estos atributos se marcaron como obsoletos pero se dejaron para dar un período de transición para el nuevo atributo.
v7:
Cuando los informes de atributos de respuesta http están habilitados, se informarán http.statusCode y http.statusText .
BREAKING Se eliminó el método de API setIgnoreTransaction obsoleto.
v5 - v6:
A partir del agente v5.0.0, este método se marcó como obsoleto pero se dejó para dar un período de transición para los nuevos métodos.
Actualice la dependencia de New Relic a versiones con soporte para la versión actualizada de Node.js
@newrelic/AWS-sdk v3.0.0
@newrelic/koa v5.0.0
@newrelic/native-métrica v6.0.0
@newrelic/superagent v4.0.0
@newrelic/test-utilities v5.0.0
Compatibilidad con la versión Node.js
Node.js v10 es la versión más antigua admitida por el agente New Relic Node.js v7. Node.js 8 y 9 no son compatibles con v7. Los clientes que ejecutan Node.js 9 y versiones anteriores tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v7.
Permanecer en el agente New Relic Node.js v6 sin la capacidad de usar la nueva característica que solo está disponible con las versiones actualizadas del agente.
Node.js 10 no recibe actualizaciones. Actualice a una versión más reciente de Node.js lo antes posible. La compatibilidad con Node.js 10 se suspendió con el agente New Relic Node.js v8.
Actualice a la versión 6 del agente Node.js
Antes de actualizar a la versión 6 del agente Node.js, revise esta información para ver cambios importantes.
Major changes with Node.js agent v6
Comments
Módulo de instrumentación oficial framework Koa actualizado a v3.0.0
v6:
Se agregó soporte para @koa/router hasta v8.0.2. @koa/router v8.0.3 y posteriores no son compatibles actualmente.
v6:
Se agregó soporte para Node.js v12 y se eliminó el soporte para Node.js v6, 7 y 9. La versión mínima admitida es Node.js v8.
Se eliminó el parámetro de configuración max_samples_per_minute obsoleto, que se reemplaza por el comportamiento max_samples_stored .
v1 - v5:
max_samples_per_minute definió el número máximo de eventos que el agente recopila por minuto. Si su aplicación utilizó previamente max_samples_per_minute como límite superior, es posible que deba reducir el umbral a un máximo válido para evitar que se eliminen datos en el servidor. Recomendamos menos de 10k.
v5:
En el agente v5 y versiones anteriores, max_samples_stored definió la cantidad máxima de eventos que el agente almacena si no puede comunicarse con el recolector New Relic.
v6:
El nuevo comportamiento de max_samples_stored define la cantidad máxima de eventos que el agente recopila por minuto. Si hay más que este número, el agente recopila un muestreo estadístico. Este uso de la configuración es consistente con el otro agente APM.
Troubleshooting tips:
Si faltan datos del evento, aumente el valor de max_samples_stored o vuelva al valor predeterminado. El valor de max_samples_stored no debe ser superior a 10.000.
Compatibilidad con la versión Node.js
Node.js 8 es la versión más antigua admitida por el agente New Relic Node.js v6. Node.js 6, 7 y 9 no son compatibles con v6. Los clientes que ejecutan Node.js 6, 7 y 9 tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v6.
Permanecer en el agente New Relic Node.js v5 sin la capacidad de usar la nueva característica que solo está disponible con las versiones actualizadas del agente.
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 8.
La aplicación que utiliza el paquete npm node-cassandra-cql obtendría almacenamiento de datos métricos para Cassandra.
v5:
La aplicación debe migrar al paquete cassandra-driver para obtener Cassandra almacenamiento de datos métricos. Este módulo es mantenido activamente por los mismos desarrolladores. El paquete node-cassandra-cql se abandonó en febrero de 2014 en favor del paquete cassandra-driver .
Se eliminaron las configuraciones obsoletas capture_params y ignored_params .
v2 - v4:
A partir del agente v2.7.0, estos parámetros de configuración provocaron que se registrara una advertencia y los valores se actualizaron automáticamente a las nuevas configuraciones de atributos.
v5:
Se seguirá registrando una advertencia, pero se ignorará la configuración y ya no se realizará ninguna actualización automática.
Troubleshooting tips:
Si su aplicación tenía parámetros enumerados en la configuración ignored_params , deberá moverlos a attributes.exclude.
Compatibilidad con la versión Node.js
Node.js 6 es la primera versión compatible con el agente New Relic Node.js v5. Node.js 4 y 5 no son compatibles con v5. Los clientes que ejecutan Node.js 4 o 5 tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v5.
Permanecer en el agente New Relic Node.js v4 sin la capacidad de usar la nueva característica que solo está disponible con las versiones actualizadas del agente.
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 6 y 7.
Banderas de características a partir de v5
A partir de New Relic para Node.js v5:
custom_instrumentation: Esta característica ya no es configurable.
custom_metrics: Esta característica ya no es configurable.
synthetics: Esta característica ya no es configurable.
native_metrics: Esta característica ahora está controlada por el valor de configuración plugins.native_metrics.enabled .
Los cambios importantes con el agente Node.js v4 incluyen una actualización de https-proxy-agent de v0 a v2. Esta dependencia se actualizó debido a un problema de seguridad en el https-proxy-agent que utilizó el agente New Relic Node.js. Debido a que https-proxy v2 es incompatible con el nodo v0.10 y v0.12, New Relic ha dejado obsoletas esas versiones de agente. No se requiere ninguna acción para migrar de la v3 a la v4 del agente Node.js de New Relic.
Node.js 4 es la versión más antigua admitida por el agente New Relic Node.js v4. Node.js 0.10 y 0.12 no son compatibles con v4. Los clientes que ejecutan Node.js 0.10 o 0.12 tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v4.
Permanecer en el agente New Relic Node.js v3 sin la capacidad de utilizar la nueva característica que solo está disponible con versiones actualizadas del agente.
Actualice a una versión más reciente de Node.js lo antes posible. La próxima versión principal del agente New Relic Node.js probablemente eliminará la compatibilidad con Node.js 4 y 5.
Con el agente v2, fue posible configurar el agente para conectarse a New Relic sin cifrado.
v3:
El agente Node.js v3 siempre se conecta a los servidores de New Relic mediante cifrado TLS para proteger las comunicaciones. Si el agente está configurado para desactivar esto, se registra una advertencia y se ignora la configuración.
Solicitar parámetro ahora con el prefijo request.parameters.
v2:
El agente v2 recopila el parámetro de solicitud, como el parámetro de ruta (/users/:userId) y el parámetro de consulta (/users?userId=123), como el nombre del parámetro (userId).
v3:
El agente v3 antepone a todos los parámetros de solicitud la cadena request.parameters.. Por ejemplo,userId aparece como request.parameters.userId.
Troubleshooting tips:
Si tiene un panel, una política de alertas u otra consulta NRQL basada en el parámetro de solicitud, actualícelos con los nuevos nombres de los parámetros.
A partir del agente New Relic Node.js v3, la característica send_request_uri_attribute ya no es configurable.
Con el agente v1, las reglas definidas en las propiedades de configuración rules.name y rules.ignore se aplicaron en orden inverso; la primera regla de la lista se aplicó en último lugar.
v2:
El agente Node.js v2 aplica las reglas en el orden en que están definidas, por lo que la primera regla de la lista se aplica primero.
Troubleshooting tips:
Si utilizó reglas de nomenclatura en el agente v1 y nota problemas, invierta el orden de sus reglas en su configuración.
Transacción de solicitud HTTP deduplicada
v1:
El agente v1 inició una nueva transacción para cada escucha en el evento request de un servidor HTTP. En una aplicación con varios oyentes en el evento request , esto dio lugar a la creación de transacciones extrañas que casi siempre no se nombraban correctamente.
v2:
El agente v2 solo crea una única transacción para cada evento request emitido.
Troubleshooting tips:
Si utilizó varios detectores de eventos request y agregó una llamada a newrelic.ignoreTransaction() para eliminar la transacción adicional, elimine esas llamadas.
Dejó de tragar errores de solicitud saliente
v1:
El agente v1 tragó el evento error no controlado emitido por objetos de solicitud HTTP salientes.
v2:
El agente v2 elimina este comportamiento. En cambio, el agente v2 no cambia la ejecución normal de Node.js. Esto significa que el evento error siempre se emitirá.
Troubleshooting tips:
Si está realizando solicitudes salientes y actualmente no escucha el evento error , agregue un detector y maneje el error según corresponda para su aplicación.
De forma predeterminada, los atributos de solicitud no se envían a New Relic. Establezca attributes.enabled: true para incluir el atributo definido por el agente o personalizado en la traza. La propiedad capture_params ha quedado obsoleta.
ignored_params
attributes.exclude: []
Agregue cualquier clave de atributo de solicitud a la lista attributes.exclude . Ahora, en lugar de tener que ser una coincidencia exacta, se pueden agregar comodines (*) a cada elemento para un filtrado más amplio. La propiedad ignored_params ha quedado obsoleta.
Por ejemplo, si la raíz attributes.enabled es true y configuras transaction_tracer.attributes.enabled: false, esto restringirá la recopilación de atributos en la traza de la transacción, y al mismo tiempo los permitirá para todos los demás.
Los siguientes métodos del agente Node.js han quedado obsoletos y New Relic los ha eliminado en la versión 5 del agente. Cada uno tiene un reemplazo fácil que realiza la misma tarea de una manera más flexible y confiable.
Estos nuevos métodos API reemplazan a los métodos create*Transaction más antiguos. Son más fáciles de usar y funcionan perfectamente con las promesas. A diferencia del método v1, la devolución de llamada proporcionada se invoca inmediatamente.
Utilice estos métodos para agregar instrumentación personalizada para módulos de terceros, incluidos aquellos ya instrumentados por el agente New Relic Node.js. Para obtener más información, consulte los tutoriales de instrumentación de Node.js de New Relic en GitHub.
Utilice este método para agregar un atributo de traza personalizado.
Utilice este método para agregar múltiples atributos de traza personalizados.
La versión más antigua de Node.js compatible con el agente New Relic Node.js v2 es la 0.10. Node.js 0.8, que no se ha actualizado desde julio de 2014, no es compatible con la v2. Los clientes que ejecutan Node.js 0.8 tienen dos opciones:
Actualice a una versión compatible de Node.js y aproveche la nueva característica del agente New Relic Node.js v2.
Permanecer en el agente New Relic Node.js v1 sin la capacidad de usar la nueva característica que solo está disponible con versiones actualizadas del agente.
Recommendation: Actualice a una versión más reciente de Node.js lo antes posible.
El agente New Relic Node.js ahora requiere npm versión 2.0.0 o superior. Esta versión de npm viene con Node.js 0.10.44 o superior.
Si está utilizando una versión anterior de Node.js 0.10, primero deberá instalar npm 2.0.0 o superior, o actualizar a una versión más reciente de Node. Para instalar npm versión 2:
$ npm install --global npm@2
A partir del agente New Relic Node.js v2:
express_segments: Esta característica ya no es configurable.
cat: Esta característica ahora está controlada por el valor de configuración cross_application_tracer.enabled .