• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Instrumentation conteneurisée

Si vous utilisez une image conteneurisée pour une fonction Lambda et que vous souhaitez monitorer votre application, vous devrez ajouter une couche New Relic Lambda prédéfinie à votre Dockerfile qui correspond à l'exécution de votre fonction.

Voici un diagramme montrant le processus d'ajout de New Relic au Dockerfile afin que vous puissiez monitorer votre fonction :

A diagram demonstrating how New Relic integrates with your Lambda containerized function.

Si vous utilisez une image conteneurisée pour votre fonction Lambda, vous pouvez ajouter New Relic à votre image.

Voici un guide pour ajouter notre couche prédéfinie à votre code.

Ajoutez New Relic à votre Dockerfile

New Relic propose des images prédéfinies qui incluent les différents environnements d'exécution de notre couche : Java, Node.js, Python et extension uniquement.

  1. Sélectionnez la couche compatible avec l'environnement d'exécution et la région de votre fonction Lambda spécifique :

  2. Dans votre Dockerfile à plusieurs étapes, utilisez l’image prédéfinie de New Relic comme étape de construction intermédiaire. Ensuite, copiez l’agent et l’extension de New Relic à partir de notre image prédéfinie dans votre étape de construction finale.

    Exemples de Dockerfile basés sur l'exécution

    # 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" ]

    Essayez un exemple fonctionnel d'une fonction Lambda conteneurisée Java à l'aide de SAM.

    # 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" ]

    Essayez un exemple fonctionnel d'une fonction Lambda conteneurisée Python à l'aide de SAM.

    # 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" ]
    # If your lambda function is ESM, use the New Relic's Node.js ESM handler wrapper
    # CMD ["/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler"]

    Essayez un exemple fonctionnel d'une fonction Lambda conteneurisée Node.js à l'aide de SAM.

    # 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

Créer une image

  1. Après avoir ajouté la référence à l'image prédéfinie de New Relic à votre Dockerfile, vous devrez créer une nouvelle image à partir du Dockerfile modifié. Cette nouvelle image contiendra votre code d'origine et l'image prédéfinie de New Relic. Pour ce faire, nous vous recommandons de suivre les étapes répertoriées dans le guide AWS, Créer une fonction Lambda à l’aide d’une image de conteneur.
  2. Poussez la nouvelle image vers votre référentiel AWS Elastic Container Registry pour que votre fonction l'utilise.

Créer une nouvelle fonction Lambda

À l’aide de l’image que vous avez envoyée à AWS ECR, créez une nouvelle fonction Lambda. Pour plus d'informations sur la création de cette fonction, nous vous recommandons de revenir au guide AWS : Créer une fonction Lambda.

Configurez votre fonction Lambda

  1. Configurez la fonction Lambda avec les mêmes paramètres que votre fonction d'origine, mais assurez-vous d'ajouter toutes les variables d'environnement requises pour New Relic Lambda monitoring. Consultez nos variables d'environnement pour plus d'informations.

  2. Mettez à jour le gestionnaire de votre fonction pour qu'il pointe vers la couche nouvellement attachée dans le remplacement cmd pour votre fonction. Vous pouvez le faire en suivant les instructions de ces deux documents :

Et ensuite ?

Compatibility and requirement

En savoir plus sur les environnements d'exécution pris en charge et les prérequis

Data and UI

Apprenez à utiliser New Relic pour monitorer votre fonction AWS Lambda

Troubleshooting

Apprenez à résoudre les problèmes liés à l'installation

Droits d'auteur © 2025 New Relic Inc.

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