Grafana Tempo en pymes: trazas, S3 y prueba
Tempo permite seguir una operación entre API, cola, base y pantalla. Cómo instalarlo, quién ve trazas y qué prueba evita guardar datos inútiles.
¿Qué pasó entre el clic del cliente y el error que soporte recibió once segundos después? Grafana Tempo guarda trazas: fragmentos con hora, servicio, duración y estado que muestran los pasos de una operación. El repositorio oficial grafana/tempo tenía 5.346 estrellas en GitHub al chequeo de hoy. Esta guía explica dónde vive cada traza, qué permiso la protege y cómo medir costo antes de producción.
Dónde aparece la operación que nadie puede reconstruir
El problema operativo aparece cuando logs, métricas y tickets describen partes distintas del mismo error. Un encargado de sistemas en una clínica privada de Godoy Cruz puede ver CPU normal, base rápida y tres reclamos de turnos caídos. Falta una traza que una el pedido HTTP, la consulta, el llamado al servicio externo y la respuesta final. El log llegó tarde. OpenTelemetry define una traza como un conjunto de spans con nombre, hora de inicio, fin, atributos, eventos y estado. Grafana Tempo recibe esos spans, los ordena y los deja disponibles para buscar por ID o TraceQL. La cifra de GitHub no decide la compra, pero muestra que el proyecto tiene una comunidad global suficiente para revisar errores y documentación. El antagonista concreto es el log de texto plano que solo dice "timeout". Registra el fallo y deja afuera el servicio que tardó, el usuario afectado y la consulta qué conviene repetir en una prueba.
Cómo funciona por dentro
El flujo mínimo tiene siete pasos. Primero, la aplicación genera spans con un SDK de OpenTelemetry. Segundo, el Collector recibe trazas por OTLP, las filtra y las envía a Tempo. Tercero, Tempo valida límites y acepta el lote. Cuarto, en un despliegue chico corre en modo monolítico; en una instalación mayor puede separar componentes y usar una cola compatible con Kafka. Quinto, Tempo guarda bloques en almacenamiento de objetos. Sexto, Grafana consulta trazas por ID, servicio, duración o atributo. Séptimo, el backup copia configuración y bucket; una prueba abre una traza vieja y confirma que el link desde el log sigue vivo. PostgreSQL puede guardar la relación entre ticket, usuario y trace ID cuando la aplicación ya lo registra. S3 o MinIO guarda bloques de trazas y metadatos de retención. Grafana muestra la vista de consulta y controla quién entra al panel. OpenTelemetry Collector toma spans como entrada, aplica procesadores y exporta a Tempo; si falla, la señal aparece como colas acumuladas, spans descartados o huecos por servicio. La arquitectura de Tempo distingue ingesta, almacenamiento y consulta. Esa separación evita mezclar el tablero de soporte con los archivos de largo plazo. Para una pyme, el diseño inicial debe ser chico y medible: una API, una base y una cola antes de instrumentar todo.
Qué se instala o configura primero
La primera entrega útil es una traza de punta a punta de una operación real: crear pedido, validar stock, guardar orden y mostrar confirmación. La pila mínima incluye OpenTelemetry SDK, OpenTelemetry Collector, Grafana Tempo, Grafana, almacenamiento S3 compatible y un job que borre trazas vencidas. Una VM de 4 vCPU y 8 GB más almacenamiento puede costar entre USD 45 y USD 90 por mes, es decir $67.275 a $134.550 al tipo de cambio de esta corrida; el monto no incluye horas de instrumentación ni guardias. El tiempo razonable es de dos a tres semanas para una primera operación. UMSA puede aplicarlo en PSICOLE, logística o soporte técnico cuando un error cruza aplicación, base y servicio externo. La regla práctica es instrumentar una ruta que duela, no llenar la infraestructura de spans sin dueño. El primer entregable verificable tiene cuatro piezas: un trace ID visible en el log de la aplicación, una consulta en Grafana, una política de retención escrita y una restauración de bucket que permita abrir una traza de prueba.
Dónde se rompe y cómo probarlo
El primer riesgo es guardar datos sensibles en atributos. La señal aparece cuando una traza muestra DNI, token o diagnóstico donde solo debía quedar un identificador interno. La prueba revisa diez trazas y busca patrones de documento, correo y secreto antes de liberar producción. El segundo riesgo es la retención sin cuenta. La señal es un bucket que crece todos los días sin fecha de borrado. La prueba carga tráfico sintético durante una hora, mide tamaño por traza y proyecta costo mensual con el volumen real. El tercer riesgo es el muestreo mal elegido. La señal llega cuando un error raro no deja traza. La prueba fuerza cinco errores conocidos y confirma que cada uno queda consultable con el mismo ID qué aparece en soporte. El cuarto riesgo es permiso excesivo en Grafana. La señal es un usuario de soporte leyendo atributos de producción completos. La prueba crea roles separados para soporte, sistemas y gerencia; cada rol abre solo paneles y trazas autorizadas. Tempo sirve cuando el equipo acepta una disciplina: cada traza cuesta bytes, cada atributo debe tener dueño y cada consulta debe ayudar a reparar una operación concreta.
Para seguir leyendo
Para avanzar
Ver también
Continuá hacia capacidades técnicas, sectores o notas relacionadas.