Skip to content

AWS CloudOps monitoring and observability solution for operational support. Tracks EC2 metrics, CloudWatch logs, and system performance Detects anomalies and automates notifications for fast incident response Integrates with Prometheus, Grafana, and AWS CloudWatch Implements operational alerts, monitoring pipelines, and remediation automation

License

Notifications You must be signed in to change notification settings

charles-bucher/aws_monitoring_observability

Repository files navigation

⚡ AWS Monitoring & Observability Project

Python Terraform License GitHub Stars

Hands-on AWS monitoring, observability, and alerting infrastructure built with Terraform. Includes CloudWatch metrics, dashboards, alarms, GuardDuty alerts, and automated deployments.


🚀 What I Built

This is a real-world observability setup I built from scratch, covering:

  • EC2 Monitoring: CloudWatch metrics & CPU utilization alarms.
  • Centralized Logging: CloudWatch Logs & Insights for troubleshooting.
  • Security Alerts: GuardDuty findings integrated with SNS notifications.
  • Terraform Automation: Reproducible infrastructure deployments via IaC.

I faced real challenges like SNS permissions, alarm threshold tuning, and Terraform state conflicts, which I solved to make this setup fully functional.


🛠️ Architecture & Workflow

  1. CloudWatch Metrics & Alarms

    • Track EC2 CPU, memory, and disk metrics.
    • Configure custom alarms triggering SNS notifications.
  2. Centralized Logging

    • Aggregate EC2 application logs to CloudWatch Logs.
    • Analyze logs using CloudWatch Logs Insights queries.
  3. Security Monitoring

    • Detect anomalies via GuardDuty.
    • Automatic alerts sent through SNS.
  4. Terraform Automation

    • Deploy all monitoring infrastructure with IaC.
    • CI/CD-ready workflows in .github/workflows/terraform-apply.yml.

📂 Repository Structure

aws_monitoring_observability/ ├─ screenshots/ # Dashboards, alerts, Terraform outputs ├─ .github/workflows/ # Terraform automation workflows ├─ main.tf # Terraform resources (CloudWatch, SNS, GuardDuty) ├─ outputs.tf # Terraform outputs ├─ variables.tf # Terraform variables ├─ provider.tf # AWS provider configuration ├─ terraform.tfvars.example.txt # Example input variables └─ README.md # Project overview and instructions

yaml Copy code


⚡ Usage

Clone the repository:

git clone https://github.com/charles-bucher/aws_monitoring_observability.git
cd aws_monitoring_observability
Deploy infrastructure with Terraform:

bash
Copy code
terraform init
terraform plan
terraform apply
Explore screenshots/ to see dashboard outputs, alerts, and deployment confirmation.

Review .github/workflows/terraform-apply.yml for automated deployments.

Experiment with metrics, alarms, and GuardDuty findings in your AWS account.

🎯 Goals & Learning Outcomes
Hands-on AWS monitoring and observability experience.

Built real-world CloudWatch dashboards, alarms, and alerts.

Solved practical issues: SNS permissions, Terraform state management.

Automated infrastructure deployments using Terraform and GitHub Actions.

📸 Screenshots
CPU Metrics
<img src="screenshots/aws_cpu.png" alt="CPU Metrics" width="400"/>

AWS Alerts
<img src="screenshots/aws_alerts.png" alt="AWS Alerts" width="400"/>

Terraform Deployment
<img src="screenshots/aws_terraform.png" alt="Terraform Deployment" width="400"/>

Terraform Apply Confirm
<img src="screenshots/aws_terraform_confirm.png" alt="Terraform Apply Confirm" width="400"/>

AWS Apply Confirm
<img src="screenshots/01_aws_confirm.png" alt="AWS Confirm" width="400"/>

💡 Notes
Fully compatible with AWS Free Tier.

Ideal for portfolio demonstration, learning, and experimentation.

Contributions welcome — PRs are open!

🔗 References
AWS CloudWatch Documentation

AWS GuardDuty Documentation

Terraform Documentation

Made with 💻 by Charles Bucher | GitHub: @charles-bucher

About

AWS CloudOps monitoring and observability solution for operational support. Tracks EC2 metrics, CloudWatch logs, and system performance Detects anomalies and automates notifications for fast incident response Integrates with Prometheus, Grafana, and AWS CloudWatch Implements operational alerts, monitoring pipelines, and remediation automation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages