• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

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.

Crea una propuesta

Actualizar monitores de API con scripts a Node.js 22

Presentamos nuestro runtime de monitor API con script más reciente, que incluye la Latest versión de Node.js (actualmente Node.js 22). El runtime Latest utiliza automáticamente la versión más reciente de Node.js que admite New Relic, lo que garantiza que sus monitores de API se ejecuten en un entorno que cumple con los estándares modernos de Node.js, brindando mayor seguridad, estabilidad y rendimiento.

Acción requerida: impacto de la actualización de Node.js 22

Como parte de la actualización de Node.js 16 a Node.js 22, el entorno de ejecución es más estricto con respecto a los ciclos de vida de los procesos. Si sus scripts de monitor contienen handles abiertos no controlados (como promesas no resueltas, temporizadores pendientes o conexiones de red no cerradas), sus monitores fallarán.

Para resolver esto: Valide sus scripts de monitor en el entorno de ejecución Latest para asegurarse de que todos los identificadores se cierren correctamente antes de que el script termine de ejecutarse. Las validaciones fallidas aparecen en la interfaz de usuario de Runtime Upgrades. Consulta Solucionar errores de actualización de runtime.

Quiénes están afectados

New Relic gestiona automáticamente el proceso de actualización para:

  • Monitores de API con script en ubicaciones públicas
  • Monitores de API con script en ubicaciones tanto públicas como privadas (híbrido)

New Relic aplica validación y actualización automatizadas a todas las configuraciones de ubicación.

Importante

Los monitores que se ejecutan exclusivamente en ubicaciones privadas requieren una actualización manual.

¿Qué es Lo más reciente?

La opción de tiempo de ejecución Latest en el menú desplegable de creación/actualización del monitor utiliza automáticamente la versión más reciente de Node.js que admite New Relic. En lugar de fijar una versión específica de Node.js (como Node.js 16 o Node.js 20), Latest garantiza que sus monitores siempre se ejecuten en la versión de Node.js más reciente disponible con las últimas características, mejoras de rendimiento y actualizaciones de seguridad.

Actualizar monitores a través de NerdGraph

Para actualizar los tiempos de ejecución de su monitor de forma programática, utilice la siguiente mutación de NerdGraph. Necesitas el GUID de la entidad de tu monitor (disponible en la configuración del monitor).

Monitor de API con script

mutation {
syntheticsUpdateScriptApiMonitor(
guid: "YOUR_MONITOR_GUID"
monitor: {
runtime: { runtimeType: "NODE_API", runtimeTypeVersion: "LATEST" }
}
) {
errors {
description
type
}
}
}

Sugerencia

Para los monitores de browser con script, usa runtimeType: "CHROME_BROWSER" y runtimeTypeVersion: "LATEST" en su lugar.

El proceso de actualización automatizado

Para garantizar una transición fluida al runtime de Node.js más reciente, New Relic prueba proactivamente tus monitores existentes. El proceso incluye:

Validación de backend

New Relic prueba automáticamente sus monitores de API con scripts existentes en el entorno de ejecución de Node.js más reciente (actualmente Node.js 22) en el backend.

Sugerencia

Esta validación no consume sus pruebas sintéticas ni afecta sus resultados de producción.

Actualización automática

Si la validación es exitosa: New Relic actualiza el monitor al runtime más reciente en su nombre.

Revisión manual de fallas

Si la validación falla: New Relic no fuerza la actualización. Esto suele ocurrir debido al manejo estricto de los handles abiertos en Node.js 22. En su lugar, New Relic marca los monitores que fallaron la validación y los muestra en la función Runtime Upgrades en la interfaz de usuario del Nerdlet de Synthetics.

Puedes revisar los detalles de la falla allí, solucionar problemas con la sintaxis de tu script y validar y actualizar manualmente el monitor después de corregir el script.

Solución de problemas de actualización

El problema más común al actualizar a Node.js 22 son los manejadores abiertos no controlados, incluyendo promesas no resueltas, temporizadores pendientes, conexiones no cerradas y conexiones HTTP/HTTPS. Para obtener soluciones detalladas y ejemplos de código para cada tipo de problema, consulte Solucionar errores de actualización del entorno de ejecución.

Cambios disruptivos de Node.js 22

Además de un manejo más estricto de los handles abiertos, Node.js 22 incluye otros cambios que debe tener en cuenta:

Soporte de módulos actualizado

  • Módulos ES: mejor soporte para módulos ES, pero asegúrese de que sus importaciones estén configuradas correctamente
  • CommonJS: los módulos CommonJS aún funcionan, pero pueden tener una validación más estricta

API obsoletas

Algunas API obsoletas en versiones anteriores de Node.js se han eliminado en Node.js 22. Consulta el registro de cambios de Node.js 22 para obtener detalles sobre las características eliminadas.

Mejoras de rendimiento

Node.js 22 incluye mejoras de rendimiento que pueden afectar las pruebas sensibles al tiempo. Considere revisar los tiempos de espera si sus monitores dependen de un comportamiento de temporización específico.

Mejores prácticas para Node.js 22

Para garantizar que tus monitores de API con scripts funcionen sin problemas con Node.js 22:

  1. Use async/await: convierta el código basado en devoluciones de llamada a async/await para un mejor manejo de errores.
  2. Limpie los recursos: cierre siempre las conexiones, borre los temporizadores y elimine los detectores de eventos.
  3. Maneje todas las promesas: nunca cree una promesa sin esperarla o manejar su resultado.
  4. Establecer tiempos de espera adecuados: use tiempos de espera razonables para las llamadas API para evitar bloqueos.
  5. Prueba localmente: Prueba tus scripts localmente con Node.js 22 antes de actualizar los monitores de producción.

Ejemplo: monitor de API completo

const assert = require('assert');
const $http = require('request');
const { promisify } = require('util');
// Promisify request methods
const httpGet = promisify($http.get);
const httpPost = promisify($http.post);
async function runAPITest() {
try {
// 1. Test GET endpoint
console.log('Testing GET endpoint...');
const getResponse = await httpGet('https://api.example.com/users');
assert.equal(getResponse.statusCode, 200, 'GET request failed');
// 2. Parse and validate response
const users = JSON.parse(getResponse.body);
assert(Array.isArray(users), 'Response is not an array');
assert(users.length > 0, 'No users returned');
// 3. Test POST endpoint
console.log('Testing POST endpoint...');
const postResponse = await httpPost({
url: 'https://api.example.com/users',
json: true,
body: {
name: 'Test User',
email: 'test@example.com'
}
});
assert.equal(postResponse.statusCode, 201, 'POST request failed');
console.log('All tests passed!');
} catch (error) {
console.error('Test failed:', error.message);
throw error; // Fail the monitor
}
}
// Run the test
await runAPITest();

Preguntas frecuentes

¿Qué tipos de monitores se ven afectados? Monitores de API con scripts. Los monitores de browser con script se ven afectados por separado — consulte Actualizar los monitores sintéticos a la versión más reciente de Chrome y Node.js 22. Los monitores de navegador simple y los monitores de ping no se ven afectados.

¿Puedo probar mis scripts localmente antes de actualizar? Sí. Instala Node.js 22 localmente y prueba tus scripts de monitoreo para identificar problemas antes de la actualización.

¿Puedo hacer un rollback si mi monitor falla después de la actualización? Sí. Puedes volver a cambiar la versión de runtime en la configuración del monitor o a través de NerdGraph.

¿Cuándo se actualizarán mis monitores automáticamente? New Relic realiza la validación primero. Si la validación es exitosa, New Relic actualiza automáticamente los monitores. Si la validación falla, verá el error en la interfaz de usuario de Runtime Upgrades y debe solucionarlo y actualizar manualmente.

¿Necesitas ayuda?

Si encuentra problemas durante el proceso de actualización:

  1. Revisa la UI de Runtime Upgrades en tu Nerdlet de Sintéticos para ver mensajes de error específicos.
  2. Revisa tus scripts de monitor en busca de promesas no manejadas y conexiones abiertas.
  3. Prueba tus scripts localmente con Node.js 22 antes de actualizar.
  4. Comunícate con el soporte de New Relic para obtener ayuda con la resolución de problemas de fallas de validación.

Documentación relacionada:

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.