Antes de que empieces
- Si aún no lo hizo, puede que desee verificar que su función Lambda cumple con nuestros requisitos y compatibilidad.
Instalar Lambda Monitoreo
La monitorización Lambda incluye:
- Una integración AWS para ingerir métricas de CloudWatch y realizar síntesis de entidades dentro de New Relic.
- Un agente de New Relic incluido en nuestras capas Lambda de New Relic o como un SDK.
- Un método para enviar carga y logs a New Relic a través de nuestra función newrelic-log-ingestion o extensión. Si usa New Relic Lambda Layers, no tendrá que realizar ninguna configuración adicional para enviar datos.
Vincule sus cuentas de AWS y New Relic
Sugerencia
Si emplea newrelic-lambda-cli para instrumentar su función Lambda, el proceso de vinculación se automatiza, lo que le permite omitir este paso.
Al vincular cuentas, le otorga licencia a New Relic para crear un inventario de su cuenta AWS y recopilar automáticamente métricas de CloudWatch para su función Lambda. Una vez que vinculó las cuentas, los recursos en su cuenta AWS aparecerán como entidad en el explorador de entidades. La función Lambda entidad se encontrará en la vista sin servidor de funciones.
Puede vincular su cuenta de AWS y New Relic mediante uno de los siguientes métodos de integración.
Para que New Relic monitoree su función Lambda, necesita configurar una integración entre New Relic y AWS. Recomendamos emplear métrica Streams para ayudar a reducir la latencia y evitar la limitación de nuestras solicitudes de sondeo.
Si no está empleando una integración de Métrica Streams, puede optar por configurar una integración API Polling en su lugar. De forma predeterminada, una integración de sondeo de API con el servicio Lambda habilitado sondeará cada 5 minutos las métricas de CloudWatch.
Puede emplear newrelic-lambda-cli para configurar una integración API Polling, pero no una integración de métrica Streams.
$newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID \>--nr-api-key YOUR_NEW_RELIC_USER_KEY
Un paso en el comando de instalación de integración creará un secreto NEW_RELIC_LICENSE_KEY
en AWS Secrets Manager para mejorar la seguridad. Esto se puede configurar con un indicador --disable-license-key-secret
, junto con otras opciones e indicadores.
instrumento tu función Lambda
Para instrumentar su función Lambda, necesita un agente y una extensión. Estos componentes están agrupados en la capa Lambda de New Relic. Si usar capas Lambda no es una opción para usted, puede incorporar manualmente el agente y la extensión a su función. Según los requisitos de su función Lambda, seleccione uno de los siguientes métodos de instrumentación:
Emplee este método si su función Lambda está empaquetada como un archivo Zip y puede agregar capas. Las capas son un mecanismo de distribución para bibliotecas, tiempos de ejecución personalizados y otras dependencias. Para obtener más información, consulte la documentación de instrumentación en capas .
Emplee este método si su función Lambda no puede emplear capas, garantizando una implementación rápida sin la necesidad de modificar capas. Para obtener más información, consulte la documentación de instrumentación basada en SDK .
Emplee este método si su función Lambda se ejecuta dentro de un contenedor. Contenedor proporciona un entorno de ejecución consistente y aislado para su aplicación. New Relic proporciona una imagen de Docker prediseñada que incluye la capa Lambda de New Relic, la extensión Lambda de New Relic y el agente de New Relic. Para obtener más información, consulte la documentación de instrumentación en contenedores .
Configurar variables de entorno
Sugerencia
- Cuando instrumenta la capa Lambda de New Relic con la CLI de New Relic, sus variables de entorno obligatorias se configuran automáticamente. Sin embargo, es posible que desee cambiar algunas de las configuraciones predeterminadas y configurar su función Lambda con las variables de entorno que coincidan con sus necesidades de monitoreo.
- Si está empleando la extensión Lambda de New Relic, deberá configurar las variables de entorno manualmente.
Las variables de entorno se emplean para configurar el agente New Relic y la extensión Lambda. Es importante configurar estas variables correctamente para garantizar que sus funciones Lambda se monitoreen correctamente.
Pruebe nuestras funciones de ejemplo
Luego de instrumentar la capa Lambda de New Relic, le recomendamos encarecidamente que pruebe nuestras funciones de ejemplo. Estos ejemplos de trabajo deben emplear como punto de partida para instrumentar su propia función serverless. El uso de estos ejemplos puede ayudarlo a familiarizar con la capa New Relic Lambda, probar el enlace de la cuenta y pueden usar como referencia para su propia instrumentación. Cada ejemplo demuestra cómo agregar licencias, técnicas específicas del tiempo de ejecución para empaquetar su controlador, gestionar la retención log de funciones en CloudWatch y más.
Si bien hay muchas formas de gestionar y desplegar la función Lambda, AWS CloudFormation es el mecanismo que empleamos para nuestros ejemplos.
Nuestros ejemplos se publican, junto con la extensión New Relic Lambda, en este repositorio de GitHub. Hay uno para cada tiempo de ejecución de Lambda que admite New Relic:
También puedes aprender a emplear el instrumento rastreo distribuido en una aplicación sin servidor no trivial en nuestro ejemplo de rastreo distribuido. Ilustra la propagación manual de trazas para SQS y SNS, dos de los servicios más populares que pueden invocar la función Lambda, con funciones de Node, Python, Ruby y Java.
Sugerencia
Al realizar pruebas manualmente, telemetry data pueden retrasar. Recomendamos esperar siete segundos antes de volver a invocar la función, lo que permitirá que se entregue cualquier telemetría almacenada en el búfer.