Use CloudWatch Application Signals to monitor serverless application performance created using AWS Lambda.
An AWS built-in application performance monitoring (APM) solution called Amazon CloudWatch Application Signals was introduced in November 2023 to address the challenge of tracking the performance of distributed systems for apps running on Amazon EKS, Amazon ECS, and Amazon EC2. Application Signals expedites troubleshooting and minimizes application downtime by automatically correlating telemetry across metrics, traces, and logs. You may increase your productivity by concentrating on the apps that support your most important business operations using CloudWatch Application Signals‘ integrated experience for performance analysis within your applications.
CloudWatch Application Signals for Lambda
In order to remove the hassles of manual setup and performance concerns associated with evaluating the health of applications for Lambda functions, AWS is announcing today that Application Signals for AWS Lambda is now available. You can now gather application golden metrics (the volume of requests coming in and going out, latency, problems, and errors) with CloudWatch Application Signals for Lambda.
By abstracting away the intricacy of the underlying infrastructure, AWS Lambda frees you from having to worry about server health and lets you concentrate on developing your application. This enables you to concentrate on keeping an eye on the functionality and health of your apps, which is essential to running them at optimal efficiency and accessibility. This necessitates having a thorough understanding of performance insights for your vital business processes and application programming interfaces (APIs), including transaction volume, latency spikes, availability dips, and mistakes.
In the past, determining the underlying cause of anomalies required a significant amount of time spent correlating disparate logs, KPIs, and traces across several tools, which increased mean time to recovery (MTTR) and operational expenses. Moreover, developing your own APM solutions using open source (OSS) libraries or custom code was laborious, complicated, costly to operate, and frequently led to longer cold start times and deployment issues when overseeing sizable fleets of Lambda functions. Without the need for manual instrumentation or code modifications from your application developers, you can now easily monitor and debug serverless application health and performance concerns with CloudWatch Application Signals.
How it works
By delving deeper into performance measurements for crucial business operations and APIs, you may quickly determine the underlying cause of performance abnormalities using CloudWatch Application Signals‘ pre-built, standardized dashboards. This aids in the visualization of the application topology, which displays how the function and its dependencies interact. To keep an eye on particular processes that are most important to you, you may also set Service Level Objectives (SLOs) on your applications. Setting a target that a webpage should render in 2000 ms 99.9 percent of the time over a rolling 28-day period is an example of a SLO.
CloudWatch Application Signals uses improved AWS Distro for OpenTelemetry (ADOT) modules to automatically instrument your Lambda function. You can swiftly monitor your apps with improved performance, including decreased cold start latency, memory usage, and function invocation duration.
Application Signals in the Lambda Console to gather different data on this application using an existing Lambda function called appsignals1.
You can enable the application signals and the Lambda service traces by choosing Monitoring and Operations Tools from the function’s Configuration tab.
This Lambda function is a resource that is attached to myAppSignalsApp, an application. For your application, you have established an SLO to track particular operations that are most important to you. Your objective is for the application to run within 10 ms 99.9 percent of the time within a rolling 1-day period.
After the function is called, it may take five to ten minutes for CloudWatch Application Signals to identify it. You will thus need to reload the Services page in order to view the service.
Now that you are on the Services page, you can see a list of every Lambda function that Application Signals has found for you. This is where any telemetry that is released will be seen.
Then, utilizing the newly gathered metrics of request volume, latency, faults, and failures, you can rapidly identify anomalies across your service’s various processes and dependencies and visualize the entire application topology from the Service Map. You can rapidly determine whether problems affecting end users are specific to a job or deployment by clicking into any point in time for any application metric graph to find connected traces and logs relating to that metric.
Now available
You can begin utilizing Amazon CloudWatch Application Signals for Lambda right now in any AWS Regions where both Lambda and Application Signals are accessible. Lambda functions that use Python and Node.js managed runtimes can now use Application Signals. Support for additional Lambda runtimes will be added soon.