Skip to content

Releases: Yata-Datacom/Network-Device-Server-Inspection-Tool-GUI-Edition

v5.2.2 —— 连接更稳 + 采样快约 6 倍

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 18 Sep 07:25

v5.2.2 —— 连接更稳 + 采样快约 6 倍

修的真实故障

  • 连接通道必释放:channel.close() 原来只在成功路径执行,命令报错 / 超时 / 被「停止」时通道不释放
    → 设备 VTY 会话被挂住(实测挂了 3 小时),后续再连同一台设备就被回 Unable to open channel。
    现改为 finally 必关 + 通道读超时兜底。
  • 瞬时故障自动重试一次:「通道被拒 / 被掐 / 超时」→ 换新连接、隔 2.5 秒重试一次;
    认证失败等确定性错误不重试(避免无谓撞库)。
  • 报错翻中文:Unable to open channel → 提示“密码是对的,是设备侧会话被占满”
    (常见于同时开了两个工具实例 / 上一轮连接未释放),并给出下一步怎么做。

性能

  • 采样提速约 6 倍:原来每条命令死等 3 秒静默才算读完(11 条命令 = 35 秒/台)。
    现在从登录 banner 认出设备提示符(<SW-1> / [SW-1]),输出末尾出现提示符就立刻收工;
    认不出提示符的老设备自动退回原逻辑。
    实测:2 条只读命令 7~8 秒 → 3.2 秒(单条 3.5s → 0.6s)。
  • 面板「两轮间隔」默认 5 → 1 分钟(方便用小设备表自测)。

下载

文件 说明 SHA256
NetworkInspection-V5-For-Yata.exe 个人版(8 页签,含 Ring Alert 故障视图) 1620fdd34b80b2be77693dbc327579a54ba240333edf4b9a6f98ce4ef7e0a34f
devices_demo.xlsx 示例设备清单(Excel 五列:IP/用户名/密码/类型/命令,开箱可改用) —
devices_demo.txt 示例设备清单(文本格式 IP:用户名:密码:类型:"命令",与 xlsx 等价) —

测试 275 项全绿(+10);V4(同事版)同源同步为 4.1.2。

v5.2.0 —— 故障定位(人话故障卡)

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 18 Sep 02:49

🚨 故障定位(v5.2.0)—— 告警不再是一堆散点,而是「故障 + 处理步骤」

面向不会数通的操作者:Ring Alert 页签结果**默认显示「故障视图」**人话卡片,可一键切「告警明细」。

❗ 故障 1|二层环路(网络里有一根线接成了圈)   ← 先处理这个
故障设备:10.21.11.193   置信度:高
【现象】涉及端口 10 个:XGE0/0/2、0/0/3 …|广播量约 7244 pps(正常 <1000)|源头 MAC f033-e508-0567
【判断】同一个 MAC 同时出现在这些端口上 → 这些端口之间被线路环接了
【怎么处理】先拔掉 XGE0/0/3 的网线,等 1 分钟看广播是否下降 → 顺着这根线找另一端

新增

  • 故障事件层 ring_events.py:把逐条告警聚合成「故障」,按证据强弱打分点名故障设备;
    同一设备的风暴 / 环路日志 / MAC 证据合为一个故障;单端口轻微广播并入一条「终端级」
  • D13 同设备 MAC 多端口冲突:单轮即可判定,直接给出「哪两个口之间被环接了」
  • D4 环路组聚合:同速率多口合成一条告警(一次环路从上百条散点 → 个位数)
  • D7 日志结构化:从 MFLP / MAC_MOVE 行抽取 MAC / VLAN / 端口 / 事件
  • 采样体检:逐条命令记录 字节/行数/是否报错 —— 一眼区分「命令没拿到数据」与「没发现环路」
  • 大表模式:更大的静默窗口与单命令超时(silence_rounds),避免大表被截断
  • 三层设备(BRAS / ME60)自动标记 l2_table_na,二层判据不再误判

实测(真实 126 条告警)

聚合后 → 3 个严重(正是三台环路的接入交换机)+ 1 一般 + 6 提示,并直接给出源 MAC 与端口对。

下载

文件 说明 SHA256
NetworkInspection-V5-For-Yata.exe 个人版:8 个页签(含 Ring Alert 故障视图) 48332099b11e161302fac120b9512c51fea8b529451d694034ce2f378efa5c99

测试 265 项全绿;V4(同事版)同源裁剪为 11 条规则(无 D8/D9)。

v5.1.2 —— 清掉最后一个已知问题

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 17 Sep 16:06

清掉最后一个已知问题 —— 「已知问题」清单现在是空的

Fixed

  • analyze_reports() 在报告路径打错 / 文件被挪走时会把 FileNotFoundError 直接抛给调用方,
    与同函数对「解析不出设备」的处理风格不一致(GUI 被迫兜异常)。现在降级为 warnings:
    界面只展示提示,不再弹异常;第二期报告读不到时同样降级,并自动退回单轮模式

下载

文件 说明 大小 SHA256
NetworkInspection-V5-For-Yata.exe 个人版:7 个页签 + Ring Alert 环路告警(12 条判据 / 两轮采样) 16.4 MB 6559b94977233f7a494dd502adbf81c1e84f1a459a4f6c2fe7991431d724f858
NetworkInspection-V3-For-Yata.exe 基础版:7 个页签,不含环路告警 16.0 MB bcfa9c7cffbc833cc0e97980ff51bcb718ac3310dfad9beac8e31282d6e74975

关于校验

源码改了 ≠ exe 里改了。 本次发布用仓库自带 tools/verify_exe_fixes.py 解包 exe 内的 PYZ
逐项确认修复已真正打进二进制(同时确认不含旧实现残留);本地 252 项测试全绿。

v5.1.1 —— 修三个静默缺陷(阈值/温度/规则表回读)

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 17 Sep 15:52

修三个「不报错但结果错」的静默缺陷(均由新增的 pytest 套件发现)。

Fixed

  • rules.yaml 里改阈值完全不生效 —— 规则表用 thresholds: 嵌套写法,而判据引擎只读顶层键,
    一律回退内置默认值(例:把广播风暴阈值改成 100000,仍按 1000 判)。
    现在顶层优先、其次读 thresholds 子键,改规则表真的生效了
  • 温度判据取到的「温度」其实是槽位号 —— 固定宽度槽位表里第一个 -20120 的数字被当成温度,
    导致 D11 永远拿 1
    N 度比较,真实过温静默漏报。现在按表头定位 Temperature(C) 列取值
  • 首次运行自动释放 rules.yaml 后没有回读 —— 那次调用缺 signals,D7 日志关键字静默失效
    (新装 exe 或删掉规则表后才会遇到)。现在写出后立刻解析回读

下载

文件 说明 大小 SHA256
NetworkInspection-V5-For-Yata.exe 个人版:巡检 + 配置备份 + 流量测试 + 安全核查 + 主动探测 + 环路告警(12 条判据) 16.4 MB 46d6cc6baa4597b9ffaf78c96a2b0993ffb8d787844d51c083c7411372b20d57
NetworkInspection-V3-For-Yata.exe 基础版:7 个页签,不含环路告警 16.0 MB 1596a073de9997284d371d1f357939a80232a3646b729b0f999a97f07cbb7b9f

⚠️ 依赖必须锁 paramiko>=3.5,<4(老设备只支持 ssh-rsa,paramiko 4/5 已移除该实现)。

v5.1.0 —— 工程化改造 + 环路告警在线采样修复

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 17 Sep 15:32

工程化改造版 + 修一个影响环路告警可用性的真 bug。

新增(工程化)

  • LICENSE:MIT;pyproject.toml(pip install -e . 可用,命令入口 net-inspect)
  • tests/ 测试套件:判据引擎 12 条规则、解析层华为两种排版、编排层两轮差分、v5/ 镜像一致性
  • GitHub Actions:ci.yml(Windows pytest + Linux ruff)、build.yml(打 tag/手动触发 → V3/V5 两个 exe)
  • CHANGELOG.md + 语义化版本(pyproject.toml 与 __version__ 双处一致)

修复(重要)

  • 环路告警「A. 在线两轮采样」连不上任何设备:调用宿主的 SSH 帮助函数时漏传 client 参数
    (_ssh_connect() 是就地连接、返回 None)→ 每台设备都抛异常、两轮采样全是空数据,
    而结果提示不管几轮都写「单轮时看不出…」,看着像「只跑了一轮」
  • 结果提示现在按「单轮快照 / 两轮差分」分开,并显示第 1 轮/第 2 轮各几台有数据;
    失败原因(连接超时 / 认证失败 / 命令不被该平台支持)直接列在弹窗里

下载

文件 说明 大小 SHA256
NetworkInspection-V5-For-Yata.exe 个人版:巡检 + 配置备份 + 流量测试 + 安全核查 + 主动探测 + 环路告警(12 条判据) 16.4 MB 884049877adfa83d84785586db774776f39815a11d93d3929b379eb4a990ec20
NetworkInspection-V3-For-Yata.exe 基础版:7 个页签,不含环路告警 16.0 MB a7a7608c2f26f268d49dd8749c79a1c4ab10ecf6bb186dec00c87e07b6996414

⚠️ 依赖必须锁 paramiko>=3.5,<4:老设备(ME60 等)只支持 ssh-rsa,paramiko 4/5 已移除该实现。

V5 & V3 — 新增「环路告警」页签

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 17 Sep 07:46

本次更新:新增「🔁 环路告警」页签

在巡检工具里新增第 8 个页签 Ring Alert:检测环路特征与硬件劣化,每条告警都带
原始证据行 + 置信度 + 建议动作 —— 宁可报“可疑”让人工判断,也不武断下结论。

检测项

编号 名称 数据来源
D1 MAC 漂移 display mac-address
D2 STP 拓扑变化(TC 增量) display stp
D3 根桥变更 display stp
D4 广播/组播风暴 display interface
D5 接口误码增长(CRC) display interface [brief]
D6 链路震荡 display interface
D7 厂家日志关键字映射 display logbuffer / display alarm active
D10 光衰(收发功率 / 趋势 / 模块自报) display interface 的 Rx/Tx Power 行
D11 温度 display temperature
D12 电源 / 组件状态 display device
D8 * BPDU 自环特征 display stp interface
D9 * 跨设备关联(同一 MAC 出现在两台设备) 多设备比对

* 深度检测项,默认不勾选(仅 V5 具备)

两种用法

  • 在线两轮采样(主力):工具自己连设备跑两遍(间隔可设,默认 30 分钟),对两轮结果做
    差分 —— 只有这样才能看出“正在变化”(CRC 等计数器是历史累计值,单看一次快照看不出)
  • 离线分析报告:选 1~2 份巡检导出的报告 CSV 分析,适合事后复盘

顺手修好的

  • 「⚠ 上一异常」按钮(原先只有“下一异常”,翻过头要重来)
  • 导出 HTML/CSV 可自选保存路径(原先固定写进临时目录)
  • 修复打包后 profiles/presets/backups/reports 落进 %TEMP%\_MEIxxxx(重启即丢)的问题

下载

文件 说明 大小 SHA256
NetworkInspection-V5-For-Yata.exe 个人版:巡检 + 配置备份 + 流量测试 + 安全核查 + 主动探测 + 环路告警(12 条判据) 16.4 MB d721aae874c592cd83bfe03acf5e5f3862d8cc02561b495ddafada7a484855d6
NetworkInspection-V3-For-Yata.exe 个人版(基础):含「环路告警」10 条判据,无 BPDU 自环 / 跨设备关联 16.0 MB e9790fe12b89cc57d3062086168ade5716c4a38b678c2793ba9a6d4f9db71aeb

使用:单文件 exe,双击即用(免安装、无需 Python)。首次运行会在同目录自动生成
rules.yaml(阈值 + 日志关键字,可直接改,改完点页签里的「重新加载规则」即时生效)。

设备清单放在 exe 同目录:devices.xlsx(五列:IP / 用户名 / 密码 / 类型 / 命令)或兼容的 devices.txt。

⚠️ 巡检命令均为只读查询,但都会登录设备执行 —— 请确认已获得授权。

v1.0.0

Choose a tag to compare

@Yata-Datacom Yata-Datacom released this 08 Jul 14:20