📊 Observability & Monitoring¶
The pipeline has full observability with Prometheus + Grafana.
🔑 Custom Metrics¶
Defined in metrics.py:
- SCRAPER_SUCCESS, SCRAPER_FAILURES
- LISTINGS_SCRAPED
- VALIDATION_SUCCESS, VALIDATION_FAILURES
- DB_INSERT_FAILURES
- CPU_USAGE, MEMORY_USAGE
- API request count & latency
⚙️ Prometheus Config¶
- Scrapes metrics from:
 - FastAPI (
:8000/metrics) - Consumer service (
:8001/metrics) - Scrape interval: 15s
 

📈 Grafana¶
- Pre-provisioned data source (Prometheus).
 - Dashboards:
 - Scraper health
 - API latency
 - DB inserts
 - Resource usage
 

🚨 Alerts¶
Recommended alerts: - Scraper failures > 5/min - DB insert failures spike - API latency > 2s - CPU usage > 80%