New Relic Lambda 모니터링 스택
Lambda 모니터링에는 몇 가지 중요한 부분이 있습니다.
당신의 기능
당신의 기능은 당신이 이해하고자 하는 코드입니다. 오류가 발생한 시기, 속도가 느린 이유 또는 호출되는 빈도를 알고 싶습니다.
New Relic 에이전트 또는 SDK
이것은 New Relic이 함수가 작성된 언어에 대해 제공하는 라이브러리입니다. 그 역할은 코드의 실제 모니터링을 수행하는 것입니다. 함수 호출 기간을 측정하고, 발생하는 오류를 기록하고, 소스 이벤트 및 함수 응답에 대한 세부 정보를 기록합니다. 이렇게 하려면 Lambda 호출 핸들러 함수를 래핑해야 합니다.
조금 더 많은 작업을 수행하면 호출을 흥미로운 세그먼트로 나누고 함수의 상호 작용을 다른 함수 및 서비스와 연결하여 서버리스 애플리케이션에 대한 전체론적 보기를 제공할 수 있습니다.
New Relic 람다 확장
이 사이드카 프로세스는 코드와 함께 Lambda 실행 환경 내에서 실행됩니다. 에이전트가 수집하는 원격 측정을 향상시키고 이를 New Relic의 백엔드에 일괄적으로 보냅니다. 또한 함수의 로그를 New Relic으로 보낼 수도 있습니다.
확장 프로그램은 AWS Lambda 수명 주기와 긴밀하게 통합되는 작은 애플리케이션으로, 원격 측정이 New Relic에 도달하는 데 걸리는 시간과 계측이 함수의 지연 시간 및 처리량에 미치는 영향을 최소화하도록 작동합니다.
Lambda 확장 에 대해 자세히 알아보십시오.
New Relic의 백엔드
New Relic 서비스는 원격 측정을 수신하고 이를 AwsLambdaInvocation
, AwsLambdaInvocationError
, Span
및 사용자 지정 이벤트로 처리하고 모든 것을 원격 측정 데이터베이스인 NRDB에 저장합니다.
New Relic의 Lambda UI
Lambda 함수는 기존 서비스와 완전히 다르기 때문에 이를 관리하는 경험은 기존 APM 경험과 약간 다릅니다. New Relic 플랫폼 내에서 Lambda 함수에는 함수에 대한 가장 중요한 정보를 신속하게 표시하고 로깅 및 분산 추적 기능과 긴밀하게 통합되는 사용자 지정 UI가 있습니다.
NRDB 및 NRQL을 기반으로 기능에 대한 사용자 지정 대시보드 및 알림 을 작성할 수도 있습니다.
기존 CloudWatch 경로
이전 통합은 약간 다른 방식으로 원격 분석을 보냅니다. 원격 분석을 확장에 전달하는 대신 에이전트는 이를 CloudWatch에 로그 라인으로 기록합니다.
함수 로그를 aws-log-ingestion
Lambda 함수로 파이프하는 로그 구독 필터를 추가하면 해당 CloudWatch 로그 줄을 복구하고 다른 플랫폼 원격 분석과 함께 New Relic에 전달할 수 있습니다.
과거에 우리는 이 접근 방식에 상당한 단점이 있음을 확인했습니다. AWS CloudWatch 서비스는 많은 데이터를 생성할 수 있습니다. 프리 티어에 있는 경우 데이터 한도에 꽤 빨리 도달할 수 있습니다. 데이터 비용을 지불하는 경우 이 서비스가 New Relic으로 보내는 데이터의 가장 큰 부분을 차지할 수 있습니다.