Monitoring AWS Lambda with Serverless monitoring

We offer in-depth performance monitoring for your serverless AWS Lambda functions. This document introduces you to the feature, how it works, and requirements for using it.

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.

Why it matters

Do you need to rapidly instrument monitoring and observability to your serverless functions without resorting to code changes? Our Lambda layer provides unified visibility into the most detailed behaviors of your Lambda functions so you can understand what's going on in your serverless applications.

Use all this information to troubleshoot your systems and optimize your functions so they can function faster and deliver with confidence on serverless architectures. Spend less time instrumenting, and more time building.

Lambda monitoring gives you:

  • Every invocation of your Lambda functions, including performance data like detailed duration, cold starts, exceptions, and tracebacks.
  • AWS Lambda event source information, which provides context and attributes about events that triggered each AWS Lambda invocation, such as API Gateway, ALB SNS, SQS, DynamoDB, and more.
  • Visibility into your entire ecosystem with distributed tracing: see the path of requests that led to your Lambda, and see Lambda spans in your other distributed traces.
  • Logs in context, which provides full invocation and function level logs right along side the metrics, attributes, and trace data.
  • Inventoried tags and metadata. We retrieve information from your AWS entities, giving you the ability to filter and facet down to the team, or specific metadata attributes on the function configuration or invocation itself.
  • Query your data with an automatic facet builder, which instantly facets your dashboards and charts by attribute or function to explore custom data, without having to write queries.

Lambda data is displayed in its own dedicated UI.

Access and requirements

Enabling serverless monitoring for AWS Lambda may result in Amazon Web Services charges. Our installation and enablement instructions recommend the use of a newrelic-log-ingestion Lambda function that reports your Lambda data to us. The log-ingestion function is considered a Third Party Service, and AWS charges resulting from your use of it are your responsibility.

Other details about supported instrumentation:

  • Supported languages: Go, Java, .NET Core, Node.js, and Python. Minimum agent versions:

    • Go: 2.7.0

    • Java: N/A, doesn't use agent

    • .NET Core: N/A, doesn't use agent

    • Node.js: 5.6.4

    • Python:

  • For complete Lambda instrumentation, you must use one of the language-specific AWS SDKs. If an AWS SDK is not used, Lambda data will appear as external service calls in the UI, with minimal detail.

  • For the following services, only the "target" (Lambda function name, SNS topic ARN, DynamoDB table name, etc.) is reported: Autoscaling, Athena, Batch, Cloud9, CodeBuild, DynamoDB, Greengrass, IoT, Kinesis (Streams, Firehose, Analytics, Video), Lambda, Lex, Machine Learning, MQ, Redshift, Rekognition, S3, SES, SimpleDB, SNS, SQS, Storage Gateway, and STS.

Next steps: Enable and use Lambda monitoring

To get started using our Lambda monitoring, see the installation and enablement instructions.

You can also set up alerts or add your own custom events or attributes.

For more help

If you need more help, check out these support and learning resources: