Thundra

Thundra: Serverless Observability for AWS Lambda

The black box nature of AWS Lambda and other serverless environments means that identifying and fixing performance issues is difficult and time-consuming. Built for straightforward debugging, monitoring, and observability, Thundra provides deep insight into your entire serverless environment. Thundra collects and correlates all your metrics, logs, and traces, allowing you to quickly identify problematic invocations and also analyzes external services associated with that function. With Thundra’s zero overhead and automated instrumentation capabilities, your developers are free to write code without worrying about bulking up their Lambdas or wasting time on chasing black box problems.

Get Started    Discussions

How to Setup Async Monitoring

When you enable asynchronous monitoring in your AWS account, you will be able to send Thundra monitoring data with zero overhead regardless of the size of the data. If you want to learn more about how zero overhead might be important for your applications please
read this blog post.

In order to set up thundra-lambda-adapters-cw to your account, take the following steps:

  • Thundra needs a Lambda function called thundra-lambda-adapters-cw on the user end to publish monitoring data asynchronously to user end. This function must be deployed once and minor configuration updates on this function are applied spontaneously without redeploy. In case of major changes, this function needs to be redeployed with new version.
  • thundra-lambda-adapters-cw function must subscribe to log groups of Lambda functions to be monitored so monitor data (trace, metric and log) can be received. This subscription must be done for each Lambda functions to be monitored.

Please don't forget to set thundra_agent_lambda_report_cloudwatch_enable to true on your lambda functions

The following ways are supported to setup Thundra on user end:

Manual Setup

If the user end is not an automated deployment environment, setup Thundra manually on user end.

Deployer Tool

Deploys Thundra by using a Java based deployer tool. To run this deployer tool, JRE must be installed on the user end environment. If a Serverless framework-based deployment environment has not been used before and the user wants an automated deployment process, deployment using the deployer tool might be more suitable.

Serverless Plugin

Deploys Thundra by using Serverless framework. If a Serverless framework is already used for deploying your Lambda functions, this is the recommended option with the least number of manual actions.

The following diagram shows the architecture diagram of Thundra setup on user end and how the user’s monitor data is collected and published: