Arquitectura y componentes principales
Sentry autoadministrado funciona como un sistema centralizado de registro y depuración de anomalías, optimizado para escenarios de prueba o cargas operativas reducidas. La base técnica del proyecto descansa sobre el runtime de Python, orquestación mediante Dockerfile y automatizaciones escritas en Bash.
Flujo de despliegue y gestión de variables de entorno
Para inicializar la instancia correctamente, aplique esta secuencia operativa verificando previamente que el intérprete Python supere la versión 3.8:
- Obtenga el código fuente desde el repositorio oficial:
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Genere un archivo de configuración aislado lllamado vars.conf. Se recomienda aplicar una nomenclatura estructurada para evitar colisiones con variables del sistema:
# Endpoint principal del gateway web
SENTRY_BASE_URL=http://127.0.0.1:9000
# Token simétrico para firma de solicitudes JWT
SENTRY_CRYPTO_SIGNING_KEY=xK9pL2mQ7wR4vBnJ1cT6yU0iO8aZsDfG
# Cadena de conexión al almacén relacional
DATABASE_BACKEND_CONN=postgresql://pgadmin:secure_pass@localhost:5432/sentry_db
Elevé los permisos de ejecución y lance el daemon con el perfil cargado:
chmod +x bin/sentry
bin/sentry start --config=./vars.conf
Integración del subsistema de notificaciones SMTP
Para habilitar alertas por correo, modifique el descriptor de configuración añadiendo los parámetros de transporte. Mantenga la jerarquía lógica separando host, puertos y credenciales:
# Servidor relay externo
SMTP_RELAY_HOST=correo.empresa.net
SMTP_RELAY_PORT=587
# Identificador para remitentes automáticos
NOTIFICATION_SENDER=monitoring@empresa.net
NOTIFICATION_AUTH_PASS=contraseña_servicio
# Control de capa de transporte
ENABLE_STARTTLS=true
SKIP_CERT_VERIFICATION=false
Tras persistir los cambios, ejecute la recarga planificada del módulo de correos sin interrumpir la estabilidad de otros contenedores:
docker compose exec sentry sentry exec celery -A sentry.tasks.mail worker restart
Gestión de versiones y sincronicidad de esquemas
Cada actualización implica transformar la estructura de tablas existentes. Ejecute la herramienta de mapeo con trazabilidad activada:
sentry upgrade --log-level=DEBUG --output-report=db_sync_trace.log
Si el proceso retorna violaciones de integridad referencial o bloqueos por transacciones pendientes, inspecte el reporte generado. Normalmente se debe a índices fragmentados o restricciones de foreign key desactualizadas. Aplique VACUUM FULL en PostgreSQL y valide que el usuario de conexión disponga de privilegios ALTER antes de reiniciar la migración.