Stack TIG
TIG es el stack de monitoreo IoT más popular en laboratorios, proyectos académicos y empresas medianas. Combina tres herramientas de código abierto que se integran perfectamente y cubren todo el pipeline de datos.
T elegraf → I nfluxDB → G rafana(recolecta) (almacena) (visualiza)Los tres componentes
Sección titulada «Los tres componentes»Telegraf — El agente recolector
Sección titulada «Telegraf — El agente recolector»Telegraf es un agente de recolección de métricas desarrollado por InfluxData. Corre como un proceso en segundo plano y recopila datos de prácticamente cualquier fuente.
Características clave:
- Más de 300 plugins de entrada (MQTT, HTTP, Modbus, GPIO, bases de datos, APIs de nube, archivos, etc.)
- Más de 50 plugins de salida (InfluxDB, Prometheus, Kafka, archivos, etc.)
- Configuración declarativa con un archivo
.conf(formato TOML) - Muy bajo consumo de recursos (~20 MB de RAM)
- Transformaciones de datos antes de enviarlos (filtros, etiquetas, conversiones de unidades)
Ejemplo de flujo Telegraf:
[Sensor MQTT] ──→ [inputs.mqtt_consumer] ──→ [outputs.influxdb_v2] ──→ [InfluxDB][CPU del host] ──→ [inputs.cpu] ──→[Disco] ──→ [inputs.disk] ──→InfluxDB — La base de datos de series de tiempo
Sección titulada «InfluxDB — La base de datos de series de tiempo»InfluxDB es una base de datos diseñada específicamente para series de tiempo. La versión 2.x incluye su propio lenguaje de consulta llamado Flux y una UI web integrada.
Conceptos de InfluxDB:
| Concepto | Equivalente SQL | Descripción |
|---|---|---|
| Bucket | Base de datos | Contenedor de datos con política de retención |
| Measurement | Tabla | Nombre lógico del dato (ej: temperatura) |
| Field | Columna de valor | El dato numérico en sí (ej: value: 23.5) |
| Tag | Columna indexada | Metadato para filtrar/agrupar (ej: sensor: "ESP32-01") |
| Timestamp | — | Siempre presente, es el eje del tiempo |
Ejemplo de punto de datos:
temperatura,sensor=ESP32-01,ubicacion=sala value=23.5 1706745600000000000│ │ │ │measurement tags (indexados) field timestamp (nanosegundos)Características clave:
- Retención automática de datos (configurable por bucket)
- Downsampling: reducir la resolución de datos antiguos para ahorrar espacio
- UI web en
http://localhost:8086para explorar datos y escribir consultas Flux - API HTTP para escritura y consulta desde cualquier lenguaje
Grafana — La capa de visualización
Sección titulada «Grafana — La capa de visualización»Grafana es la plataforma de visualización y observabilidad más popular del mundo open source. Se conecta a más de 100 fuentes de datos distintas.
Características clave:
- Miles de dashboards preconstruidos en grafana.com/grafana/dashboards (importables por ID)
- Soporte para múltiples fuentes de datos simultáneas en un mismo dashboard
- Sistema de alertas integrado con soporte para email, Slack, Telegram, PagerDuty, webhooks y más
- Anotaciones: marca eventos en las gráficas (ej: “se reinició el servidor”)
- Gestión de usuarios y permisos (teams, organizaciones)
- Plugins de paneles: gauge, stat, mapa de calor, mapa geográfico, tabla, etc.
Arquitectura y flujo de datos
Sección titulada «Arquitectura y flujo de datos»┌─────────────────────────────────────────────────────────┐│ RED DOCKER ││ ││ [Sensor IoT] ││ │ MQTT ││ ▼ ││ ┌─────────┐ métricas ┌──────────┐ Flux query ││ │Telegraf │ ───────────→ │ InfluxDB │ ←───────────── ││ └─────────┘ └──────────┘ ││ ▲ ││ │ query ││ ┌─────────┐ ││ │ Grafana │ ││ └─────────┘ ││ │ │└──────────────────────────────────────────────┼──────────┘ │ http://localhost:3000 [Tu navegador]Ventajas del stack TIG
Sección titulada «Ventajas del stack TIG»- Madurez y comunidad: Grafana + InfluxDB tienen más de 10 años de desarrollo activo y millones de usuarios
- Dashboards listos para usar: importar un dashboard con ID desde grafana.com lleva menos de 1 minuto
- Telegraf cubre casi todo: con 300+ plugins, prácticamente cualquier fuente de datos tiene soporte
- Escalable: funciona desde una Raspberry Pi hasta clústeres de producción
- Multi-fuente en Grafana: puedes mezclar datos de InfluxDB, Prometheus, MySQL y más en un dashboard
- Alertas sin herramientas adicionales: Grafana incluye un motor de alertas completo
- Bajo consumo base: el stack completo corre en ~500 MB de RAM
- Documentación extensa: miles de tutoriales, videos y foros disponibles
Desventajas del stack TIG
Sección titulada «Desventajas del stack TIG»- Curva de aprendizaje de Flux: el lenguaje de consulta Flux de InfluxDB 2.x es poderoso pero diferente a SQL; requiere tiempo de adaptación
- Configuración de Telegraf: el archivo
telegraf.confpuede volverse complejo para fuentes de datos avanzadas - Grafana no persiste datos: si InfluxDB falla, Grafana no puede mostrar nada; no hay capa de caché
- InfluxDB 2.x vs 1.x: hay dos versiones incompatibles con diferente sintaxis (InfluxQL vs Flux), lo que puede generar confusión
- Telegraf no tiene interfaz gráfica: toda la configuración es por archivo de texto
- No apto para principiantes absolutos: requiere entender al menos la estructura básica de Docker y TOML
¿Cuándo usar TIG?
Sección titulada «¿Cuándo usar TIG?»TIG es la mejor elección cuando:
- Necesitas almacenar datos de sensores a largo plazo (días, meses, años)
- Quieres dashboards profesionales con múltiples paneles y fuentes de datos
- Tu equipo tiene experiencia básica con Docker y configuración de servicios
- Necesitas alertas integradas sin herramientas adicionales
- Manejas múltiples tipos de fuentes de datos (MQTT, HTTP, Modbus, archivos)
- El proyecto tiene más de 1–2 personas trabajando en él
Considera otras opciones si:
- Eres principiante absoluto → empieza con Node-RED
- Necesitas alertas muy complejas y procesamiento de streams → considera TICK
- Trabajas con Kubernetes o cloud-native → considera TPG o VictoriaMetrics
Tutorial
Sección titulada «Tutorial»Aprende a levantar el stack TIG paso a paso en el Tutorial TIG Stack.