Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monitor de Red para Interior de Mina

Sistema de monitoreo de comunicaciones para operaciones mineras subterráneas. Hace ping periódico a los equipos de red de cada nivel de la mina, registra incidencias automáticamente cuando un equipo deja de responder, y documenta el tendido de fibra óptica (ODF, troncales e hilos con colores TIA-598).

Este sistema nació de una necesidad real: diagnosticar y vigilar la red de interior de una mina en producción sobre los 4,000 m s. n. m., donde un switch caído significa comunicaciones críticas interrumpidas. Los datos sembrados en este repositorio son de ejemplo; los detalles de la operación real se omiten por confidencialidad.

Dashboard en vivo

Dashboard con monitoreo en tiempo real: disponibilidad, estado por nivel e historial de pings.

Mapa de topología

Mapa de topología SVG que se colorea en vivo según el estado de cada equipo.

Características

  • Monitoreo automático: hilo en segundo plano que hace ping a todos los equipos activos cada 60 segundos y guarda el historial en SQLite.
  • Incidencias automáticas: cuando un equipo deja de responder se abre una incidencia con fecha y hora; cuando vuelve, se cierra sola. Nadie tiene que estar mirando la pantalla.
  • Dashboard en vivo: estado por nivel, porcentaje de disponibilidad, gráficos históricos y mapa de topología SVG que se pinta según el estado real de cada equipo.
  • Documentación de fibra óptica: registro de troncales, buffers e hilos con colores normalizados al estándar TIA-598 (con normalización de sinónimos: "Café" → "Marrón"), ODF y puntos de empalme.
  • Gestión desde el dashboard: altas, bajas y edición de niveles y equipos sin tocar la base de datos.

Stack

Componente Tecnología
Backend / API Python 3.12 · FastAPI
Base de datos SQLite (cero dependencias de servidor — pensado para correr en campo)
Monitor Hilo en segundo plano con ping del sistema (Linux y Windows)
Frontend HTML/CSS/JS de una sola página, servido por el propio backend

Instalación

python3 -m venv venv
source venv/bin/activate          # En Windows: venv\Scripts\activate
pip install -r requirements.txt

Configuración

Copia .env.example a .env y ajusta los valores:

cp .env.example .env
Variable Descripción
API_KEY Protege las escrituras (POST/PATCH/DELETE). Vacío = sin auth (dev).
CORS_ORIGINS Orígenes permitidos, separados por coma. Vacío = solo localhost.

En producción define siempre API_KEY. El dashboard la pedirá una vez y la guardará en el navegador. Sin ella, cualquiera en la red puede borrar equipos y fibras.

Uso

cd backend
../venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000

Abre http://localhost:8000 — el dashboard carga con datos de ejemplo (2 niveles, switch y AP por nivel) para que puedas explorarlo de inmediato. Registra tus propios niveles y equipos desde la interfaz.

Mapa de topología

La pestaña Topología Mapa muestra frontend/topologia.svg y colorea en vivo los elementos con id svg-node-switch y svg-node-ap según respondan al ping. Reemplaza ese archivo por el diagrama de tu propia red manteniendo esos ids.

Tests

venv/bin/python backend/test_colores.py

Cubre la normalización de colores de fibra (TIA-598) y el borrado de buffers con datos heredados sin normalizar.

Licencia

MIT — Abel López Torres

About

Monitoreo de red para minería subterránea: ping por niveles, incidencias automáticas y documentación de fibra óptica TIA-598 (FastAPI + SQLite)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages