Get your monitoring stack up and running in 5 minutes!
- Docker and Docker Compose installed
- Nova Rewards backend running
- 5 minutes of your time ⏱️
cd monitoring
# Copy environment file
cp .env.example .env
# Edit with your settings (optional for local testing)
nano .envMinimum required configuration:
GRAFANA_ADMIN_PASSWORD=your-secure-password
POSTGRES_PASSWORD=your-postgres-password# Create network
docker network create nova-rewards_monitoring
# Start monitoring stack
docker-compose -f docker-compose.monitoring.yml up -d
# Wait for services to start
sleep 30# Check all services are running
docker-compose -f docker-compose.monitoring.yml ps
# Should see all services as "Up"Open in your browser:
-
Grafana: http://localhost:3000
- Username:
admin - Password: (what you set in .env)
- Username:
-
Prometheus: http://localhost:9090
-
Alertmanager: http://localhost:9093
✅ Prometheus - Metrics collection ✅ Grafana - Visualization dashboards ✅ Alertmanager - Alert routing ✅ Node Exporter - System metrics ✅ PostgreSQL Exporter - Database metrics ✅ Redis Exporter - Cache metrics ✅ Blackbox Exporter - Endpoint monitoring
# Test Prometheus is scraping
curl http://localhost:9090/api/v1/targets
# Test metrics endpoint
curl http://localhost:4000/metrics
# Test alert system
./scripts/test-alerts.sh-
Configure Alerts
- Edit
alertmanager/alertmanager.yml - Add your Slack webhook URL
- Add PagerDuty integration key
- Edit
-
Import Dashboards
- Login to Grafana
- Import dashboards from
grafana/dashboards/
-
Review Runbooks
- Check
runbooks/directory - Familiarize with incident response procedures
- Check
# Check logs
docker-compose -f docker-compose.monitoring.yml logs
# Restart
docker-compose -f docker-compose.monitoring.yml restart# Check if port 3000 is available
netstat -tulpn | grep 3000
# Check Grafana logs
docker logs nova-grafana# Verify backend is exposing metrics
curl http://localhost:4000/metrics
# Check Prometheus targets
curl http://localhost:9090/api/v1/targets# Stop all services
docker-compose -f docker-compose.monitoring.yml down
# Stop and remove volumes (WARNING: deletes all data)
docker-compose -f docker-compose.monitoring.yml down -v- 📚 Full documentation: README.md
- 🚀 Deployment guide: DEPLOYMENT.md
- 📖 Runbooks: runbooks/
For production deployment, see DEPLOYMENT.md for:
- Security hardening
- SSL/TLS configuration
- Backup procedures
- High availability setup