Multi-source observability with Grafana
A dashboard for one system is easy. The useful trick is putting different kinds of signals on one pane so you can correlate them. My Monitoreo-Cloud stack watches three very different sources from a single Grafana:
- AWS serverless — Lambda invocations / errors / duration and S3 objects, via CloudWatch.
- Local Docker containers — CPU, memory and health of the services running on my machine.
- Application data — Trackion's tickets & SLA straight from PostgreSQL.
One pane, three datasources
Grafana doesn't care where data lives — each source is just a datasource. Infra metrics and business metrics (open tickets, breached SLAs) sit side by side, so "the Lambda is slow" and "tickets are piling up" can be read in the same glance.
CloudWatch ─┐
Docker stats ─┼─► PostgreSQL ─► Grafana (dashboards + alerts)
App (tickets)─┘ ▲
n8n (scheduled collection)
How collection stays simple
- n8n runs the scheduled pulls (CloudWatch → normalize → insert) — low-code, no ad-hoc cron scripts.
- Read-only IAM for anything touching AWS. Observability should never need write access.
- SQL panels for app KPIs (tickets by status, SLA breached vs. on-time) — business observability, not just CPU graphs.
The value isn't the graphs — it's seeing infra and business signals in the same place.
Takeaway
Treat Grafana as a correlation layer, not a CPU monitor. Mix cloud, infra and product data on one board and your dashboards start answering "why", not just "what".
Written by Juan Valentin Alducin Vázquez · Get in touch ›