Lo que vas a aprender en este TP
- Conectar un logger existente a OpenTelemetry
- Correlacionar logs y trazas
- Recoger archivos con filelog
Introducción #
Lo que vas a aprender en esta sección
- Conectar un logger existente a OpenTelemetry
- Correlacionar logs y trazas
- Recoger archivos con filelog
Contexto. Los logs de facturación son archivos de texto que nadie vincula con las trazas. Conectas el servicio moderno a OpenTelemetry y recoges los logs de la aplicación heredada sin modificarla.
Requisitos previos: Docker y Python 3.10 o superior; la pila grafana/otel-lgtm (Collector, Tempo, Loki, Prometheus, Pyroscope y Grafana en un solo contenedor) · Duración estimada: 45 min
Puesta en práctica #
Pasos guiados, con su corrección.
1. Arrancar la pila de observabilidad
¿Por qué? Una sola imagen proporciona un Collector OTLP y todos los backends: nos centramos en la señal.
Lanzagrafana/otel-lgtm, crea un entorno Python y apunta los exportadores al puerto OTLP/HTTP 4318.2. Conectar el módulo logging
¿Por qué? El LoggingHandler convierte cada llamada a logging en un LogRecord de OpenTelemetry, con el contexto de traza activo.
Escribefacturation.py: un LoggerProvider con exportador OTLP, un handler añadido al logger raíz, un TracerProvider y logs INFO y ERROR emitidos dentro de spans.3. Consultar y correlacionar en Grafana
¿Por qué? El trace_id que lleva cada log permite pasar del log a la traza y viceversa.
En Explore > Loki, muestra los errores del servicio, despliega una línea y localizatrace_id,span_id, la severidad y tus atributos. Abre la traza vinculada y, desde un span de Tempo, muestra sus logs.4. Recoger los logs de una aplicación heredada
¿Por qué? Sin tocar el código, el receiver filelog lee los archivos y analiza el JSON, la severidad y el contexto de traza.
Genera un archivo de logs JSON y lanza un Collector contrib en la misma red que la pila, confilelog,json_parser,trace_parsery un procesadorresourceque fijeservice.name.5. Reducir y enmascarar
¿Por qué? El Collector elimina el ruido y los datos personales antes del almacenamiento.
Añade un procesadorfilterque elimine los logs INFO y untransformque enmascare las direcciones de correo en el cuerpo y compruébalo en Loki.
Nivel de dificultad : ●●●○○ (3/5)
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
Artículos recomendados
Les logs avec OpenTelemetry : modèle de données, appenders, corrélation et collecte
Maîtriser le signal log : modèle de données LogRecord, Logs Bridge API et appenders (Logback, Log...
Grafana Alloy: Perfilado Continuo con Pyroscope
Descubra cómo configurar el perfilado continuo (Continuous Profiling) en sus entornos utilizando ...