Monitoreo y Sentry
Monitoreo y Sentry
Sección titulada «Monitoreo y Sentry»El sistema utiliza Sentry para monitoreo de errores en tiempo real, captura de logs y seguimiento de rendimiento.
🚀 Configuración
Sección titulada «🚀 Configuración»1. Obtener DSN de Sentry
Sección titulada «1. Obtener DSN de Sentry»- Ve a sentry.io y crea una cuenta
- Crea un nuevo proyecto (selecciona “Astro”)
- Copia el DSN que te proporcionan
2. Configurar Variables de Entorno
Sección titulada «2. Configurar Variables de Entorno»Desarrollo local (.env):
SENTRY_DSN=https://tu-dsn-aqui@sentry.io/proyecto-idPUBLIC_ENV=developmentProducción (Vercel):
- Ve a Settings → Environment Variables
- Agrega
SENTRY_DSNcon tu DSN - Agrega
PUBLIC_ENV=production(opcional)
3. Verificar Configuración
Sección titulada «3. Verificar Configuración»El sistema detecta automáticamente si Sentry está configurado. Puedes verificar con:
curl http://localhost:4321/api/test-sentry?type=status📊 Funcionalidades
Sección titulada «📊 Funcionalidades»Captura Automática de Errores
Sección titulada «Captura Automática de Errores»Todos los errores críticos (5xx, 401, 403) se capturan automáticamente en Sentry:
- Errores de API
- Errores de integraciones externas (GoHighLevel, Resend, Backblaze)
- Errores no capturados
Console Logging
Sección titulada «Console Logging»Sentry captura automáticamente:
console.log()console.warn()console.error()
Contexto de Usuario
Sección titulada «Contexto de Usuario»Cuando hay una sesión activa, los errores incluyen:
- ID de usuario
- Rol (natural/juridica/admin)
🔍 Ver Errores en Sentry
Sección titulada «🔍 Ver Errores en Sentry»- Ve a tu dashboard: https://sentry.io/organizations/
- Selecciona tu proyecto
- Ve a Issues para ver errores
- Ve a Logs para ver console logs
- Haz clic en cualquier error para ver:
- Stack trace completo
- Breadcrumbs (secuencia de eventos)
- Contexto del usuario
- Tags personalizados
- Información del entorno
🧪 Probar Sentry
Sección titulada «🧪 Probar Sentry»Endpoint de Prueba
Sección titulada «Endpoint de Prueba»# Error de pruebacurl http://localhost:4321/api/test-sentry?type=error
# Mensaje de pruebacurl http://localhost:4321/api/test-sentry?type=message
# Excepción no capturadacurl http://localhost:4321/api/test-sentry?type=exceptionDesde el Código
Sección titulada «Desde el Código»import * as Sentry from '@sentry/astro';
// Capturar error manualmenteSentry.captureException(new Error('Error de prueba'));
// Capturar mensajeSentry.captureMessage('Mensaje importante', 'info');
// Con contexto adicionalSentry.captureException(error, { tags: { section: 'checkout' }, extra: { userId: 123 },});📈 Métricas y Rendimiento
Sección titulada «📈 Métricas y Rendimiento»Sentry también monitorea:
- Traces: 10% de las transacciones (configurable)
- Performance: Tiempos de respuesta de endpoints
- Logs: Console logs estructurados
🔔 Alertas
Sección titulada «🔔 Alertas»Configura alertas en Sentry para:
- Errores críticos
- Aumento de tasa de errores
- Errores nuevos
- Errores por usuario específico
🛠️ Troubleshooting
Sección titulada «🛠️ Troubleshooting»Sentry no captura errores
Sección titulada «Sentry no captura errores»- Verifica que
SENTRY_DSNesté configurado - Verifica que los archivos de configuración existan:
sentry.client.config.tssentry.server.config.ts
- Revisa la consola del navegador para errores
- Verifica que Sentry esté habilitado:
enabled: !!import.meta.env.SENTRY_DSN
Errores no aparecen en Sentry
Sección titulada «Errores no aparecen en Sentry»- Espera 10-30 segundos (puede haber delay)
- Verifica el rate limiting del plan
- Revisa los filtros en Sentry
- Verifica que el entorno sea correcto