AWS Logo
Menu
How to Visualize All of Your AWS Metrics in One Place Easily

How to Visualize All of Your AWS Metrics in One Place Easily

Learn how to effortlessly bring together and visualize all your AWS metrics in one place. Step-by-step guide to creating unified dashboards for AWS monitoring.

Published Jan 6, 2025

Why Monitor AWS Metrics in One Place?

Diagram illustrating CloudWatch monitoring architecture with Metric Streams capturing AWS service me
cloudwatch monitoring
Monitoring your AWS metrics across multiple accounts and namespaces is essential to ensure seamless performance, detect anomalies quickly, and optimize costs. However, managing metrics scattered across various services and accounts can be cumbersome, leading to inefficiencies in monitoring and troubleshooting.
By centralizing all your AWS metrics in one place, you can:
  • Simplify observability: Gain a single-pane-of-glass view of your entire infrastructure.
  • Enhance performance monitoring: Detect and resolve performance issues faster.
  • Improve operational efficiency: Reduce manual effort in collecting and analyzing metrics.
  • Streamline troubleshooting: Identify and fix issues with a unified view of your infrastructure.
  • Ensure data reliability: Backup failed metric deliveries for future analysis.
Let’s walk through an end-to-end setup using a CloudFormation template to achieve centralized monitoring with AWS Metric Streams, Kinesis Firehose, and OpenObserve.

Prerequisites

Before proceeding, ensure you have:
AWS Access:
  • Admin access to your AWS account.
  • An S3 bucket ready for storing backups.
  • An endpoint configured to receive metrics via HTTP.
  • Authentication tokens.
CloudFormation Template:
  • A YAML or JSON file ready for deployment (provided below).

Step 1: Understand the Architecture

Here’s how the system works:
  1. CloudWatch Metric Stream: Captures metrics across all namespaces (e.g., EC2, RDS, Lambda) and forwards them in near real-time to Kinesis Firehose.
  2. Kinesis Firehose Delivery Stream: Transforms and delivers metrics to OpenObserve.
  3. S3 Backup: Stores metrics that fail to deliver for later analysis.
  4. IAM Roles: Grants secure permissions for each service to interact with the others.
This setup allows you to monitor metrics from multiple AWS accounts in a single location, streamlining the observability process.

Step 2: Deploy the CloudFormation Template

Steps to Deploy:

You can find the cloudformation script from our git repository.
  1. Save the template as metrics-stream-setup.yaml.
  2. Go to the AWS Management Console.
  3. Navigate to CloudFormation and click Create Stack.
  4. Upload the YAML file and follow the on-screen steps.
  5. Monitor the stack’s progress until it completes.

Step 3: Verify the Setup

  1. CloudWatch Metric Stream:
    • Go to the CloudWatch console and check the Metric Stream status.
    • Ensure it is active.
  2. Kinesis Firehose:
    • Verify the delivery stream is active.
    • Test by pushing sample metrics to the stream.
  3. S3 Backup:
    • Check the specified bucket for failed deliveries (if any).
  4. OpenObserve:
    • Log in and verify if metrics are being ingested.

Step 4: Benefits of This Setup

Without Centralized MonitoringWith Centralized Monitoring
Metrics are scattered across multiple accounts and services.Metrics from all AWS accounts are consolidated in one place.
Difficult to gain a unified view of infrastructure health.Single-pane-of-glass visibility for all metrics.
Manual effort required to aggregate data from different namespaces.Automated collection of metrics across all namespaces (e.g., EC2, RDS, Lambda).
Troubleshooting is time-consuming and fragmented.Streamlined troubleshooting with centralized data.
No backup mechanism for failed metric deliveries.Reliable S3 backup for failed metrics.

Step 5: Troubleshooting

If metrics are not appearing:
  • Check IAM permissions for both Metric Stream and Kinesis Firehose roles.
  • Verify the HTTP endpoint and authentication for OpenObserve.
  • Look for errors in the S3 backup bucket.

Conclusion

By using this CloudFormation template and following these steps, you can easily centralize and streamline the monitoring of your AWS metrics. This setup ensures real-time observability across multiple AWS accounts and namespaces, providing a comprehensive view of your infrastructure. Simplify your AWS monitoring today!
To learn more about how OpenObserve can be used to monitor AWS, you can visit the documentation provided here that will guide you to setup OpenObserve.
 

Comments