• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Instrumentação conteinerizada

Se você estiver usando uma imagem em contêiner para uma função do Lambda e quiser monitor seu aplicativo, precisará adicionar uma camada pré-criadaNew Relic Lambda ao seu Dockerfile que corresponda ao tempo de execução da sua função.

Aqui está um diagrama que mostra o processo de adição New Relic ao Dockerfile para que você possa monitor sua função:

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

Se você estiver usando uma imagem em contêiner para sua função do Lambda, poderá adicionar New Relic à sua imagem.

Aqui está um guia para adicionar nossa camada pré-construída ao seu código.

Adicione New Relic ao seu Dockerfile

A New Relic oferece imagens pré-construídas que incluem os diferentes tempos de execução da nossa camada: Java, Node.js, Python e somente extensão.

  1. Selecione a camada compatível com o tempo de execução e região específicos da sua função do Lambda:

  2. Em seu Dockerfile de vários estágios, use a imagem pré-construída do New Relic como um estágio de construção intermediário. Em seguida, copie o agente e a extensão da New Relic da nossa imagem pré-construída para o estágio final de construção.

    Exemplos de Dockerfile baseados em tempo de execução

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

    Experimente um exemplo prático de uma função Java em contêiner do Lambda usando 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" ]

    Experimente um exemplo prático de uma função Python em contêiner do Lambda usando 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" ]

    Experimente um exemplo prático de uma função do Lambda em contêiner Node.js usando 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

Crie uma imagem

  1. Depois de adicionar a referência à imagem pré-construída do New Relic ao seu Dockerfile, você precisará construir uma nova imagem a partir do Dockerfile modificado. Esta nova imagem terá seu código original e a imagem pré-construída do New Relic. Para isso, recomendamos seguir os passos listados no guia AWS , Criar uma função do Lambda usando uma imagem de contêiner.
  2. Envie a nova imagem para o repositório do AWS Elastic Container Registry para sua função usar.

Crie uma nova função do Lambda

Usando a imagem que você enviou para AWS ECR, crie uma nova função do Lambda. Para obter mais informações sobre a criação desta função, recomendamos voltar ao guia AWS : Create a função do Lambda.

Configure sua função do Lambda

  1. Configure a função do Lambda com as mesmas configurações da função original, mas certifique-se de adicionar quaisquer variáveis de ambiente necessárias para o monitoramento do New Relic Lambda. Consulte nossas variáveis de ambiente para obter mais informações.

  2. Atualize o manipulador da sua função para apontar para a camada recém-anexada na substituição cmd da sua função. Você pode fazer isso usando as instruções nestes dois documentos:

Copyright © 2024 New Relic Inc.

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