Configuración de logging y Sentry para monitoreo en producción
Clase 9 de 17 • Curso de Python Profesional: Arquitectura de Proyectos, Entornos y PyPI
La confiabilidad en producción depende de una observabilidad sólida. Aquí verás cómo aplicar logging estructurado, aprovechar los niveles de log y conectar Sentry para monitorear errores en tiempo real, tal como se hace en Platzi News. Con estas prácticas podrás diagnosticar fallas, auditar acciones y entender el rendimiento sin adivinar.
¿Qué es observabilidad y cómo mejora producción?
La observabilidad es la capacidad de entender qué ocurre dentro de una aplicación en producción. Incluye logging, métricas y monitoreo de errores. El logging registra eventos clave: operaciones normales y pasos críticos. Ayuda a diagnosticar problemas, monitorear rendimiento, auditar acciones de usuarios y comprender el comportamiento del sistema en tiempo real.
¿Qué niveles de log usar y cuándo?
Los niveles empiezan en debug y terminan en critical. Elegir el nivel define qué mensajes quedan registrados.
- debug: detalles de depuración muy específicos. Muestra más contexto.
- info: flujo normal de la app. Incluye info, warning, error y critical.
- warning: situaciones no críticas que requieren atención. No incluye info ni debug.
- error: fallas recuperables que afectan funcionalidades.
- critical: errores severos que requieren acción inmediata.
Cuando se habilita un nivel en servidores, se busca el balance entre utilidad y ruido. Por eso, no se incluye debug al usar info, y en warning no se incluyen info ni debug. Evita saturar almacenamiento con mensajes innecesarios.
¿Cómo mejorar legibilidad con colores en consola?
Platzi News usa console de Reach para colorear salidas y hacerlas más legibles.
- Mensajes personalizados con colores como “yellow”.
- Estilos como “boldblue” para resaltar información.
- Enlaces clicables en consola cuando aplica.
Úsalo para distinguir estados: por ejemplo, “no se encontraron artículos” en “yellow”.
¿Cómo aplicar logging en Platzi News paso a paso?
Platzi News ya tiene logging implementado y permite elegir log level al ejecutarse. Así se valida el comportamiento en producción y se ajusta la verbosidad según la necesidad.
¿Qué observar con info y debug?
- Ejecuta con info para ver el flujo normal. Ejemplo: búsqueda de “tecnología” en news API muestra “searching for tecnología”.
- Ejecuta con debug para ver detalles adicionales. Ejemplo: “fetching articles” y los request de HTTPS que se realizan.
- Al no especificar nivel, se muestra solo el resultado. Tenlo presente en entornos de usuario final.
Buenas prácticas clave:
- Evita usar print para depurar. Usa el logger con niveles correctos.
- Elimina print temporales que ignoran el nivel configurado.
- Estandariza mensajes para rastrear el flujo de ejecución.
¿Cómo integrar Sentry para monitoreo de errores?
Sentry centraliza errores y logs en un dashboard. Permite ver tracebacks, variables en contexto y detalles del entorno para resolver más rápido.
¿Cómo crear cuenta e instalar el SDK?
- Ingresa y selecciona “get started”. Crea tu cuenta y completa el onboarding con “Start”.
- Elige la plataforma: Python. No selecciones framework si no aplica.
- Pulsa “Configurar SDK” y ajusta el comando al gestor usado, por ejemplo V.
- Copia el comando, instálalo y verifica que el SDK esté agregado en el proyecto.
- Inserta la configuración provista, con tu API y datos de conexión, en el archivo de configuración de Platzi News. Mueve los import a la parte superior para evitar errores.
¿Cómo probar y leer errores con Sentry?
-
Provoca un error controlado: una división por cero. Por ejemplo:
-
1/0 para generar el fallo intencional.
-
Ejecuta una búsqueda conocida y verifica que Sentry reciba el evento.
- Abre el error desde el botón del dashboard y revisa el traceback: verás la ruta de ejecución desde el comando hasta el archivo de configuración.
- Observa variables disponibles en el scope. Esto ayuda a validar casos y encontrar causas reales.
- Usa “Copiar a Clipboard” para llevar el reporte a un editor y, si lo deseas, compartirlo con una IA que te asista en el análisis.
- Configura alertas por correo para recibir notificaciones cuando aparezcan nuevos errores en producción.
Alternativas a considerar según necesidades y costos: Glitchtip, una opción de código abierto que puedes alojar en tus propios servidores.
¿Tienes otra herramienta o un flujo de alertas efectivo? Compártelo en los comentarios para aprender en conjunto.