Saltar al contenido

Base de datos y API de inventario de red

Convertir el estado real de la red en una base de datos consultable por API, en lugar de hojas de cálculo que nadie actualiza.

  • Python
  • FastAPI
  • PostgreSQL
  • API REST
  • Modelado de datos

El problema

La información del parque estaba repartida entre hojas de cálculo, documentos y la memoria de quien llevaba más tiempo en el equipo. Cada fuente decía algo distinto y ninguna coincidía del todo con lo que había realmente conectado. Sin un inventario fiable, cualquier automatización que se construyera encima heredaba el error: no puedes automatizar sobre una lista de equipos que no sabes si es correcta.

Qué construí

Diseñé el modelo de datos partiendo de lo que la red podía responder por sí misma. En vez de un inventario que alguien debe mantener a mano, el esquema recoge lo que el motor de conexión masiva extrae directamente de los equipos: identificación, modelo, versión, interfaces, direccionamiento y relaciones entre dispositivos.

El punto delicado del modelado fue el histórico. Un inventario que solo guarda el estado actual responde «qué hay ahora», pero no «qué cambió desde la semana pasada», que suele ser la pregunta útil cuando algo se rompe. El esquema conserva la evolución de cada equipo en el tiempo en lugar de sobrescribir el estado anterior.

Encima monté una API REST que expone el inventario al resto de herramientas y del equipo. Eso cambió la forma de trabajar: quien necesita saber algo de la red hace una petición en vez de pedirle el archivo a un compañero, y los sistemas que consumen el inventario dejan de depender de exportaciones manuales.

La API se convirtió en la pieza central: el mapeo de topología, los scripts de configuración y las consultas del día a día leen todos del mismo sitio, así que dejaron de existir dos versiones de la verdad.

Resultado

  • Un inventario que se actualiza desde la propia red, no desde la buena voluntad de quien recuerda editarlo.
  • Histórico de cambios por equipo, útil para diagnosticar qué se modificó antes de una incidencia.
  • Acceso programático para el resto de herramientas, que dejaron de mantener sus propias copias.
  • Base sobre la que se apoyan el resto de automatizaciones del equipo.