SwitchOps 交换机巡检

图形界面使用

使用 SwitchOps GUI 加载设备、批量巡检、查询 ARP/MAC/端口并查看输出。

启动 GUI

源码运行:

python main.py

Windows EXE 部署后,可以直接双击:

SwitchOps巡检工具.exe

GUI 默认窗口标题为“院内交换机自动化巡检工具”。程序启动后不会自动连接设备,需要先加载设备清单。

界面区域

区域用途
配置文件栏浏览并选择 devices.yaml,加载设备清单。
设备列表显示名称、IP、厂商、型号、角色、位置和启用状态。
过滤框按设备名称或 IP 过滤当前列表。
巡检操作区全量巡检、巡检选中设备、停止任务。
查询操作区选择单台设备并查询 ARP、MAC 或接口。
进度区显示已完成、成功、失败和总数。
运行日志展示连接、命令执行、保存文件和错误信息。
状态栏显示当前任务以及最近生成的报告或查询文件。

双击设备列表中的某一行,可以查看该设备的详细配置摘要。界面不会显示账号密码。

加载设备清单

  1. 点击顶部“浏览”。
  2. 选择真实的 config/devices.yaml。
  3. 点击“加载设备”。
  4. 检查加载数量和启用数量。
  5. 确认设备名称、IP、厂商、型号和位置无误。

加载完成后,所有 enabled: true 的设备默认被勾选。可以使用“全选”“取消全选”或点击列表第一列的复选标记调整范围。

如果加载失败,通常是文件不存在、YAML 缩进错误或必填字段缺失。详细信息会同时显示在弹窗和日志区。

全量巡检

点击“一键巡检全部”,程序会巡检清单中所有 enabled: true 的设备。

巡检过程会按照 settings.yaml 的并发数执行。每台设备完成后,进度条和成功/失败计数会更新。全部完成后会弹出结果摘要,并显示 Excel 报告位置。

设备较多时,建议先使用少量测试设备验证账号权限、命令兼容性和报告解析,再执行全量巡检。

巡检选中设备

  1. 在设备列表第一列勾选目标设备。
  2. 确认禁用设备不会被选入。
  3. 点击“巡检选中设备”。
  4. 等待进度完成并打开报告。

这适合故障复查、单区域巡检或新设备接入验证。

停止任务

点击“停止任务”后,程序会发出软停止信号:

  • 已经开始连接或执行命令的设备会先完成当前巡检。
  • 尚未开始执行的设备会标记为未巡检。
  • 最终仍会生成报告,便于确认哪些设备已经完成。

软停止不是强制断开 SSH,因此点击后可能需要等待一段时间,最长等待时间受连接和命令超时设置影响。

ARP 查询

  1. 在右侧“查询设备”中选择一台启用设备。
  2. “关键字”可以留空,也可以填写 IP、VLAN 或接口等过滤内容。
  3. 点击“查询 ARP”。

程序执行设备对应的 ARP 查询命令。关键字过滤发生在本地,只保留包含关键字的回显行,不会改变发送到交换机的命令。

MAC 查询

  1. 选择查询设备。
  2. 可选填写 VLAN、MAC 地址片段或接口名作为关键字。
  3. 点击“查询 MAC”。

例如填写 Vlan10 后,只显示原始 MAC 地址表中包含 Vlan10 的行。

端口查询

  1. 选择查询设备。
  2. 在“端口”中填写完整接口名,例如 GigabitEthernet2/0/7。
  3. 可选填写关键字。
  4. 点击“查询端口”。

接口名称为空时,GUI 会阻止查询。名称是否有效由目标交换机判断。

查看和保存查询结果

查询完成后会打开独立结果窗口,同时将完整或过滤后的结果保存到当天的 queries/ 目录。例如:

outputs/2026-09-04/queries/
├── ARP查询_核心交换机_2026-09-04_103000.txt
├── MAC查询_核心交换机_2026-09-04_103200.txt
└── 端口查询_核心交换机_GigabitEthernet2-0-7_2026-09-04_103500.txt

文件名中的 / 等 Windows 非法字符会自动替换为 -。

打开输出目录

点击“打开输出目录”会打开:

  • 最近一次报告所在的日期目录;或
  • 当前运行已经创建的日期目录;或
  • 尚未运行任务时的默认 outputs 目录。