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
We recommend integrating your AWS account using the AWS integration to automatically discover and monitor your Lambda functions. This allows you to leverage the full power of New Relic APM for your serverless functions.
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.
Depending on your needs, you can choose to either bypass the extension and only see telemetry in CloudWatch, bypass CloudWatch, or use CloudWatch as a fallback. The CloudWatch section at the end of this doc will guide you through each option.
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.
AWS's Serverless Application Model, or SAM, is a variant of CloudFormation templates that simplifies relating functions to the resources they depend on, and managing the lifecycle of an entire application. We use SAM and CloudFormation for most of our Lambda example functions, and many other tools are built on top of CloudFormation templates, providing an additional layer of abstraction.
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:
Install the New Relic Lambda layer. Below are examples for Node.js and Java agent Lambda functions.
Node.js example:
AWSTemplateFormatVersion:'2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An 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.
While it's more error-prone and labor-intensive than the approaches above, you can manually alter the configuration of a Lambda function to use New Relic from the AWS Lambda Console, for Node.js, Python, Ruby, and 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.
In the APM interface, you can explore various aspects of your Lambda functions including distributed tracing, service maps, transactions, error analysis, and more. Each of these areas provides detailed insights into the performance, latency, and error rates of your Lambda functions, allowing you to quickly identify and resolve issues.
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 :