Quick reference
| Data source | Type | Best for | Query language |
|---|---|---|---|
| CloudWatch | Cloud | AWS resources | CloudWatch syntax |
| Elasticsearch | Logs | Full-text search | Lucene/DSL |
| Google Sheets | Flexible | Spreadsheet data | Cell references |
| Infinity | Flexible | APIs, files | JSONPath |
| InfluxDB | Metrics | IoT, high-volume | Flux, InfluxQL, SQL (v3+) |
| Loki | Logs | Cost-effective logs | LogQL |
| MySQL/PostgreSQL | SQL | Application data | SQL |
| Prometheus | Metrics | K8s, cloud-native | PromQL |
Decision flowchart
Script
Let’s bring it all together with a quick reference. When you’re deciding which data source to use, start with your data type and use case.
Cloud-native metrics? Prometheus. High-volume IoT data? InfluxDB. Cost-effective logs? Loki. Full-text log search? Elasticsearch. AWS resources? CloudWatch. Application data in a database? MySQL or PostgreSQL. External API or file? Infinity. Spreadsheet data? Google Sheets.
Most environments use multiple data sources, and that’s fine. Grafana handles it gracefully. The key is matching each data source to what it does best.
