• EnglishEspañol日本語한국어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

Instrumento su función contenedorizada

Si está empleando una imagen en contenedor para una función Lambda y desea monitor su aplicación, deberá agregar New Relic a su Dockerfile. Por ejemplo, suponga que es desarrollador de una aplicación de cotización y está empleando una función Lambda para calcular los saldos de las cuentas cada vez que un cliente hace clic en See my balance. Quieres profundizar en cualquier posible latencia. En ese caso, deberá agregar New Relic a su función, de modo que cada vez que un cliente haga clic en See my balance, su función se ejecutará y New Relic también lo hará.

Aquí hay un diagrama que muestra el proceso de agregar New Relic al Dockerfile para que pueda monitor su función:

Si está empleando una imagen en contenedor para su función Lambda, puede agregar New Relic a su imagen.

Aquí hay una guía para agregar nuestra capa prediseñada a su código.

Agregue New Relic a su Dockerfile

New Relic ofrece imágenes prediseñadas que incluyen los diferentes tiempos de ejecución de nuestra capa: Java, Node.js, Python y solo extensión.

  1. Seleccione la capa compatible con la región y el tiempo de ejecución de su función Lambda específica:

  2. En su Dockerfile de varias etapas, use la imagen prediseñada de New Relic como etapa de compilación intermedia. Luego, copie el agente y la extensión de New Relic de nuestra imagen prediseñadas en su etapa de compilación final.

    Ejemplos de Dockerfile basados en tiempo de ejecución

    # Define the New Relic pre-built image
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java:21 AS layer
    # Define the base image
    FROM public.ecr.aws/lambda/java:21
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override to one of New Relic's handler wrappers
    CMD [ "com.newrelic.java.HandlerWrapper::handleRequest" ]
    # CMD [ "com.newrelic.java.HandlerWrapper::handleStreamsRequest" ]
    # Define the New Relic pre-built image
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-python:311 AS layer
    # Define the base image
    FROM public.ecr.aws/lambda/python:3.11
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override to New Relic's handler wrapper
    CMD [ "newrelic_lambda_wrapper.handler" ]
    # Define the New Relic pre-built image
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20 AS layer
    # Define the base image
    FROM public.ecr.aws/lambda/nodejs:20
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override to New Relic's handler wrapper
    CMD [ "newrelic-lambda-wrapper.handler" ]
    # Define the New Relic pre-built image
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-ruby:33 AS layer
    # Define the base image
    FROM public.ecr.aws/lambda/ruby:3.3
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override to New Relic's handler wrapper
    CMD [ "newrelic_lambda_wrapper.handler" ]
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet:x86_64 AS layer
    # Define the base image
    FROM public.ecr.aws/lambda/dotnet:8
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override not needed since the dotnet layer does not have a handler wrapper
    FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension:x86 as layer
    # Any lambda base image can be used
    # Copy New Relic Layer code
    COPY --from=layer /opt/ /opt/
    # Rest of your Dockerfile...
    # CMD override not needed since the extension layer does not have an agent

Crear una imagen

  1. Luego de agregar la referencia a la imagen prediseñada de New Relic a su Dockerfile, deberá crear una nueva imagen a partir del Dockerfile modificado. Esta nueva imagen tendrá su código original y la imagen prediseñadas de New Relic. Para hacer esto, recomendamos seguir los pasos enumerados en la guía de AWS, Crear una función Lambda usando una imagen de contenedor.
  2. Envíe la nueva imagen a su repositorio de registro AWS Elastic Container para que la emplee su función.
  3. Envíe la nueva imagen a su repositorio de registro AWS Elastic Container para que la emplee su función.

Crear una nueva función Lambda

Usando la imagen que envió a AWS ECR, cree una nueva función Lambda. Para obtener más información sobre la creación de esta función, recomendamos volver a la guía de AWS: Crear una función Lambda.

Configure su función Lambda

  1. Configure la función Lambda con la misma configuración que su función original, pero cerciorar de agregar las variables de entorno necesarias para el monitoreo de New Relic Lambda. Consulte nuestras variables de entorno para obtener más información.

  2. Actualice el controlador de su función para que apunte a la capa recién anexa en la anulación cmd para su función. Puede hacerlo siguiendo las instrucciones de estos dos documentos:

Copyright © 2024 New Relic Inc.

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