Ingest Telemetry directly from Lambda using New Relic Extensions

Introduction

In the past, Amazon Web Services (AWS) enabled third party tools like New Relic to ingest AWS Lambda logs directly from Lambda. AWS has now extended this functionality to all telemetry data types, including metrics, events, and traces. Check out more details here. This enables us to deliver enhanced observability of Lambda function execution through a new Lambda Extension.

The Lambda telemetry API is an enhancement to the logs API. It makes it simpler for the New Relic extension to receive telemetry about Lambda function invocation, such as runtime, tags, max memory, and timeout. Customers can use this API to receive telemetry streams from the Lambda service, including function and extension logs, traces, and metrics coming from the Lambda platform.

The New Relic extension subscribes to the telemetry streams directly from within the Lambda execution environment, allowing an in-depth understanding of the Lambda function and extension.

Telemetry API allows extensions to subscribe to three different telemetry streams:

  1. Function logs - custom logs that Lambda function code generates (stdout/stderr)
  2. Extension logs - Lambda extension code generates custom logs to stdout and stderr
  3. Platform telemetry - metrics, events, and traces which describe events and errors related to execution environment runtime lifecycle, extension lifecycle, and function invocations.

Telemetry API enables extensions to receive traces about the events related to Lambda execution environment lifecycle, with trace spans compatible with the OpenTelemetry format. Trace segments can be enriched by additional metadata for easier contextualization and diagnosis. Pairing this trace data with log data, you can rapidly troubleshoot performance problems, outages, and errors.

Unified view to pinpoint problems before they impact customers

Use this new capability to directly understand the state of your Lambda-based workload using the updated New Relic extension to access your observability data and display it in a unified view. All the information to ensure your Lambda functions are operating optimally is available through our existing AWS Lambda integration, such as invocations, errors, throttles, dead letter queues, and concurrency. This integration will provide deep execution data for developers to take action.

Metrics such as duration, billed duration, memory size, memory utilized, and init duration are all displayed using a New Relic dashboard so that you can optimize performance. Platform events around function initialization, invocation status, and function and extension logs can be visualized at a glance. Trace spans further detail the information through the lifecycle of the Lambda function.

Next steps

To begin exploring instrumenting Lambda extensions with New Relic visit our docs, quickstarts or sign up for a free account (100 GB/month of free data ingest, one free full-access user, and unlimited free basic users).

How is this different the existing Lambda layer integration? https://docs.newrelic.com/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/monitoring-aws-lambda-serverless-monitoring

Is it only available to us-west-2 as implied by the linked docs?

Thanks for your comments. This Lambda monitoring feature is not the same as the Lambda monitoring integration , which only uses CloudWatch data. Serverless Lambda monitoring is more extensive and uses both CloudWatch data and code-level instrumentation to deliver more in-depth monitoring. We are working to deploy this globally.