Nombre: Jahziel Amado López Angulo
Número de Control: 22211593
GitHub: Jahziel43
Instalar y configurar un stack de monitoreo IoT en Ubuntu Server.
Conectar el servidor y dispositivos personales mediante Tailscale VPN.
Inyectar datos RAW simulados en InfluxDB.
Crear dashboards académicos en Grafana combinando datos de InfluxDB (IoT) y Prometheus (infraestructura).
- EC2 conectada a la red Tailscale con
--hostname=dashboard-server. - Laptop y celular añadidos correctamente a la red.
- Acceso validado en el panel web de administración.
📸 Evidencia: Captura de pantalla del panel de administración de Tailscale mostrando los tres nodos conectados y el nombre del nodo dashboard-server.

- Repositorio agregado con claves GPG en
trusted.gpg.d. - Servicio habilitado y en ejecución.
- Organización
iot-laby bucketsensorescreados. - Token de escritura generado.
📸 Evidencia: Captura de pantalla de la interfaz web de InfluxDB (http://100.99.60.115:8086) mostrando:
- Organización
iot-laby bucketsensorescreados
- Token visible/copied

- Captura de la interfaz web de InfluxDB (
http://100.99.60.115:8086).
- Prometheus instalado en versión LTS (
3.5.0ARM64 ya que mi EC2 no manejaba el AMD64). prometheus.ymlconfigurado conscrape_interval: 5s.- Node Exporter instalado, escuchando en
:9100. - Servicios habilitados con systemd.
📸 Evidencia:
systemctl status prometheusen estadoactive (running).
systemctl status node_exporteren estadoactive (running).
- Captura de la interfaz web y métricas de Node Exporter (
http://100.99.60.115:9100).

- Captura de la interfaz web de Prometheus (
http://100.99.60.115:9090).
- Grafana OSS instalado y habilitado como servicio systemd.
- Acceso vía Tailscale (
http://100.99.60.115:3000). - Datasource InfluxDB configurado con token, org y bucket.
- Datasource Prometheus configurado en
http://localhost:9090.
📸 Evidencia:
- Captura de la página de inicio de Grafana (
admincon password cambiado).

- Captura del panel de configuración de Grafana mostrando ambos datasources activos.

- Script Python (
simulador.py) ejecutándose en EC2. - Genera datos aleatorios de temperatura (18–30 °C) y humedad (40–70 %).
- Inserta en InfluxDB cada 5 segundos.
📸 Evidencia:
- Captura de la terminal con la salida
Enviado: temp=XX.XX, hum=YY.YY.
- Captura en InfluxDB del bucket
sensoresmostrando los registros.
- Panel para Temperatura desde InfluxDB.
- Panel para Humedad desde InfluxDB.
- Panel para CPU desde Prometheus (
node_cpu_seconds_total). - Panel para Memoria desde Prometheus (
node_memory_MemAvailable_bytes).
📸 Evidencia:
✍️ Explicación:
-
¿Por qué es útil Tailscale en este escenario?
Tailscale permite conectar nodos de manera segura mediante VPN sin necesidad de abrir puertos públicos en la nube. Esto simplifica el acceso remoto y evita riesgos de seguridad al no exponer servicios sensibles en Internet. -
Diferencia entre las métricas de IoT (InfluxDB) y las métricas de sistema (Prometheus/Node Exporter):
- Métricas IoT (InfluxDB): provienen de sensores o simulaciones, son datos de dominio específico (ej. temperatura, humedad, presión). Están orientados a la aplicación o al fenómeno que se monitorea.
- Métricas de sistema (Prometheus/Node Exporter): describen el estado de la infraestructura subyacente (CPU, memoria, red, disco). Se enfocan en la salud y desempeño del servidor.
- Capturas de pantalla descritas en cada sección.
- Código
simulador.pyadjunto en este gist. - Dashboard en Grafana funcionando con datos combinados.
