I needed metrics fast: CPU, memory, disk usage, traffic. But I did not want to pay for a monitoring SaaS or wait 24 hours for AWS dashboards to populate.
So I built my own barebones observability stack using open source tools. I originally built this at AlphaPoint where we wanted engineers to spend less time setting up Grafana and more time using it.
The Fix: Self-Hosted Grafana + Prometheus
Using an EC2 instance and a bit of Ansible, I created a stack that:
- 📦Installs Prometheus and Grafana automatically
- 🎯Configures basic scrape jobs like node_exporter
- 🔐Sets up security groups and firewall rules for ports 9090 and 3000
- 📊Gives a fully working Grafana UI with Prometheus data sources
Anyone can run this script and have Grafana and Prometheus running in one click. No setup headaches. Just instant dashboards.
GitHub: github.com/chinmaya-chhatre/grafana-prometheus-integration
What Changed
- 🔎Full visibility into instance-level metrics in under 10 minutes
- 📉Tracked system issues without relying on CloudWatch or external tools
- 🧠Learned a lot about Prometheus scraping intervals and Grafana dashboard patterns
Every engineer should know how to spin up their own monitoring. DIY gives you more power and fewer headaches than a magic SaaS platform.
Tradeoffs I Made
- 💾Prometheus stores data locally: fine for short-term, not ideal for long-term trend analysis
- 🚨Focused on dashboards and metrics first: AlertManager comes next
- 🔨Manual node exporter install not yet baked into automation
What I Would Add Next
- 🚨Add AlertManager with custom threshold alerts
- 📊Build out full dashboard template for reusability
- 🐳Use Docker to make setup even more portable
More from the Tech Blog