# Observabilidad (estado actual)

## Implementado

### Logs estructurados API

- Middleware `LogStructuredApiRequests` en rutas `/api/v1/*`.
- Canal Monolog `json` → `storage/logs/structured.jsonl` (una línea JSON por petición: método, ruta, status, duración ms, user_id).

Configuración en `config/logging.php`.

### Health check

```http
GET /api/v1/health
```

Respuesta JSON con estado de app y base de datos (sin autenticación). Útil para monitoreo externo o balanceadores.

## No implementado (decisión futura)

| Herramienta | Motivo |
|-------------|--------|
| Laravel Telescope | Requiere panel web y sobrecarga en producción; útil solo en staging local. |
| Prometheus + exporter | Necesita stack de métricas (Grafana, scrape config) en el servidor. |
| OpenTelemetry | Requiere collector (Jaeger/Tempo) y más operación. |

Para un MVP en XAMPP/DDNS, logs JSON + `/health` son suficientes. Añadir métricas cuando haya entorno de staging dedicado.

## Comandos útiles

```bash
# Ver últimas líneas del log estructurado
tail -f backend/storage/logs/structured.jsonl

# Health desde curl
curl -s http://localhost/api/v1/health | jq
```
