Cómo configurar Sentry en Django
Clase 17 de 22 • Curso de Despliegue de Aplicaciones Python en la Nube
Contenido del curso
Configuración de Servidores en la Nube para Despliegue
- 6

Cómo elegir recursos de servidor en AWS
03:33 min - 7

Cómo crear cuenta AWS con free tier
07:17 min - 8

Crear una instancia EC2 con Ubuntu en AWS
12:44 min - 9

SSH con llave .pem en Ubuntu AWS
08:41 min - 10

Cómo gestionar Ubuntu con apt y sudo
10:13 min - 11

Cómo DNS convierte tu IP en dominio memorable
13:55 min - 12

Cómo instalar certificados SSL con Certbot
05:16 min
Administración y Optimización de Servidores para Producción
- 13

Cómo clonar Django en servidor con SSH y Deploy Keys
14:41 min - 14

Configurar uWSGI como servicio para Django
14:34 min - 15

Conectar NGINX con uWSGI por proxy reverso
04:33 min - 16

Logs específicos por aplicación en Python
11:49 min - 17

Cómo configurar Sentry en Django
Viendo ahora - 18

Variables de entorno Django en servidor
04:28 min
Integración de Servicios Complementarios para Aplicaciones Python
Automatización y CI/CD para Despliegues Python
Detecta errores sin vigilar los logs todo el día. Integra Sentry con tu proyecto Django en Python, recibe alertas por correo o Slack, y organiza tus logs en uWSGI para depurar rápido y con confianza.
¿Cómo integrar Sentry en Django de forma segura?
Sentry se integra en tu proyecto para capturar excepciones con contexto. Evitas mostrar detalles sensibles en el navegador y centralizas la información de fallos con trazas, URL, transacción y status code.
- Crea tu cuenta en sentry.io y presiona Get Started. Digita tus datos y elige dónde guardar la información: Europa o Estados Unidos. Activa si deseas recibir actualizaciones y acepta términos. Presiona Start.
- Selecciona el framework: Django. Entra en “Configurar SDK” para ver cómo instalar dependencias.
- Instala las dependencias con
pipen tu entorno virtual activo. Hazlo en el proyecto. Recomendado hacerlo en local, aunque también puedes en el servidor. - Copia la configuración sugerida al final de
settings.py. Guarda los cambios. - En
urls.py, agrega un endpoint de prueba con un error controlado: división de1/0. Así validas que Sentry recibe eventos. - Recarga tu servidor uWSGI. Visita la ruta de prueba (
sentry debug) para forzar el error y confirmar que Sentry “recibe” el evento.
¿Qué datos de error muestra Sentry?
Al abrir el evento verás detalles accionables:
- URL y transacción para ubicar la petición exacta.
- Status code devuelto por el servidor.
- Mensaje del intérprete, por ejemplo: invalid syntax en el archivo y número de línea (como la línea 30 por una coma faltante). Corrige, guarda y recarga.
¿Cómo configurar alertas efectivas?
Sentry permite activar alertas por correo y también integrarlas con Slack. Además, los mismos errores quedan en los logs del servidor si ya los tienes configurados. Así mantienes visibilidad duplicada: panel centralizado y archivos del sistema.
¿Cómo verificar errores también en los logs del servidor?
Además de Sentry, revisa tus archivos en /var/logs (por ejemplo, en uwsgi y en la app de deployment). Allí verás el rastro completo del servidor.
- Ejecuta
sudo cutsobre la ruta de logs para leer el contenido. - Identifica mensajes como invalid syntax al olvidar una coma. Verás todo lo que ocurre dentro del servidor.
- Ten presente que los archivos crecen con el uso de los usuarios. Conviene agrupar por aplicación y por fecha para mantener control y limpieza.
¿Cómo rotar y agrupar logs en uWSGI?
La rotación facilita borrar los de “X días” sin tocar los actuales.
- Edita la configuración en
etc/uwsgi/apps-enablede tu aplicación. - Agrega
logsuffixcon una expresión que añade un número por cada día al final del archivo. - Agrega
daemonizepara crear el archivo con marca de tiempo al iniciar uWSGI y al cambio de día. - Define la ruta de logs que ya usas. Guarda y realiza
restart. - Valida con
status: verás que corre y los procesos activos (por ejemplo, cuatro procesos).
¿Qué habilidades y conceptos consolidar para el monitoreo?
Domina un flujo de observabilidad que te ahorra tiempo y reduce riesgo al desplegar.
- Monitoreo de logs: lectura en
/var/logsy control de crecimiento por tráfico. - Integración de Sentry: cuenta en sentry.io, Get Started, Start y “Configurar SDK”.
- Buenas prácticas de entorno:
pip installcon el entorno virtual activado. - Configuración en Django: edición de
settings.pyyurls.pypara generar errores de prueba. - Depuración guiada: interpretación de URL, transacción, status code y mensajes como invalid syntax con línea exacta.
- Alertas operativas: notificaciones por correo y Slack para responder rápido.
- uWSGI avanzado: parámetros
logsuffixydaemonizepara rotación por día y marcas de tiempo. - Mantenimiento seguro: reinicio, validación con
statusy verificación de procesos concurrentes.
¿Quieres compartir cómo organizas tus alertas y rotación de logs en producción? Deja tus ideas y dudas para seguir mejorando juntos.