• English日本語한국어
  • 로그인지금 시작하기

CloudWatch 로그 전송을 위한 AWS Lambda

AWS Lambda 함수 newrelic-log-ingestion을 사용하여 Amazon CloudWatch 로그를 뉴렐릭으로 보낼 수 있습니다. 이는 AWS Serverless 애플리케이션 리포지토리에서 쉽게 배포할 수 있습니다.

CloudWatch 로그를 뉴렐릭으로 전달하면 로그 데이터를 수집, 처리, 탐색, 쿼리 및 알림 설정할 수 있는 기능을 향상할 수 있습니다.

CloudWatch 로그 Lambda 함수 설치 및 구성

다음 설정은 환경 변수를 구성하기 위한 한 가지 접근 방식을 보여줍니다. Functions 페이지에서 구성할 수도 있습니다.

다음을 완료하십시오

  1. 가 있어야 합니다.

  2. 브라우저에서 AWS Serverless Application Repository를 엽니다.

  3. newrelic을 검색하고 커스텀 IAM 역할 또는 리소스 정책을 생성하는 앱 표시를 선택하여 newrelic-log-ingestion을 찾습니다.

  4. newrelic-log-ingestion 세부정보를 열고 배포를 클릭합니다.

  5. 함수의 Configure 메뉴에서 Environment Variables로 이동하고 다음 환경 변수를 사용하여 로그 전달을 구성합니다.

설명

DEBUG_LOGGING_ENABLED

CloudWatch 콘솔에서 디버그 메시지를 출력할지 여부를 결정하는 부울 값입니다. 옵션

디버그 로그를 켜려면 이 항목을 true으로 설정합니다. 기본값은 false입니다.

LICENSE_KEY

뉴렐릭에 데이터를 보내는 데 사용됩니다. 필수 항목입니다.

LOGGING_ENABLED

로그가 뉴렐릭으로 전달되는지 여부를 결정합니다. 필수 항목입니다. 로깅을 켜려면 이 항목을 true으로 설정합니다.

NR_TAGS

모든 로그 이벤트에 추가할 태그를 지정합니다. 선택 사항입니다.

각 태그는 콜론으로 구분된 키와 값으로 구성됩니다. 여러 키-값 쌍은 세미콜론으로 구분됩니다. (예: env:prod;team:myTeam)

NR_LAMBDA_LOG_GROUP_PREFIX

/aws/lambda과 다른 경로를 사용하도록 Lambda 로그 그룹을 구성한 경우 이 변수를 사용하여 지정할 수 있습니다. 선택 사항입니다.

NR_VPC_LOG_GROUP_PREFIX

/aws/vpc/flow-log과 다른 경로를 사용하도록 VPC 로그 그룹을 구성한 경우 이 변수를 사용하여 지정할 수 있습니다. 선택 사항입니다.

  1. 앱이 커스텀 IAM 역할을 생성한다는 것을 확인한 후 Deploy를 클릭합니다.

프로세스가 완료되면 Lambda 트리거를 생성하여 Lambda 함수를 CloudWatch 로그에 연결합니다.

Lambda 트리거 생성

수집 기능에서 로그 서브스크립션이 아닌 트리거를 설정해야 합니다. Lambda 콘솔에서 서브스크립션을 설정한 경우 이로 인해 일련의 로그가 생성되어 뉴렐릭으로 전달될 수 있습니다.

로그를 뉴렐릭으로 스트리밍하려면 Lambda에 트리거를 연결합니다.

  1. 왼쪽 메뉴에서 Functions을 선택합니다.
  2. 이전에 생성된 newrelic-log-ingestion 함수를 찾아 선택합니다.
  3. Triggers에서 Add Triggers를 클릭하고 드롭다운에서 CloudWatch Logs를 선택합니다.
  4. 애플리케이션에 적합한 Log group을 선택합니다.
  5. 필터 이름을 입력합니다.
  6. 옵션: 필터 패턴을 입력합니다.
  7. Enable trigger 체크박스를 선택한 다음 Add를 클릭하여 트리거를 생성합니다.

이 문서가 설치하는데 도움이 되셨나요?

선택 사항: 다른 로깅 엔드포인트 구성

필요한 경우 커스텀 로깅 엔드포인트를 설정할 수 있습니다. 그러면 일례로 FedRAMP 같은 규정을 준수하는 엔드포인트들을 사용할 수 있습니다.

이를 위해 위에 설명한 애플리케이션을 배포한 후 다음을 수행해야 합니다.

  1. AWS에서 최근 배포된 Lambda 함수 뷰로 이동합니다.

  2. 아래로 스크롤하여 Configuration 탭을 클릭합니다.

  3. Configuration 탭 내부의 왼쪽 메뉴에서 Environment Variables를 클릭합니다.

  4. 여기에서 이미 존재하는 환경 변수 목록을 볼 수 있습니다. Environment Variables 테이블의 오른쪽 상단에 있는 Edit을 클릭하면 됩니다.

  5. 적절한 엔드포인트로 NR_LOGGING_ENDPOINT를 업데이트합니다.

    • 미국: https://log-api.newrelic.com/log/v1
    • 유럽 연합: https://log-api.eu.newrelic.com/log/v1
    • FedRAMP: https://gov-log-api.newrelic.com/log/v1
  6. Save를 클릭합니다.

선택 사항: 재시도 구성

통신 문제의 경우 기능이 데이터를 전송하지 못하는 경우 수행할 재시도 횟수를 설정할 수 있습니다. 권장되는 재시도 횟수는 3회이지만 아래 파라미터를 변경하여 재시도 동작을 변경할 수 있습니다.

재시도 횟수가 많을수록 기능이 더 오래 실행될 수 있습니다. 이렇게 하면 Lambda에 더 높은 비용이 발생할 가능성이 높아집니다. 그러나 재시도 횟수를 줄이면 데이터 손실 가능성이 높아질 수 있습니다.

MAX_RETRIES = 3 # Defines the number of retries after lambda failure to deliver data
INITIAL_BACKOFF = 1 # Defines the initial wait seconds until next retry is executed
BACKOFF_MULTIPLIER = 2 # Time multiplier between the retries
As an example, in default above configuration, first retry will happen after 1 second, second retry after 2 seconds and third retry will happen after 4 seconds.

SAM 템플릿으로 생성된 리소스

리포지토리에서 애플리케이션을 생성하면 다음 리소스도 생성됩니다.

  • Lambda 함수 자체
  • CloudWatch Logs를 기반으로 하는 Lambda 함수에 실행 권한을 부여하는 데 사용되는 역할입니다.

나열되지 않은 다른 모든 Lambda 설정은 기본값으로 둘 수 있습니다.

로그 데이터 확인

모든 것이 올바르게 구성되고 데이터가 수집되는 경우 다음 두 위치에서 로그가 표시되어야 합니다.

  • 로그 UI
  • NRQL 쿼리를 실행하기 위한 뉴렐릭의 툴. 예를 들어 다음과 같은 쿼리를 실행할 수 있습니다.
SELECT * FROM Log

로그 관리 기능을 활성화한 후에도 데이터가 나타나지 않으면 표준 로그 문제 해결 절차를 따르십시오.

다음 단계는?

플랫폼 전반에 걸쳐 로깅 데이터를 탐색합니다.

로그 전달 비활성화

로그 전달 기능을 비활성화하려면 Amazon CloudWatch 문서의 표준 절차를 따릅니다. 뉴렐릭에서는 다른 작업을 수행할 필요가 없습니다.

Copyright © 2024 New Relic Inc.

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