Skip to content

Application Insights

Amazon CloudWatch Application Insights β€” a powerful service that helps you monitor and troubleshoot applications running on AWS services like EC2, ECS, Lambda, RDS, and more with minimal manual setup.


πŸ” What is CloudWatch Application Insights?

CloudWatch Application Insights automatically sets up intelligent monitoring for your applications by:

  • Detecting common performance and availability problems

  • Creating relevant CloudWatch Alarms

  • Enabling detailed Log Insights queries

  • Providing automated dashboards for root cause analysis

It’s designed to reduce the effort of setting up monitoring for applications across EC2, Lambda, containers, etc.


βœ… Supported Environments

  • EC2 Instances

  • Lambda functions

  • Amazon RDS / SQL Server

  • Containerized apps (ECS, EKS)

  • .NET, SQL Server, IIS, Java, etc.


πŸš€ Key Features

Feature Description
Automatic anomaly detection Detects common issues like high CPU, memory leaks, failed deployments
Log pattern analysis Identifies unusual log messages and errors
Pre-built dashboards Auto-generates dashboards with metrics, logs, alarms
Integrated with CloudWatch Uses CW Logs, Metrics, Alarms, Contributor Insights, etc.

πŸ§ͺ Demo Example – Monitor a Lambda Application

🎯 Goal:

Automatically monitor a Lambda app for errors, latency, and throttles.


πŸ”§ Step-by-step Setup (via Console)

  1. Go to CloudWatch β†’ Application Insights

  2. Click "Add application"

  3. Select Lambda application

  4. Choose your Lambda function(s)

  5. Click "Create"

CloudWatch will:

  • Detect logs and metrics

  • Create Alarms (e.g., high error rate, timeout rate)

  • Enable Log Insights queries

  • Build a dashboard for your Lambda


πŸ“Š What You Get

  • Dashboards like:

    • Errors over time

    • Duration vs. timeout threshold

    • Cold starts

  • Logs linked to specific issues

  • Alarms auto-created for common issues

  • Log patterns identified (e.g., stack traces, exceptions)


πŸ’₯ Example Problem Detected

CloudWatch App Insights might detect:

❗High Lambda Timeout Rate Detected
Function: my-payment-processor
Suggested Action: Check for long-running processes or increase timeout limit.

It'll link you directly to:

  • Related CloudWatch metrics

  • Related Log Insights queries


πŸ“˜ Other Use Case Examples

1. Monitoring EC2-based .NET app

CloudWatch App Insights can detect:

  • Memory leaks

  • Slow HTTP responses

  • SQL query failures

  • IIS restarts

2. Java App on ECS

It’ll detect:

  • High GC pauses

  • Thread deadlocks

  • Memory utilization spikes

  • Container restarts


πŸ“ Summary

Benefit Details
πŸ” Automates monitoring setup No need to manually configure CloudWatch alarms
🚨 Early problem detection Built-in anomaly detection for logs and metrics
πŸ“ˆ Auto dashboards Detailed visualizations with drill-down options
πŸ” Root cause analysis One-click access to logs and metrics for issues

βš™οΈ Optional: IaC via CloudFormation

You can also create monitored applications via IaC:

Resources:
  MyAppInsights:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName: MyAppGroup
      AutoConfigurationEnabled: true