• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

컨테이너화된 계측기

Lambda 함수에 컨테이너화된 이미지를 사용하고 런타임을 모니터링하려면 함수의 런타임과 일치하는 미리 빌드된 Lambda 계층을 Dockerfile에 추가해야 합니다.

다음은 함수를 모니터링할 수 있도록 Dockerfile에 New Relic을 추가하는 프로세스를 보여주는 다이어그램입니다.

Lambda 함수에 컨테이너화된 이미지를 사용하는 경우 이미지에 뉴렐릭을 추가할 수 있습니다.

다음은 사전 구축된 레이어를 코드에 추가하는 방법에 대한 가이드입니다.

Dockerfile에 뉴렐릭 추가

뉴렐릭은 레이어의 다양한 런타임(Java, Node.js, Python 및 확장 전용입니다.

  1. 특정 Lambda 함수의 런타임 및 지역과 호환되는 계층을 선택합니다.

  2. 다단계 Dockerfile에서 New Relic의 사전 빌드된 이미지를 중간 빌드 단계로 사용하세요. 그런 다음 사전 빌드된 이미지의 New Relic 에이전트 및 확장을 최종 빌드 단계에 복사하세요.

    런타임 기반 Dockerfile 예제

    # 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

이미지 만들기

  1. New Relic의 사전 빌드된 이미지에 대한 참조를 Dockerfile에 추가한 후 수정된 Dockerfile에서 새 이미지를 빌드해야 합니다. 이 새 이미지에는 원본 코드와 New Relic의 사전 빌드된 이미지가 포함됩니다. 이렇게 하려면 AWS 가이드 컨테이너 이미지를 사용하여 Lambda 함수 생성 에 나열된 단계를 따르는 것이 좋습니다.
  2. 함수가 사용할 새 이미지를 AWS Elastic 컨테이너 레지스트리 에 푸시합니다.

새로운 Lambda 함수 생성

AWS ECR에 푸시한 이미지를 사용하여 새 Lambda 함수를 생성합니다. 이 함수 생성에 대한 자세한 내용을 보려면 AWS 가이드: Lambda 함수 생성 을 참조하는 것이 좋습니다.

Lambda 함수 구성

  1. 원본 함수와 동일한 설정으로 Lambda 함수를 구성하되, New Relic Lambda 모니터링에 필요한 환경 변수를 추가했는지 확인하세요. 자세한 내용은 환경 변수를 참조하세요.

  2. 함수의 cmd 재정의에서 새로 연결된 레이어를 가리키도록 함수 핸들러를 업데이트합니다. 다음 두 문서의 지침을 사용하여 그렇게 할 수 있습니다.

Copyright © 2024 New Relic Inc.

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