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.
Puedes instrumentar tu función Lambda agregando la capa Lambda New Relic. Esto integra el agente New Relic, lo que permite el monitoreo automático cada vez que se invocan sus funciones.
Sugerencia
New Relic recomienda integrar su cuenta AWS con New Relic usando la integraciónAWS para descubrir y monitorear automáticamente su función Lambda. Esto le permite aprovechar todo el poder de New Relic APM para su función sin servidor.
Métodos de instrumentación
New Relic ofrece varios métodos para instrumentar su función Lambda AWS para un monitoreo integral:
Interfaz de línea de comando (CLI): emplee la CLI AWS para agregar rápidamente la capa New Relic a su función Lambda.
Framework sin servidor: integre perfectamente la instrumentación New Relic en su despliegue sin servidor.
CloudFormation/SAM: incluya la capa New Relic en sus plantillas de infraestructura como código.
AWS CDK: agregue la capa Lambda de New Relic en su código CDK junto con otros recursos de infraestructura.
Terraform: gestione fácilmente la instrumentación de New Relic junto con sus otros recursos de infraestructura.
Instrumentación manual: agregue directamente la capa New Relic a través de la consola AWS Lambda para un control más granular.
Independientemente del método que elija, la capa New Relic agrega el agente New Relic a sus funciones. Este agente instrumenta automáticamente sus funciones tras la invocación, generando una carga, NR_LAMBDA_MONITORING, que se envía a New Relic a través de la extensión New Relic Lambda.
Según sus necesidades, puede elegir omitir la extensión y solo ver la telemetría en CloudWatch, omitir CloudWatch o usar CloudWatch como respaldo. La sección CloudWatch al final de este documento lo guiará a través de cada opción.
Puedes instrumentar tu función Lambda con la newrelic-lambda CLI inicio rápido.
Para instalar o actualizar la capa de instrumentación de New Relic, ejecute este comando:
Este comando encuentra automáticamente la capa más nueva disponible para la región y el tiempo de ejecución de Lambda.
Este comando proporciona una forma rápida de iniciar la instrumentación New Relic y se puede integrar fácilmente en su canal de CI/CD. Sin embargo, dado que modifica los recursos de función Lambda existentes, la reimplementación del código actualizado puede eliminar la instrumentación sin dar. Para garantizar un monitoreo continuo, vuelva a ejecutar el comando luego de cada despliegue o, preferiblemente, incorpore la capa y la configuración New Relic directamente en su proceso de despliegue.
Tenga en cuenta que la CLI puede operar en muchas funciones en un lote: use --function all, --function installed o --function not-installed para operar en todas las funciones en una región, o solo aquellas con o sin instrumentación New Relic existente.
El Serverless Application Model de AWS, o SAM, es una variante de las plantillas de CloudFormation que simplifica la relación de funciones con los recursos de los que dependen y la gestión del ciclo de vida de una aplicación completa. Usamos SAM y CloudFormation para la mayoría de nuestras funciones de ejemplo de Lambda, y muchas otras herramientas se crean sobre las plantillas de CloudFormation, lo que proporciona una capa adicional de abstracción.
CloudFormation es un servicio de AWS que simplifica el aprovisionamiento y la gestión de recursos AWS . Al definir el estado deseado de los recursos en plantillas YAML o JSON, CloudFormation maneja automáticamente la API de llamada subyacente para crear, actualizar o eliminar recursos según sea necesario. Este enfoque declarativo automatiza la gestión de la infraestructura, garantizando coherencia y reproducibilidad.
Para monitorear su función Lambda con New Relic:
Instalar la capa Lambda de New Relic. A continuación se muestra un ejemplo de una plantilla simple de CloudFormation para una función Lambda de Node.js:
AWSTemplateFormatVersion:'2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: And example of a simple instrumented Node.js Lambda
Resources:
NewRelicExample:
Type: AWS::Serverless::Function
Properties:
# In this example, we're using the SAM CLI to package and deploy our lambda. SAM will transform this value during the publish step.
CodeUri: newrelic-example-node/
# The handler for your function needs to be the one provided by the instrumentation layer, below.
Handler: newrelic-lambda-wrapper.handler
Runtime: nodejs22.x
Environment:
Variables:
# For the instrumentation handler to invoke your real handler, we need this value
Despliega tu función Lambda con la configuración actualizada.
framework sin servidor es una herramienta popular de desarrollo e implementación para aplicaciones sin servidor. Está escrito para AWS en Node.js y actúa principalmente como una abstracción de alto nivel sobre las plantillas de CloudFormation. Funciona bien para funciones de Node, Python, Ruby, Java y .NET.
New Relic proporciona un complemento de marcoServerless para simplificar la instrumentación de su aplicación de marco Serverless.
Prerrequisitos:
Una aplicación existente que emplea el marco Serverless.
Despliega tu función Lambda con la configuración actualizada.
El kit de desarrollo de nube AWS (AWS CDK) es un framework para definir recursos cloud en código y aprovisionarlos a través de AWS CloudFormation.
Para emplear New Relic con AWS CDK, siga estos pasos:
Instalar la capa Lambda de New Relic. A continuación se muestra un ejemplo de una aplicación CDK básica que implementa un New Relic instrumentado Node.js función Lambda:
Despliega tu función Lambda con la configuración actualizada.
Terraform es una infraestructura popular de uso general como herramienta de código. Se puede emplear para gestionar recursos de AWS. Ofrecemos algunos ejemplos de New Relic instrumentado función Lambda desplegar usando el script Terraform.
Puede emplear el proveedor Terraform New Relic para configurar su integración AWS. Al configurar el proveedor, configure las variables de entorno requeridas y agregue la etiqueta NR.Apm.Lambda.Mode: true a su función Lambda.
Si bien es más propenso a errores y requiere más mano de obra que los enfoques anteriores, puede modificar manualmente la configuración de una función Lambda para usar New Relic desde la consola AWS Lambda, para Node.js, Python, Ruby y Java.
Aquí hay un ejemplo de cómo implementar el monitoreo New Relic Lambda para un tiempo de ejecución Ruby :
Navegue a la sección del servicio Lambda en la consola web de AWS. Desde allí, busque la función Lambda que desea conectar a New Relic.
En la pestaña Code predeterminada, desplazar hacia abajo hasta la sección Layers y haga clic en el botón Add a layer .
Haga clic en el botón Create layer .
Vaya a Choose a layer y seleccione la opción Specify an ARN .
Vaya a la New Relic's list of layers y use la lista desplegable para seleccionar la región de AWS donde está alojada su función Lambda. Desde allí, ubique el ARN que coincida con la versión y arquitectura de Ruby de su función Lambda. Debería haber dos opciones: X86 y ARM64. Utilice el botón Copy to clipboard o copie manualmente la cadena ARN.
En la sección Specify an ARN del formulario de la consola de AWS, pegue el ARN de la capa New Relic Lambda.
En el formulario de la consola de AWS, haga clic en el botón Add para agregar la capa a su función Lambda.
En la página de su función Lambda, con la pestaña Code predeterminada seleccionada, desplácese hacia abajo hasta la sección Runtime settings y haga clic en el botón Edit .
Haga una copia segura del valor del Handler existente. Lo necesitarás para un paso posterior.
Cambie el valor del Handler a: newrelic_lambda_wrapper.handler y haga clic en Save.
Cambie a la pestaña de Configuration en la página de su función Lambda.
Seleccione la subpestaña Environment variables y, según sus necesidades, defina las Variables de entorno.
Modifique la función de ejecución para permitir el acceso al secreto de la clave de licencia de New Relic.
Busque el ARN del secreto denominado NEW_RELIC_LICENSE_KEY.
Agregue una nueva política en línea en la función de ejecución de la función que se parece a este código a continuación. Reemplace el SECRET_ARN con el valor que encontró arriba.
"Statement":[
{
"Action":[
"secretsmanager:GetSecretValue"
],
"Resource":"SECRET_ARN",
"Effect":"Allow"
}
]
Sugerencia
La capa New Relic entregará automáticamente el agente Ruby de New Relic y se cargará a través de Ruby require antes de la invocación de su función Lambda. Para evitar conflictos, no incluya una copia del agente Ruby en ningún otro lugar. Sentir libre de realizar cualquier llamada API del agente New Relic Ruby que desee dentro de su función para aprovechar la presencia del agente.
En su consola de administración AWS, en la pestaña de configuración, agregue la etiqueta NR.Apm.Lambda.Mode: true a su función Lambda.
Despliega tu función Lambda con la configuración actualizada.
Los tiempos de ejecución de Java, Python, Node.js y .Net seguirán el mismo flujo de instrumentación que Ruby, pero con algunos controladores diferentes. A continuación se explica cómo actualizar el controlador de su función para que apunte a la capa recién anexa en la consola para su función:
Para .Net no es necesario configurar el controlador.
Tenga en cuenta que para Go, debe realizar cambios en el código fuente de su función Lambda para implementarla. Los cambios de configuración no son suficientes.
Buscar y utilizar datos
Luego de instrumentar su función Lambda AWS, puede buscar y usar los datos en la interfaz New Relic APM. Los datos están organizados en varias áreas clave, cada una de las cuales proporciona información valiosa sobre el rendimiento y el estado de su función Lambda.
En la interfaz APM, puede explorar varios aspectos de su función Lambda, incluido el rastreo distribuido, los mapas de servicios, las transacciones y el análisis de errores, y muchos más. Cada una de estas áreas proporciona información detallada y valiosa sobre el rendimiento, la latencia y la tasa de errores de su función Lambda, lo que le permite identificar y resolver problemas rápidamente.
Sugerencia
La experiencia de Invocación ahora está integrada con APM traza de la transacción. Esto le permite emplear un AWS RequestId específico para explorar en profundidad una traza de la transacción de APM para obtener información detallada sobre esa ejecución Lambda en individuo.
Para ver su función Lambda en la interfaz New Relic APM :