Ir al contenido

¿Qué es un Stack de Monitoreo IoT?

Un stack de monitoreo IoT es un conjunto de herramientas de software que trabajan en cadena para resolver el problema completo de:

  1. Recolectar datos de dispositivos y sensores
  2. Almacenar esos datos de forma eficiente a lo largo del tiempo
  3. Visualizar los datos en dashboards
  4. Alertar cuando algo sale de lo normal

Cada herramienta del stack hace una cosa muy bien, y juntas forman un pipeline completo desde el sensor hasta la pantalla.


┌─────────────────────────────────────────────────────────────────┐
│ PIPELINE DE DATOS IoT │
│ │
│ [Sensor] → [Recolector] → [Base de datos] → [Dashboard] │
│ │ │ │ │
│ Telegraf / InfluxDB / Grafana / │
│ Node-RED TimescaleDB Node-RED │
│ │ │
│ [Alertas] │
└─────────────────────────────────────────────────────────────────┘

Es el agente que obtiene datos de las fuentes y los envía a la base de datos.

Funciones:

  • Escuchar mensajes MQTT de sensores
  • Consultar APIs HTTP
  • Leer métricas del sistema (CPU, RAM, disco)
  • Hacer polling a dispositivos Modbus u OPC-UA
  • Transformar y normalizar los datos antes de almacenarlos

Herramientas más usadas: Telegraf, Node-RED, Logstash, Fluentd, Vector

Base de datos de series de tiempo (Time-Series Database)

Sección titulada «Base de datos de series de tiempo (Time-Series Database)»

Las bases de datos convencionales (MySQL, PostgreSQL) no están optimizadas para el patrón de IoT: millones de puntos pequeños ordenados por tiempo, con consultas como “dame el promedio de temperatura de los últimos 7 días, agrupado por hora”.

Las bases de datos de series de tiempo están diseñadas exactamente para esto:

CaracterísticaBase de datos convencionalBase de datos de series de tiempo
Optimizada paraTransacciones, JOINsInserciones masivas por tiempo
CompresiónGenéricaAlta — datos similares se comprimen muy bien
Consultas temporalesWHERE timestamp BETWEEN...`
Retención de datosManualPolíticas automáticas (ej: borrar datos >1 año)
EscalabilidadVerticalHorizontal / sharding temporal

Herramientas más usadas: InfluxDB, TimescaleDB, Prometheus, VictoriaMetrics, QuestDB

Presenta los datos almacenados en forma de gráficas, medidores, tablas y mapas. También gestiona alertas.

Funciones:

  • Conectarse a una o varias fuentes de datos
  • Construir paneles con gráficas de líneas, gauges, mapas de calor, etc.
  • Definir alertas con condiciones y canales de notificación
  • Gestionar acceso de usuarios a los dashboards

Herramientas más usadas: Grafana, Chronograf, Kibana, Node-RED Dashboard

Broker de mensajería (opcional pero muy común)

Sección titulada «Broker de mensajería (opcional pero muy común)»

En arquitecturas IoT reales, los sensores no envían datos directamente al recolector — usan un broker MQTT como intermediario. Esto desacopla los productores de datos (sensores) de los consumidores (recolector, dashboard).

[Sensor A] ──→ │ │ ──→ [Telegraf]
[Sensor B] ──→ │ Mosquitto│ ──→ [Node-RED]
[Sensor C] ──→ │ (broker) │ ──→ [App móvil]

Herramientas más usadas: Eclipse Mosquitto, EMQX, HiveMQ


La filosofía “una herramienta, una responsabilidad” tiene varias ventajas:

  • Reemplazabilidad: puedes cambiar Grafana por Chronograf sin tocar la base de datos
  • Escalabilidad independiente: si la base de datos se satura, la escala sin afectar el dashboard
  • Especialización: cada herramienta está optimizada para su rol específico
  • Comunidad: herramientas especializadas tienen ecosistemas más ricos (plugins, dashboards, integraciones)

StackRecolectorBase de datosDashboard
TIGTelegrafInfluxDBGrafana
TICKTelegrafInfluxDBChronograf + Kapacitor
Node-REDNode-RED(en memoria / InfluxDB)Dashboard 2.0
AlternativasTelegraf / LogstashPrometheus / TimescaleDB / ElasticsearchGrafana / Kibana

Cada uno tiene sus fortalezas. La comparativa te ayuda a elegir el más adecuado para tu proyecto.