Problema
Está intentando habilitar el monitoreo serverless para AWS Lambda y tiene un problema o error.
Solución
Hay dos problemas comunes relacionados con no completar todos los procedimientos de habilitación:
No veo datos en la página UI
CloudWatch metrics
. Esto significa que el paso de integración de AWS no se completó.
No veo datos en
Troubleshooting
páginas UI de categoría. Si no ve datos en las pestañas UI
Distributed tracing
,
Errors
y
Invocations
, esto significa que el paso de instrumentación del agente APM no se completó.
Además de estos problemas de habilitación básicos, existen algunos problemas adicionales que pueden causar un problema:
Error de CloudWatch "Error HTTP 401: no autorizado". Esto se debe a una clave de API incorrecta. El argumento
--nr-api-key
en el paso Configurar la habilitación de AWS toma su , que es diferente de la clave de API REST.Faltan métricas personalizadas. El monitoreo lambda no es compatible con nuestra métrica personalizada. Utilice un atributo personalizado para agregar metadatos.
Faltan invocaciones. Para ver los detalles del desglose de la invocación, se debe habilitar rastreo distribuido como parte del paso de instrumentación de Lambda. Se requiere rastreo distribuido para que los detalles del tramo se puedan mostrar en el panel de detalles de la invocación.
Ha completado correctamente los pasos de instalación, integración e instrumentación y su función es enviar el registro a CloudWatch, pero no ve la traza para una dependencia específica (o ninguna traza) en la UI. Esto puede resultar del orden de fusión de capas (si está utilizando nuestras capas Lambda) o del orden de importación (si está instrumentado manualmente):
Si está instrumentado con capas: asegúrese en la configuración de su función de que la capa New Relic se fusione antes que otras capas (aunque si su función usa un paquete web, la capa New Relic debe fusionarse después de la capa del paquete web).
Si está instrumentando una función de Node.js manualmente, asegúrese de que el registro esté habilitado y de que su función importe
newrelic
antes de importar cualquier dependencia que espere monitor.
Si está utilizando módulos ES con una función de Node.js, asegúrese de que la variable de entorno
NEW_RELIC_USE_ESM
esté configurada entrue
. Además, asegúrese de utilizar async/await o promesas para manejar el comportamiento asincrónico en su función, ya que las funciones basadas en devolución de llamada no son compatibles cuando se utilizan módulos ES.
Si ninguna de estas soluciones le ayuda, póngase en contacto con nuestro equipo de soporte. La siguiente información le ayudará cuando hable con los técnicos de soporte:
- ¿Ha aparecido antes la función Lambda en la UI ? Si es así, ¿cuál es el nombre de la función?
- Si aparecen algunos datos para la función Lambda en la UI, ¿qué datos específicos aparecen?
- ¿Qué agente de lenguaje APM estás utilizando para instrumentar la función?