SwitchOps 交换机巡检
报告与历史数据
了解原始回显、Excel 巡检报告、失败清单、端口台账和 SQLite 历史库。
输出目录结构
每次运行按日期创建目录:
outputs/
├── history.db
└── YYYY-MM-DD/
├── raw/ # 每台设备的原始命令回显
├── reports/ # 巡检汇总和失败设备 Excel
├── queries/ # ARP、MAC、端口查询结果
└── logs/ # app.log 运行日志
同一天多次运行会复用日期目录,通过文件名中的时间戳区分报告和查询文件。每台设备的原始巡检回显文件名不包含时间戳,因此同一天再次巡检同名、同 IP 设备时会覆盖当天上一份原始回显。
原始回显
raw/ 中每台设备对应一个 TXT 文件,内容按命令分段:
============================================================
设备:核心交换机-S12704-3F-01
IP:192.168.1.1
命令:display version
时间:2026-09-04 10:30:00
============================================================
<设备原始回显>
程序会先保存原始数据,再进行汇总解析。即使部分命令执行失败或解析规则未识别新型号回显,也可以通过原始文件人工复核。
Excel 巡检汇总
主报告文件名格式:
巡检汇总_YYYY-MM-DD_HHMMSS.xlsx
巡检汇总工作表
主要字段包括:
- 巡检时间、设备名称、IP、厂商、型号、角色和位置;
- 连接状态、设备主机名、软件版本和运行时间;
- 板卡、电源、风扇和温度状态;
- CPU、内存和磁盘使用率;
- up/down 接口数量和接口错误数量;
- ARP、MAC 数量;
- 重点接口状态、异常摘要和巡检结论;
- 对应的原始回显文件路径。
第一行自动加粗,工作表冻结首行并启用筛选。列宽会根据内容自动调整,最长限制为 60。
失败设备工作表与文件
存在连接失败设备时:
- 主报告中增加“失败设备”工作表;
reports/中额外生成失败设备_YYYY-MM-DD_HHMMSS.xlsx。
失败记录会保留设备信息、友好错误原因和“异常”结论,便于二次处理。
端口台账
当 display interface brief 或对应命令成功解析出接口行时,报告会增加“端口台账”工作表,包含:
| 字段 | 说明 |
|---|---|
| 设备名称 | devices.yaml 中的名称。 |
| IP 地址 | 设备管理地址。 |
| 端口 | 从 interface brief 回显中解析的接口名。 |
| 链路状态 | up 或 down。 |
普通 down 接口会进入数量和台账,但不会仅因为 down 就自动判定设备异常;只有配置为重点接口后,DOWN 才会直接影响结论。
巡检结论
Excel 中的结论使用颜色区分:
| 结论 | 颜色 | 常见条件 |
|---|---|---|
| 正常 | 浅绿色 | 未发现达到阈值的资源异常,设备状态正常,重点接口均为 UP。 |
| 关注 | 浅黄色 | CPU/内存超过关注阈值、接口存在错误计数、部分硬件状态未知或重点接口状态未知。 |
| 异常 | 浅红色 | 连接失败、CPU/内存达到严重阈值、板卡/电源/风扇/温度异常或重点接口 DOWN。 |
默认资源判断规则:
- CPU 或内存大于
80%:关注。 - CPU 或内存大于等于
90%:异常。
阈值可以在 config/settings.yaml 中调整。解析结论适合帮助筛选,不应替代对原始回显、设备告警和监控平台的综合判断。
SQLite 历史库
启用 db_enabled 后,每次巡检结束都会把所有结果写入:
outputs/history.db
数据库使用 SQLite,无需安装独立数据库服务。写入失败只记录警告,不会阻止 Excel 报告生成。
使用 CLI 查看历史:
python cli.py trend
python cli.py trend --host 192.168.1.1 --limit 50
数据保留与备份
outputs/ 默认不提交 Git。生产使用时建议:
- 根据巡检频率制定保留周期,避免原始回显和 Excel 长期占用磁盘。
- 定期备份
history.db,备份前确保没有正在写入的巡检任务。 - 原始回显可能包含 IP、MAC、VLAN、接口描述和网络拓扑线索,应按内部运维资料保护。
- 分享 Excel 或 TXT 前先检查是否包含敏感信息。
- 归档同一天多次巡检的原始回显时,应在再次运行前复制整个日期目录,避免同名文件覆盖。