Monitoreo¶
Cómo monitorear la salud y performance del Sistema A3.
Logs¶
Heroku Logs¶
# Logs en tiempo real
heroku logs --tail --app aterceros
# Últimas 1000 líneas
heroku logs -n 1000 --app aterceros
# Solo errores
heroku logs --source app --app aterceros | grep ERROR
# Logs de PostgreSQL
heroku logs --source heroku-postgres --app aterceros
Tipos de Logs¶
- INFO: Información general
- WARNING: Advertencias no críticas
- ERROR: Errores que requieren atención
- CRITICAL: Errores críticos del sistema
Métricas de Heroku¶
# Ver estado de dynos
heroku ps --app aterceros
# Métricas de BD
heroku pg:info --app aterceros
# Uso de disco
heroku pg:diagnose --app aterceros
Monitoreo de Performance¶
Queries Lentas¶
# Ver queries lentas en PostgreSQL
heroku pg:ps --app aterceros
# Kill query problemática
heroku pg:kill 12345 --app aterceros
Django Debug Toolbar (Local)¶
En desarrollo, usar Django Debug Toolbar para analizar: - Queries SQL - Cache hits/misses - Templates renderizados - Tiempo de respuesta
Alertas¶
Configurar alertas para:
- Errores 500 frecuentes
- Uso de BD >80%
- Timeout de requests
- Dyno crasheado
- Backup fallido
Health Checks¶
Endpoint de health check:
# api/health.py
def health_check(request):
return JsonResponse({
'status': 'ok',
'database': check_database(),
's3': check_s3(),
'sap_api': check_sap_api()
})
Monitorear en: /api/health/
Métricas Clave (KPIs)¶
- Uptime: >99.5%
- Response time: <500ms (promedio)
- Error rate: <1%
- DB connections: <80% del límite
Herramientas Recomendadas¶
- Sentry: Error tracking
- New Relic: APM
- Datadog: Monitoring completo
- PagerDuty: Alertas y on-call
Dashboard de Monitoring¶
Crear dashboard con: - Requests por minuto - Errores por hora - Tiempo de respuesta (p50, p95, p99) - Uso de recursos (DB, dynos)
Revisar métricas diariamente para detectar problemas temprano.