How vinaygupta-devops/aws-disk-monitoring-solution works
This repository provides cross-account EC2 disk monitoring: Ansible discovers tagged instances, enrolls them through Systems Manager, and configures the CloudWatch agent; the agent sends filesystem metrics to a central account for dashboards and fleet-wide alerting. CloudFormation supplies the central monitoring resources and member-account IAM roles, while Ansible inventory and playbooks drive enrollment and verification. Edges reflect the README’s documented architecture; source excerpts were unavailable, so implementation-level wiring beyond that documentation is not inferred.
Main entry points: aws_ec2.yml Dynamic Inventory · enroll.yml Enroll Playbook · main.yml Disk Monitor Role · central-monitoring.yaml CloudWatch Metrics
Components 19
Enrollment
- Enroll Playbook
ansible/playbooks/enroll.yml - Verify Playbook
ansible/playbooks/verify.yml - Dynamic Inventory
ansible/inventory/aws_ec2.yml - Account Inventory
ansible/inventory/member-account.aws_ec2.yml.example - Disk Monitor Role
ansible/roles/disk_monitor/tasks/main.yml - Agent Configuration
ansible/roles/disk_monitor/templates/amazon-cloudwatch-agent.json.j2 - Agent Handler
ansible/roles/disk_monitor/handlers/main.yml
Access Management
- Member IAM Stack
cloudformation/member-account-iam.yaml - Central Metrics Role
cloudformation/central-monitoring.yaml
Monitoring
- CloudWatch Metrics
cloudformation/central-monitoring.yaml - Metrics Dashboard
cloudformation/central-monitoring.yaml - Fleet Alarm
cloudformation/central-monitoring.yaml - SNS Notifications
cloudformation/central-monitoring.yaml
AWS Runtime
- AWS Organizations
- EC2 Instances
- Systems Manager
- CloudWatch Agent
Other components
- Operator
- Email, Slack, PagerDuty
Connections 24
- Operator → Enroll Playbook: runs
- Operator → Verify Playbook: runs
- AWS Organizations → Dynamic Inventory: supplies accounts
- Account Inventory → Dynamic Inventory: configures sources
- Enroll Playbook → Dynamic Inventory: uses
- Enroll Playbook → Disk Monitor Role: applies
- Dynamic Inventory → EC2 Instances: discovers tagged instances
- Enroll Playbook → Systems Manager: runs enrollment through
- Systems Manager → EC2 Instances: manages
- Disk Monitor Role → Agent Configuration: writes configuration
- Disk Monitor Role → Agent Handler: notifies
- Disk Monitor Role → EC2 Instances: installs and configures agent
- Verify Playbook → Dynamic Inventory: uses
- Verify Playbook → Systems Manager: verifies via
- Member IAM Stack → EC2 Instances: provides instance profile
- Member IAM Stack → Central Metrics Role: authorizes role assumption
- EC2 Instances → Central Metrics Role: assumes metrics role
- EC2 Instances → CloudWatch Agent: runs
- CloudWatch Agent → CloudWatch Metrics: publishes metrics
- Central Metrics Role → CloudWatch Metrics: permits metric writes
- CloudWatch Metrics → Metrics Dashboard: feeds metrics
- CloudWatch Metrics → Fleet Alarm: evaluates threshold
- Fleet Alarm → SNS Notifications: publishes alarm
- SNS Notifications → Email, Slack, PagerDuty: notifies