一、 引言
作为一名网络工程师,你是否也经历过这些“崩溃瞬间”:
入职第一天:面对几百台设备,手里只有一份三年前的拓扑图,对不上号。
链路调整后:加班手动改 Visio,改完发现接口 A 接到了 B,还得重画。
排查故障时:全凭脑补设备连接关系,跳板机跳来跳去,晕头转向。
难道我们就不能像玩游戏开地图一样,一键点亮全网拓扑吗?
在网络运维日常工作中,拓扑图是我们的“地图”。但随着设备更迭和链路调整,手动绘制拓扑不仅效率低下,且准确性难以保证。
今天,分享的是如何基于 Python + FastAPI + v-network-graph 构建一个全网拓扑自动发现功能,实现从“设备采集”到“前端可视化”的全链路自动化。
在网络巡检工具的基础上,新增了全网拓扑自动发现功能
二、 这个项目,凭什么能“一键开图”?
这个基于 Python + FastAPI + Vue3 开发的自动化项目,彻底解决了“拓扑绘制难”的问题。
1. 它是真正的“动态地图”
它不是静态的图片,而是直接通过 SSH 深入一线,找设备要答案。支持华为、华三等多厂商混合环境,自动下发 LLDP 指令。
2. 它有一双“火眼金睛”
不管回显是全称 Neighbor Interface 还是缩写 Neighbor Intf,内置的智能表头解析引擎都能精准锁定关键数据。
3. 它是“细节控”
图标差异化:路由器就该像路由器,交换机不再只是个圆点。
物理链路去重:自动识别双向链路,只保留最真实的接口信息,告别冗余线条。
安全可靠:采用高强度 AES 加密存储设备凭证,运维安全两不误。
三、 使用前提(重要!)
要成功运行此功能,请确保您的网络环境满足以下“四大支柱”:
1. 协议开启:LLDP 必须就绪
LLDP(链路层发现协议)是拓扑发现的基石。
2. 命名一致性
这是最容易忽略的一点!
首先,在添加设备时,要将设备名称与设备本地的 sysname名字保持一致,不然项目的回显无法一一对应。
五、 结语
自动化运维不是为了消灭工作,而是为了让我们从无意义的“画图、登录、查询”中解放出来,去思考更高价值的架构设计。
如果你也对自动化运维、网络编程、Vue3 实战感兴趣,这个项目绝对不容错过!
想要亲自动手部署,或者直接抄作业吗?
👇 源码获取方式:
关注本公众号
在公众号后台回复关键字:【网络运维】
即可获取包含 Python SNMPv3 底层破解逻辑 + Vue3 悬浮动态网格的完整开源代码及避坑指南!
如果你觉得这篇硬核干货对你的日常运维有启发,别忘了点个*「在看」和「赞」**!也欢迎把文章转发进你的网管技术交流群。你在采集全网 MAC 地址时还踩过什么坑?我们在评论区聊聊!*