本说明书基于系统主界面所承载的全部功能模块编写,涵盖设备接入、无线运维、拓扑可视化、预警通知、运维闭环与系统管理等全部能力,图文并茂,适合网络运维人员与系统管理员阅读。
系统版本:3.5
作者微信:javacoo
RouterOS 无线设备管理系统是一套面向 Mikrotik RouterOS 无线网络设备(基站 AP、无线控制器 AC、微波 CPE、路由器、交换机等)的一体化运维管理平台。系统将"设备接入 → 状态监控 → 无线健康分析 → 拓扑可视化 → 流量分析 → 预警通知 → 运维闭环 → 开放集成"整合在统一的 Web 界面中,帮助运维人员:
快速盘点网内设备:网段扫描自动发现可登录的 RouterOS 设备并一键入库;
实时掌握设备状态:在线/离线、电压、温度、CPU、内存等指标持续上报;
深度运维无线网络:AP 健康评分、接入终端(RSSI/SNR/速率/CCQ)明细、终端漫游轨迹、信道干扰分析与推荐信道一键下发;
可视化呈现:站点分层拓扑图(聚合/聚焦/总览钻取/变更留痕/影响分析)、设备 GIS 地图、指标趋势曲线、统计报表与全屏监控大屏;
闭环处置故障:越限/离线自动生成告警工单,支持"未处理 → 处理中 → 已解决 → 已关闭"流转;
主动风险防控:多通道(邮件/短信/电话语音/企业微信/钉钉/飞书/自定义 HTTP)预警通知体系;
规范配置管理:配置抓取、快照基线、行级 Diff 比对与一键回滚,批量脚本下发与固件升级登记,并可按计划自动备份、下载设备侧原生备份;
自助接入向导:将设备令牌 / 服务器地址 / 初始化脚本封装为三步向导,新设备一键植入并确认纳管状态;
持续运维监测:队列限流状态采样(含字节趋势与计数重置)与持续 Ping 链路质量监测(延迟/丢包曲线),周期任务默认关闭、按需开启。
接口级流量分析:逐接口实时收发速率与累计字节趋势、按时间窗聚合的收发面积图、全网带宽 TOP 榜与突增接口标红,把"设备是否健康"进一步延伸到"链路带宽被谁用满";
开放与智能集成:提供 API Key(按 read/write/mcp 分级授权) 与 MCP(Model Context Protocol)服务,可被第三方运维平台、自动化工具乃至 AI 助手以标准协议查询设备/告警/拓扑/流量并下发脚本,能力可编排、可审计;
企业统一身份:支持钉钉 / 飞书第三方登录与账号绑定,降低批量开通与日常登录摩擦;
舒适值守体验:全站深色/浅色主题一键切换(图表随之自动换色),配合全屏监控大屏,适合长时间值班与电视投放。
一句话定位:面向 Mikrotik RouterOS 无线网络的一体化运维平台——单机即可部署、不依赖任何第三方云平台(仅高德地图底图与经纬度选点需外网,其余功能可全程内网运行),数据完全自主、无按年订阅的隐性成本,对无线指标深度建模,并把"看见问题"延伸到"处置留痕"、再延伸到"可被集成与自动化"。相比"通用网管软件 + 一堆手工脚本"与"厂商云管平台(SaaS)"这两条常见路线,本系统在私有化、无线深度、闭环留痕、开放集成四个维度同时占优,差异点集中在下表:
特色 解决的实际问题 详见 单机一体化交付:内置 HTTP/WebSocket 服务、嵌入式 SQLite 单文件库、随包自带精简 JRE 不必另装 Tomcat / MySQL / Redis,也不必专人值守;一台普通 Windows 主机双击即用 双通道数据获取:设备侧按计划被动上报 + 服务端主动 RouterOS API / SSH 采集 纯 SNMP 取不到无线终端与射频明细,纯轮询又会拖垮大量 AP;两条路互补,离线设备也能判因 、 纳管即自植入、漂移即自收敛:三步接入向导生成 bootstrap.rsc 一键下发;目标脚本正文 SHA-256 记入设备侧 script 注释,周期对账发现 missing / stale 即幂等覆写新设备上电即完成上报通道配置,无需逐台 Winbox;有人手改设备配置会被自动纠正或暴露出来 无线专用健康模型:AP 健康评分、接入终端 RSSI/SNR/速率/CCQ 明细、终端漫游时间线、信道干扰热力与推荐信道一键下发 通用网管只能回答"在线/离线",回答不了"客户报网卡在哪、该换哪个信道、换完能好多少" 、 浏览器内嵌 SSH 终端(独立 WebSocket 端口 + 专属 sys:ssh 权限)值班不必再装 Winbox 或终端工具,也不必四处分发设备口令——凭据由服务端解密,不出服务器 运维闭环七件套:告警工单流转 / 配置基线行级 Diff 与回滚 / 每日自动备份(含设备侧原生备份)/ 批量脚本下发与固件登记 / 接入向导 / 队列限流监控 / 持续 Ping 链路质量 处置过程留下可回溯的记录,故障处理不再是聊天记录和个人经验 数据驱动的阈值告警引擎:指标字典 + 每设备阈值条目 + firing/resolved 状态机 + 持续次数防抖 + 静默期 + 通道升级链固定阈值的告警往往要么漏报要么刷屏;这里可调、可防抖、可自动恢复 多通道通知:邮件、企业微信、钉钉、飞书(含群机器人加签)、自定义 HTTP、短信/语音 不必为了收一条告警再买一套告警平台 可视化四态:站点分层拓扑(聚合/聚焦/总览钻取、自动/手动绘制、变更快照对比、影响分析、资产对账)、GIS 设备地图、指标趋势曲线、全屏监控大屏 排障用拓扑与趋势,交班与汇报用大屏,底层是同一份数据,不存在"两套口径" 、 接口级流量分析:逐接口实时速率与累计字节、收发面积图、全网 TOP 榜与突增标红 光看 CPU/在线不够;"谁把带宽用满、哪条链路忙时打满"要能直接看到 开放与智能集成:API Key(read/write/mcp 分级)+ MCP 服务(JSON-RPC),供第三方平台/自动化/AI 助手编排 云管平台多为封闭黑盒;这里把设备、告警、拓扑、流量都开放成可编程能力,且每次调用可鉴权可审计 、 企业统一身份:钉钉 / 飞书第三方登录 + 账号绑定(默认关闭,按需启用) 免去为运维人员单独记一套口令,融入企业既有身份体系 、 深色主题值守:全站浅/深色一键切换,图表自动换色并持久化 值班室与大屏长时间盯屏更护眼,与监控大屏风格统一 交付链上的安全与授权纵深:全局接口鉴权 + RBAC 细粒度权限点、登录口令 BCrypt、设备凭据 AES、密钥外置不入包、设备上报令牌校验、ClassFinal 加密版启动器、TrueLicense 授权与到期提醒、操作审计(含请求 ID 与耗时) 交给客户或集成商部署时,授权可控、凭据不外泄、操作可追溯 、、 导航与权限数据驱动:菜单存于 menu 表,登录后按角色联查动态渲染增删功能入口或裁剪模块不必改前端、不必重新发版
五点最值得关注的优势
对无线网络本身建模,而不是只监控"设备活着" 健康评分、干扰评分、CCQ、SNR、漫游轨迹、推荐信道这些指标是按 802.11 运维语义组织的:射频分析页给出按频率轴的占用热力柱状图与"换过去预计干扰评分能降到多少",并可一键下发;无线终端页可按 AP 展开每个接入终端并回溯其漫游过程。这类能力在通用 NMS 里通常是缺失的,而它恰是无线集成商每天都要用的那部分。
不要求被管设备做任何改造 采集与下发走 RouterOS 原生 API(默认 8728)与 SSH,设备侧不安装任何代理;需要持续上报时,也是用 RouterOS 自带的 scheduler + script 实现,由接入向导一次性植入,并可一键停用/卸载——随时能回到"设备上不存在本系统任何残留对象"的状态。
同一套能力,两种交付形态 普通版便于自用;安全版(topology-secure.exe + 加密 jar + 解密 agent)面向对外交付,配合授权证书可按签发时指定的期限做试用或正式授权,并有全局鉴权与操作审计兜住越权。两者共用同一套数据库与配置结构,切换重装不影响已纳管数据(授权机制详见)。
能力开放、可被集成与自动化,而不是封闭黑盒 这是与厂商云管平台拉开差距的关键一环:API Key 按 read/write/mcp 分级授权,让外部系统只能拿到应有的权限;MCP 服务把设备、告警、拓扑、无线终端、射频扫描、流量等做成标准工具,可被自动化工具乃至 AI 助手直接调用(只读工具走 read/mcp,下发脚本这类写工具强制 write)。所有调用均纳入统一鉴权与审计,开放而不失控(详见 、)。
数据主权与零云依赖 全系统以单文件嵌入式数据库 + 单机 jar 形态交付,设备凭据、拓扑、告警、历史指标都留在自己机房里,不上传任何第三方云;除高德底图外可全程内网运行,也没有按年订阅、按设备数计费的隐性成本——对数据敏感、网络隔离的行业客户尤其关键。
适用与不适用(便于选型)
场景 是否合适 数十至数百台 RouterOS 无线节点(厂区/园区/连锁门店/乡村宽带等),需要集中看状态、做无线优化与故障闭环 合适,这就是本系统的目标场景 需要把非 Mikrotik 厂商设备一起纳管 部分合适:可达性/Ping/拓扑/告警可共用,无线深度能力仅对 RouterOS 生效 电信级多厂商资源编排、批量自动开通 不适合,应选专业 NMS 数千台以上、多中心级联的大规模分布式采集 不适合直接套用:嵌入式单文件库 + 单实例决定了它是"单机集中式"形态,详见
RouterOS 无线设备管理系统
├── 设备接入
│ ├── 数据看板(总览统计 / 报警分布 / 无线健康)
│ ├── 设备扫描(网段发现 / 一键入库)
│ └── 设备列表 / 设备详情(软硬件资源 / 无线 / 用户 / 日志)
├── 无线运维
│ ├── 无线终端(AP 健康 / 接入终端 / 漫游时间线)
│ └── 射频分析(干扰评分 / 推荐信道 / 一键下发)
├── 可视化
│ ├── 设备拓扑(站点分层/总览钻取/自动绘制/变更留痕/影响分析/资产对账/导入导出)
│ ├── 设备地图(GIS 定位 / 状态展示)
│ ├── 指标趋势 · 统计报表 · 监控大屏 · 流量分析
│ └── 系统工具(Ping / Traceroute / 无线扫描 / 网络信息 / 配置备份)
├── 运维闭环
│ ├── 告警工单(自动生成 / 状态流转)
│ ├── 配置基线(快照 / Diff / 回滚)
│ ├── 自动备份(备份计划 / 设备侧原生备份 / 快照下载)
│ ├── 批量运维(脚本下发 / 固件升级登记)
│ ├── 接入向导(令牌 / bootstrap.rsc / 一键植入 / 纳管确认)
│ ├── 队列监控(限流采样 / 字节趋势 / 计数重置)
│ └── Ping 监测(多目标周期探测 / 延迟丢包曲线)
├── 设备预警
│ ├── 邮箱配置 / 通知渠道 / 指标字典 / 预警设备(阈值条目) / 预警配置 / 预警规则 / 预警任务 / 预警日志
│ └── 活动告警面板(firing 实时视图)
└── 系统管理(RBAC 与集成)
├── 用户管理 / 角色管理 / 菜单管理 / 操作审计 / API Key / MCP 接入 / 第三方登录
└── 顶部栏:深色主题切换 / 账号绑定(第三方登录)
网络互通:运行管理系统的服务器需与被管 RouterOS 设备网络可达;如需跨网段扫描,服务器本机需配置对应网段的 IP 地址;
设备凭据:具备 RouterOS 登录账号(默认 admin)及密码,设备需开启 API 服务(默认端口 8728);
JVM 环境:JDK 1.8 及以上。
部署形态:当前仅支持单机客户端版(env=client,内嵌 SQLite,数据全在本地)。云/中心版形态(env=cloud,MySQL + 设备公网回连)为历史遗留、尚未发布:启动器对
env=cloud会直接拒启并输出引导提示,application-cloud.yaml仅保留占位。如需集中纳管,现阶段请以单站点客户端形态交付。
方式一:安装程序(推荐,面向最终用户)
运行 routeros-topology-setup.exe 安装后,程序目录下会自带精简的 JRE 与启动器,双击 topology.exe 即可,无需预先安装 Java。安装目录结构如下:
目录/文件 说明 topology.exe图形启动器(隐藏控制台),启动后在系统托盘生成图标 topology-secure.exe安全加固版启动器(仅安全版安装包提供),配合加密 jar 防反编译 jre\随包自带的 Java 运行环境 data\本地数据库( routeros.s3db),详见license\授权证书目录,详见 config\首次启动自动生成,存放 JWT 密钥对、AES 主密钥、设备令牌等敏感凭据 backup\启用每日滚动备份后生成的库副本 logs\运行日志、启动器捕获的 JVM 错误输出、GC 日志与堆转储,详见 2.3
系统托盘:托盘图标右键弹出菜单(“打开管理页面”/“退出”),左键双击直接打开管理页。选“退出”会优雅停服(撤销 HTTP 服务、停定时器、关数据库连接池与邮件资源)后再结束进程;Linux 或无桌面环境(headless)下托盘自动跳过,不影响服务运行。
方式二:脚本启动(面向开发/运维)
Windows 环境可使用 run/ 目录下的脚本:
脚本 说明 start.bat常规启动 start-secure.bat带安全加固的启动 encrypt.bat敏感信息加密工具 stop.bat停止服务
Linux 环境推荐后台启动(示例命令已给出建议的 JVM 参数:G1GC、1G 堆):
nohup java -server -ms1024m -mx1024m -XX:+UseG1GC -XX:G1HeapRegionSize=2m \
-Dfile.encoding=UTF-8 -jar topology-1.0-jar-with-dependencies.jar &
启动后浏览器访问系统地址(默认 HTTP 端口参见 application.yaml 配置),将自动跳转至登录页。
提示:需在 RouterOS 的"云服务配置"工具中将服务地址与端口指向本系统服务器,设备才能持续上报数据(用于数据看板、无线终端、射频分析等"上报驱动"功能)。
Windows 启动器(topology.exe / topology-secure.exe)已内嵌一组经实测校准的 JVM 参数,常规使用无需改动:
参数 取值 作用 -Xms / -Xmx512m Java 堆(业务缓存与时序批量写入) -XX:MetaspaceSize128m 触发类卸载型 Full GC 的水位线 -XX:MaxMetaspaceSize512m 元空间(存放类元数据的非堆区)硬上限 -Xss512k 单线程栈大小 -XX:HeapDumpPathlogs\内存耗尽时的堆转储落在此目录(旧版本落在程序根目录) -XX:+ExitOnOutOfMemoryError开 内存耗尽时立即干净退出,不留"进程还在但服务已死"的半死状态 -Xloggclogs\gc.logGC 过程记录 -XX:+HeapDumpOnOutOfMemoryError开 崩溃前自动留堆快照,便于事后定位
两条注意事项
不要把
MetaspaceSize与MaxMetaspaceSize设成同一个值。本系统运行期常驻约 8400 个类、元空间实际占用约 48MB;若两者同为 50MB,进程会在"涨到顶→Full GC 却卸不掉类→再 Full GC"中空转并于数分钟内退出,而 GUI 启动器不会弹任何提示。这组参数内嵌在 exe 内部,修改
setup\*.exe4j的vmParameters后必须重新生成启动器才生效;临时调参可改用run\start.bat/run\start-secure.bat启动(它们从JVM_OPTIONS读取)。
日志与取证文件(排障时按此顺序取现场):
文件 内容 何时看 logs\routeros-<日期>\<日期>.log系统运行日志(启动过程、授权校验、周期任务、异常堆栈) 一切问题首选 logs\error.log启动器捕获的 JVM 标准错误(含 OutOfMemoryError 等致命信息)进程无提示消失、页面打不开 logs\gc.logGC 与内存回收过程 怀疑内存或性能问题 logs\java_pid*.hprof内存耗尽瞬间的堆快照 出现此文件即说明发生过 OOM,可直接交厂商分析
系统访问入口为登录页(路由 /Login,/ 地址自动重定向)。


操作步骤:
输入账号与密码。全新安装时系统已内置初始管理员:admin,初始口令 Admin@123(首启自建,无需人工创建);首次登录后请立即在“系统管理 → 用户管理”修改该口令;其余账号由管理员在该处创建;
点击登录按钮;
登录成功后系统自动获取当前用户的角色与权限集合(permissions),并加载该用户可见的动态菜单树与页面令牌(Token);
若拥有"记住密码"选项,勾选后账号密码将保存在本地浏览器中,下次自动填充。
异常说明:
现象 可能原因 提示"用户名或密码错误" 账号密码不匹配,或用户已被禁用 登录后左侧菜单为空 菜单数据未初始化,系统会自动回退到内置默认菜单,属正常现象 点击系统管理菜单被弹回首页 当前用户无 sys:* 权限,路由守卫拦截所致
第三方登录(钉钉 / 飞书):
除账号口令登录外,系统支持企业统一身份登录(钉钉/飞书),降低批量开通摩擦。该能力属企业版门控功能(见 §18.10),由管理员在「系统管理 → 第三方登录」页面(/oauthSettings)自行配置 App 凭据并即时生效,无需修改服务器 yaml(见 §14.7):
登录页点击对应平台的第三方登录入口,前端向 GET /api/oauth/url/:provider 取回授权跳转地址;
在钉钉/飞书完成扫码或授权后回调 GET /api/oauth/callback/:provider,系统校验 state 并签发本系统 JWT;
若该第三方身份尚未绑定本地账号,则提示先登录后在顶部栏“账号绑定”处完成首次绑定(见 与 );已绑定则直接进入系统。
未启用时点击第三方入口会返回“第三方登录未启用”提示,不影响账号口令登录。
登录成功后进入系统主界面(路由 /home),所有功能页面均承载于该布局之内。


界面分为四个区域:
区域 位置 说明 顶部标题栏 最上方深蓝区域 左侧显示系统名称"RouterOS无线设备管理系统",右侧依次为深色/浅色主题切换、账号绑定(第三方登录)、退出按钮 左侧导航菜单 侧边栏(200px 宽,深蓝底) 优先按登录用户的动态菜单树渲染(目录→叶子两级,单选展开);若菜单库未初始化或接口失败,自动回退到内置默认菜单,保证功能零回归。当前用户无权限的菜单项自动隐藏;当前授权版本未包含的功能菜单置灰并显示锁标记(版本门控,见 §18.10) 面包屑导航 内容区顶部 显示"首页 / 当前页面名称",点击"首页"可快速返回 内容区 主体区域 默认页(首页 /home)按授权版本渲染:专业/企业版内嵌数据看板;社区/标准版(版本不含看板)展示起始引导页——含欢迎语、当前版本与配额摘要、已开放功能直达入口,并引导升级(见 §18.10);切换菜单时通过路由加载对应功能页面,支持纵向滚动到期提醒横幅 标题栏下方、内容区上方 仅在授权/试用进入到期前提醒窗口(默认剩余 ≤ 7 天)时出现的黄色横幅,文案形如“授权/试用将于 2026-10-17 到期(剩余 15 天),请及时续期。”右侧带关闭按钮,本次页面内可手动关掉(刷新或重新登录后若仍处窗口期会再次出现)。未授权/已过期/不在窗口期内均不渲染。详见
内置默认菜单结构如下:
数据看板
设备扫描
设备列表
无线终端
射频分析
设备拓扑与地图:设备拓扑、设备地图
可视化:指标趋势、统计报表、监控大屏、流量分析
运维闭环:告警工单、配置基线、自动备份、批量运维、接入向导、队列监控、Ping监测
设备预警:邮箱配置、通知渠道、设备配置、指标字典、通知预设、通知策略、预警任务、活动告警、预警日志
系统管理(仅管理员可见):用户管理、角色管理、菜单管理、操作审计、API Key、MCP 接入
系统工具
监控大屏为独立全屏路由(
/screen),不套用它导航布局,适合投放到电视/大屏设备。
深色主题:点击标题栏的主题切换按钮可在全站浅色/深色之间切换,选择保存在浏览器
localStorage(键app-theme)并在下次登录时自动恢复;趋势/报表/大屏中的图表会随之自动切换为深色配色,适合值班大屏与长时间值守。


入口:左侧菜单「数据看板」;专业/企业版登录后首页即内嵌看板内容。
版本限定:数据看板为专业版及以上能力。社区/标准版证书下该菜单置灰锁定,接口返回 403("当前授权版本不含该功能"),首页改为起始引导页(见 §18.10)。
数据看板是运维人员的"第一屏",汇总全网运行态势。


区块 内容 工具条 刷新按钮;自动刷新档位下拉:1 / 5 / 10 / 30 分钟或关闭(默认 1 分钟自动刷新) 统计卡片 ×4 设备总数(蓝)、在线设备(绿)、离线设备(红)、在线终端(橙) 在线设备报警情况统计 柱状图展示四类报警的次数:一般警告(warning)、报错(error)、无线链路错误(wirelessLinkError)、严重系统报错(critical),柱顶标注数值 无线健康总览 左侧大字显示在线无线设备的平均健康评分(按分值着色:≥85 绿 / ≥70 蓝 / ≥50 橙 / <50 红),并列展示"优秀/良好/一般/差"各等级设备台数;右侧环形图展示健康分级占比
健康评分分级标准:
等级 评分区间 颜色 优秀 ≥ 85 绿 良好 70 ~ 84 蓝 一般 50 ~ 69 橙 差 < 50 红
数据均来自设备上报,若"在线终端"或"无线健康"无数据,请先确认设备已完成扫描入库并开启了云服务上报;
长时间挂机监控建议保持 1~5 分钟自动刷新;需要定格画面时选择"关闭"。
入口:左侧菜单「设备扫描」。
设备扫描用于主动发现网段内可登录的 RouterOS 设备,是设备接入系统的第一步。


填写扫描地址段:输入设备网段内任一 IP 与 子网掩码(如 192.168.1.10 / 255.255.255.0);如需扫描多个网段,点击添加网段逐条录入(至少保留一条);
填写登录凭据:输入 RouterOS 登录账号(默认 admin)与登录密码;
点击扫描按钮,系统逐个网段探测可登录(API 可达)的设备,扫描期间显示"正在扫描网段,请稍候...";
扫描完成后表格列出所有发现的设备,顶部提示"共发现 N 台设备,已保存 M 台"。
列 说明 IP地址 / MAC地址 / 设备名称 设备基础标识 板型 / 平台 / 版本 RouterOS 硬件板名、运行平台与软件版本 电压/温度 设备传感器读数(无数据显示"-") 无线 是否具备无线接口(是/否) 设备类型 下拉选择:基站(AP)/ 无线控制器(AC)/ 微波设备(CPE)/ 移动客户端 / 路由器 / 智能交换机,保存后不可修改 操作 点击保存将该设备写入后台数据库(device 表 + device_login 凭据表),成功后变为"已保存"标签
只有点击"保存"的设备才会入库,未保存的记录刷新页面后丢失;
保存时系统自动以 API 端口 8728 登记凭据,并在后台自动开启该设备的云服务配置(持续上报);
缺少 MAC 地址的设备无法保存;
跨网段扫描要求服务器本机已配置对应网段的 IP,否则该网段探测不到设备;
如需批量清空上次扫描结果重新探测,可在设备扫描相关操作中使用"刷新"能力(对已入库设备重新登录探测,详见 7.1)。
入口:左侧菜单「设备列表」。
展示所有已入库设备的清单,并提供批量状态刷新与设备维护操作。


功能 说明 重新加载 从后台重新拉取设备列表 刷新状态 弹出凭据对话框,输入 RouterOS 账号密码后,系统逐台重新登录探测所有设备,更新在线状态与电压/温度 统计提示 工具栏显示"共 N 台设备,在线 M 台" 列表字段 IP地址、设备名称、MAC地址、厂商标识、产品型号、设备类型、安装位置、电压、温度、在线状态(在线绿标/离线灰标) 详情 跳转设备详情页 删除 将设备移出系统(二次确认)
列表中的"安装位置"在设备详情页的自定义配置中编辑;"设备类型"在扫描保存时确定。
入口:设备列表 → 行内「详情」按钮。
设备详情页是单台设备的深度运维视图,包含以下子页签:
子页签 内容 数据来源 摘要 软硬件资源(CPU/内存/版本等)、网卡信息,以及自定义配置:设备名称、安装位置、经纬度(高德地图选点,自动逆地理编码识别地址)、设备照片 云端上报解析 + 本地编辑 无线 注册终端列表、射频信息、网内设备(ARP/邻居) 上报解析 + RouterOS API 实时拉取 用户 设备本地账号查询与改密 RouterOS API 实时 日志 设备系统日志 RouterOS API 实时 Terminal(内嵌 SSH 终端) 浏览器内嵌 xterm 终端,经 SSH-over-WebSocket 直连设备命令行(独立端口,系统自动解密该设备登录凭据;需 sys:ssh 权限,默认仅 admin 可用)后端凭据解密 + JSch 双向字节透传
设备详情页摘要界面参考:


网络信息(IP 地址/路由/ARP/DHCP)实际位于「系统工具 → 网络信息」页签,选定在线设备后一键查询,实测参考:


无线接口详情参考:


使用要点:
在详情页录入的经纬度将直接决定"设备地图"页面中该设备标记的位置;
"网内设备 / 用户 / 日志"页签要求设备在线且凭据有效;
修改设备账号密码属于高危操作,请牢记新密码并同步更新系统中保存的凭据(重新扫描保存即可)。
入口:左侧菜单「无线终端」。
无线终端是上报驱动的无线运维工作台,用于回答"每台 AP 上挂了哪些终端、信号质量如何、终端在哪里漫游"。


展示所有在线上报的无线设备,每项显示:设备名称、健康评分标签(含"优秀/良好/一般/差"分级)、MAC、接入终端数、平均信号(dBm)、信道/频段/频宽;
点击某台 AP,右侧联动刷新为该 AP 的明细;
顶部刷新按钮重新拉取健康总览。
选中 AP 后展示其接入终端表,核心指标:
列 含义 终端MAC / SSID / 接口 终端标识与接入的虚拟interface 信号(dBm) RSSI,越接近 -50 越好,< -75 通常体验较差 SNR 信噪比 下行速率 / 上行速率 协商速率(rx / tx rate) CCQ(R/T) 接收/发送客户端链路质量百分比,低于 90% 需关注干扰或距离 距离 AP 估算的终端距离 在线时长 / 首次接入 / 最近在线 会话时间信息 状态 在线(绿)/ 离线(灰)
点击终端行,弹出该终端的事件时间线对话框:
按时间倒序展示近 7 天的"接入(绿点)/ 离开(红点)"事件,包含所接入的 AP MAC 与当时信号;
用于排查"终端频繁掉线""跨 AP 漫游异常"等问题。
选中 AP 后展示其时序曲线:健康评分、接入终端数、信号随时间的变化;
支持切换时间窗 6h / 24h / 72h;
结合趋势可判断 AP 性能劣化的起始时间点,与配置变更/环境干扰事件对照定位根因。
入口:左侧菜单「射频分析」。
射频分析页面提供信道干扰扫描、干扰评分、推荐信道与一键下发能力,数据来自 rf_scan / rf_neighbor / rf_channel_audit 三张表。


左栏选择一台在线 AP(列表显示健康/干扰标签、频段、信道、频宽);
页面加载时冷读该 AP 最近一次落库的扫描结果(不会自动发起实时扫描);
顶部工具条设置无线接口(如 wlan1)与扫描时长(2~15 秒),点击开始扫描——系统弹出二次确认后,才会实时连接设备执行 wireless-scan(扫描期间该接口可能短暂中断业务,请选择合适窗口操作);
扫描完成后页面展示分析结果(见下)。
区块 内容 当前射频状态 大号数字干扰评分(0-100,分越高干扰越强)与分级标签;频段、频率、信道号、频宽、接口/SSID、噪声地板、邻居数;右上显示本次扫描时间 推荐信道 系统根据占用热力计算出的最优信道(频率/信道/频宽)与预计干扰评分;若当前信道已是最优,显示"当前信道已是最优",下发按钮禁用 信道占用热力(按频率轴) 柱状图,柱高=该频点干扰能量(0-100);点击某柱可过滤出该频点的邻居 邻居 AP 明细 表格:SSID、BSSID、频率、信道、频段、频宽、信号(dBm)、干扰强度进度条(按强度着色)、噪声;配合热力图点击可做频率过滤 历史扫描回溯 工具条右侧下拉可选择历史扫描记录,回溯查看当时的评分与占用情况
当"推荐信道 ≠ 当前信道"时,一键下发到推荐信道按钮可用:
点击按钮,系统给出强警示(下发将中断该接口无线服务数秒,请确认现场允许);
确认后后端直接修改该 AP 的频宽/信道参数,并写入下发审计(旧值/新值/操作人/结果);
点击工具条下发审计按钮,在抽屉中查看历史下发记录:时间、接口、旧值(频率/信道/频宽)、新值、操作人、执行结果。
注意:内置"无需下发"表示当前已是最优;下发前请确认该 AP 下挂终端可容忍短暂断线。
入口:菜单「设备拓扑与地图 → 设备拓扑」(路由 /monitor)。
拓扑页面基于自研 cc-topology 组件渲染全网设备连接关系,支持预览与编辑两种模式。本版(3.5)对拓扑做了一次系统性增强,新增:站点分层视图(设备按站点分组聚合/聚焦)、站点总览钻取(每站点抽象为一个汇总节点,双击钻入)、资产对账(台账与网络实况全量比对)、拓扑变更记录(保存自动留痕+结构化对比)、影响分析(某设备故障会拖死哪些下游)、立即发现(按需触发上报,新链路分钟级成图)与 SNMP 轮询开关/单台立即探测,并把工具条重排为"筛选 / 三簇动作按钮"两行布局。以下按操作顺序逐节说明。


页面顶部固定两行工具条。第一行为搜索与筛选:
控件 说明 搜索设备(名称/IP/MAC)并定位 输入即联想,选中后画布定位该节点并弹出详情卡 按类型筛选 / 按状态筛选 设备类型(路由/交换/AP/AC/CPE/移动)与在线状态过滤 按站点筛选(新) 只显示所选站点的设备,"未分配"也是一个可选项 最近刷新 上一次拉到实时数据的时间 数据自动刷新 可选 1 / 5 / 10 / 30 分钟或关闭,周期刷新节点在线/告警状态
第二行为动作按钮,按"视图 → 发现同步 → 告警"三簇排布,簇间竖线分隔(预览态):
簇 按钮 说明 视图簇 编辑 进入编辑模式(需 top:edit 权限)刷新 重新拉取节点状态并渲染 自动布局 对现有节点重新算法布局(不改变连线) 图例 显示/隐藏设备类型图例(与节点渲染共用色系配置) 站点视图下拉(新) 站点总览 / 全部聚合 / 全部展开 / 单站点聚焦,见 10.1.3 发现同步簇 立即发现(新) 触发全部设备马上上报一轮,见 10.1.6 同步资产 拉取设备侧资产信息入库 对账检查(新) 台账与网络实况全量比对,见 10.1.5 站点分配(新) 批量维护设备站点归属,见 10.1.3 变更记录(新) 拓扑快照时间线与结构化对比,见 10.1.4 告警簇 告警音 告警提示音开关(关闭后显示"已静音") 全部已读 清空异常侧栏的未读标记
画布左下角常驻线型图例:虚线=无线回传/接入,实线=有线直连,SNMP 徽标=异构设备主动轮询兜底链路;在线/离线/告警状态以节点颜色标识。
点击任意设备节点,画布左上弹出固定详情卡(区别于悬停提示,卡片可交互):在线设备实时展示 IP地址、Mac地址、CPU占用、上线时长、接收/发送速率、关联终端(AP/AC 且有终端时)、信号、速率来源、刷新时间,底部提供 地图定位 / 查看详情 / 该设备告警 / 影响分析 四个操作按钮;离线设备显示"离线状态,没有实时数据"。


异常设备侧栏(右上):汇总全部离线/告警设备,按站点分组("未分配"恒排最后),组头(站点名+计数)点击可折叠该组,每条提供"定位""详情"快捷跳转;侧栏可收起为"异常 N"小按钮,不遮挡画布。编辑态自动隐藏。


主题联动:顶部栏切换深色后,拓扑画布、节点配色与图表整体切换,适合值守大屏。


站点是设备的台账属性(如"园区总部/车间覆盖"),也是拓扑的第二层视图维度:同站点设备被圈进同一个椭圆分组(combo),大规模网络可按站点逐层收敛地看。
站点分配(工具条,需 top:edit):弹窗列出全部设备,支持按名称前缀分组与按 IP 网段分组两种自动预填(仅预填、可逐行修改;离线无 IP 设备跳过网段分组;清空站点=取消分配),确认后即时生效并刷新分组。


站点视图下拉四种模式:
模式 效果 全部展开 默认态,站点椭圆展开显示内部节点 全部聚合 椭圆收起为大圆,圈顶显示"站点名(在线数/总数)"徽标,一眼看出哪个站点有掉线 单个站点 聚焦该站点,其余站点淡出 站点总览 每个站点抽象为一个虚拟汇总节点(见 10.1.7)
视图偏好会记住(刷新后保持),站点被清空分配时自动回退"全部展开"。




注意:徽标在线数与分组以实时上报为准;设备离线且无报告数据时按"未分配"归组。
每次保存拓扑自动留痕快照;"变更记录"打开抽屉:快照时间线(时间/操作人/备注)、快照当前(割接/变更前主动留痕,备注可选)、任选两条结构化对比——新增/移除/移动的节点与新增/移除的连线逐条列出,支持删除快照。




"对账检查"弹窗将台账与网络实况全量比对:新发现未入库、已入库但失联、登录信息失效等差异逐条列出,可一键应用处置动作;对账事件保留历史记录,可回溯"什么时候、对哪台设备做过什么"。


编辑模式工具条按"保存链 | 生成工具 | 导入导出"三簇排布:返回 / 保存;自动绘制(按发现策略全量重建连线)、自动布局、发现策略下拉——全量(含ARP/桥表) / 含LLDP邻居 / 含ARP/桥表 / 仅无线;导入(.json 覆盖当前图)/ 导出。手动编辑支持拖拽节点、连线、添加/删除自定义节点(素材来自 cc-elements 图标库)。


立即发现(预览态,需 top:edit):按需触发全部设备马上上报一轮状态,不必等最长 3 分钟的调度周期——新开通的无线链路、刚改的回传关系可以在几十秒内成图;配合周期调度形成"平时自动、急时手动"的发现节奏。
站点视图选"站点总览"后,画布做展示层变换:每个站点抽象为一个虚拟汇总节点(站点名+在线数/总数),站与站之间的多条链路聚合为一条站间链路(悬停可看链路条数),右上提示"站点总览:双击站点钻入"。双击站点节点即钻入该站点的设备拓扑,从下拉切回其他视图即退出。总览是纯展示层变换,不会写入已保存拓扑。


已知限制:总览态下站间聚合连线当前存在渲染缺陷(连线与×N角标不可见,悬停链路仍可见聚合说明),已登记待后续版本修复。
节点详情卡点"影响分析":基于已保存拓扑的链路方向推算该设备故障的波及面——下游设备(精确依赖)沿无线语义逐跳展开并给出跳数,相邻设备(有线/手工边)列出一跳邻居(方向未知)。割接前评估"断了这台 AC,哪些 AP 的终端会掉",一目了然。


注意:列表基于已保存拓扑推算,拓扑未保存或与实时链路不符时以保存拓扑为准;当前对手绘/历史拓扑中非标准编号的节点,精确依赖可能为空(口径限制,已登记)。
对无被动上报的第三方交换机/AP,系统提供 SNMP 主动轮询补全有线链路(入口在设备详情页 SNMP 配置区,拓扑画布中以 SNMP 徽标连线呈现):
LLDP/FDB 轮询开关:对该设备后台低频轮询 LLDP 邻居与转发表,补全有线链路;
全局轮询(新):SNMP 轮询总开关(需专业/企业版授权),落库持久、跨重启保持,关闭后不再产生轮询负载;
立即探测(新):对单台设备立即采集一轮并回报邻居数,不等 5 分钟周期、不受全局开关约束(同设备 10 秒冷却),用于配置完 SNMP 参数后马上验证连通性。


入口:菜单「设备拓扑与地图 → 设备地图」(路由 /map)。
基于高德地图渲染,一次性拉取全部设备,使用设备详情页录入的经纬度定位(高德 GCJ-02 坐标,无需转换);
仅渲染经纬度有效的设备,因此新设备入库后请先到设备详情页"地图选点"补录坐标;
按 deviceType 选择不同图标(基站/AC/CPE/路由器等),并以视觉区分在线/离线;
顶部图例可折叠,按设备类型展示色条与中文名称(路由/交换/AP/AC/CPE/移动),名称与颜色可在“色系配置”中自定义(存于 type_color_config 表,内置种子已修正为中文显示;早期历史库中曾以字面转义串写入 label,升级到当前版本后启动时会自动修复为中文,无需手工改库);
点击标记弹出设备静态摘要(名称/类型/状态等),可一键跳转设备详情;
与拓扑页"异常设备"面板联动:异常设备可快速定位到地图位置。


入口:菜单「可视化 → 指标趋势」(路由 /metricTrend)。
选择单台设备与时间窗(6 / 24 / 72 / 168 小时),读取时序库 device_metric_ts;
双轴折线图:左轴百分比指标 —— CPU、内存、CCQ、健康评分;右轴 —— 收发速率、信号 dBm;
数据受保留期限制(默认最长回溯 7 天),更早的历史请查阅统计报表。


入口:菜单「可视化 → 统计报表」(路由 /report)。
条件:聚合周期(日/周/月)+ 日期区间 + 范围(全网或单设备);
表格展示每台设备在各周期的均值/极值指标,配合折线图直观对比;
支持导出 CSV(含 BOM,Excel 直接打开不乱码)与图表图片导出;
说明:周/月报表由日数据二次聚合;受时序保留期(默认 7 天)限制,月度报表按可用天数展示。


入口:菜单「可视化 → 监控大屏」(路由 /screen)。
独立全屏页面(不含系统导航),深色主题,按 1920×1080 设计并随窗口自适应缩放,适合投放值班大屏;
聚合展示:总览统计、无线健康、实时告警滚动、设备分布地图等;
15 秒自动刷新;地图组件加载不就绪时自动退化为设备分布统计,不影响其余模块;
参考整屏效果:


入口:菜单「可视化 → 流量分析」(路由 /traffic)。
面向接口级带宽利用的分析页,数据来自每次采集周期自动写入的时序表 device_interface_traffic_ts(与指标趋势共用采集链路,保留期默认 7 天):
设备选择 + 时间窗:选择单台设备与时间窗(1 / 6 / 24 / 168 小时);
接口实时快照表:列出各接口最新的实时收发速率(rx/tx bps)与累计字节流量,当某接口峰值超过窗口均值 3 倍时以红色标记,便于快速定位带宽热点;
收发趋势面积图:按分钟/小时/日粒度聚合的 rx/tx 速率曲线(tx 轴镜像向下),直观展示链路忙时;
全网 TOP 榜:按接口峰值速率排序的横向堆叠柱,定位全网最繁忙的接口。
接口速率与累计字节均直接取自设备上报的
interfacerates与interfacestats报告段,无需人工配置;无流量上报的接口速率为 0。


运维闭环将"告警发现 → 工单处置 → 配置修复 → 批量执行"串成完整链路,并提供设备自助接入向导与队列限流、持续 Ping 两项运维监测能力。


入口:菜单「运维闭环 → 告警工单」(路由 /alarmTicket)。
工单自动生成:设备上报越限(runtime)或离线(offline)时,后端自动 upsert 工单;重复触发只递增"发生次数",不产生重复工单;
恢复自动解决:数据驱动预警的设备当所有指标从 firing 恢复(resolved)且无剩余告警时,系统自动把该设备 runtime 工单置为"已解决"(状态 3),操作人记为 system,无需人工关单;离线工单仍需人工流转;
KPI 卡片:未结 / 未处理 / 处理中 / 已解决 / 已关闭 各状态计数;
过滤条:按状态、级别、类型、设备 MAC 查询;
状态流转:未处理 → 确认 → 处理中 → 已解决 → 已关闭,每次流转可填写备注;操作人由服务端从 JWT 注入,前端不可伪造,全程可审计。
入口:菜单「运维闭环 → 配置基线」(路由 /configBaseline)。
操作 说明 抓取当前配置 选择设备后经 RouterOS API 执行 /export,获取完整配置正文保存为快照 快照落库并计算 SHA-256 指纹,内容重复可识别 查看正文 弹窗查看快照完整配置 设为基线 将某快照标记为该设备的基线版本 与基线 Diff 前端行级 LCS 比对,新增行绿色/删除行红色高亮,快速发现配置漂移 一键回滚 将快照正文写入 device_script,生成回滚脚本待设备端拉取执行(非实时下发,执行有延迟)


入口:菜单「运维闭环 → 批量运维」(路由 /batchOps)。
设备选择:多选表格,支持按名称/MAC 过滤,表头显示"已选 N 台 / 共 M 台";
批量配置下发:对已选设备逐台写入 device_script(落库后待设备端拉取执行,非实时,请给予执行时间);
固件升级登记:为已选设备登记目标版本,状态置"待执行";设备完成升级后通过 /data/gather/firmware 回执自动更新当前版本与状态,无需人工回填。


入口:菜单「运维闭环 → 自动备份」(路由 /backup)。
自动备份在"配置基线"的快照能力之上,提供周期化、自动化的配置留存,含三块:
区块 说明 自动备份计划 计划的新增/编辑/删除与"立即备份全部启用计划";计划默认停用,到期由后端分钟定时器对范围内设备执行 /export,仅当配置内容(SHA-256 指纹)发生变化时才落一条 source=auto 快照,自动形成"配置变更时间线"。可按计划设置周期(分钟)、范围(全网或指定设备)与保留份数设备侧原生备份 向选定设备下发 /system backup save,设备本地生成可用 Winbox 还原的加密 .backup 文件(不回传二进制,需 Winbox 登录设备 /backup 目录下载);系统快照管理的是明文 /export 正文,二者互补快照下载 选择设备后列出其全部快照,支持按"原样正文"或"十六进制解码为中文"两种方式下载留存
备份计划为 opt-in:未新建并启用计划前不会自动抓取;抓取内容仍走"配置基线"同一快照存储,可在配置基线页做 Diff 与回滚。


入口:菜单「运维闭环 → 接入向导」(路由 /onboard)。
对接码自助接入向导把设备接入所需的"令牌 + 服务器地址 + 初始化脚本"封装为三步流程,便于新设备快速纳管:
接入信息:展示本系统对设备可达的服务器地址/端口、设备令牌(启用时显示、可复制)与按当前配置渲染好的 bootstrap.rsc 初始化脚本(可下载,或直接复制到 Winbox 的 New Terminal 执行);若服务器地址未显式配置,页面提示"设备侧将按自身网关自动探测";
一键植入:选择一台已入库的在线设备,由服务端向该设备下发 cloud_* 脚本与计划(幂等,可重复执行),使其开始持续上报;
状态确认:实时探测设备侧云服务配置是否齐全并回连,支持"立即检测"与自动轮询(5s),以标签给出纳管结论(如已启用/已是最新/已被他机纳管/失败/未配置等),并列出缺失项与陈旧项。
未启用云服务(
cloudConfig)时页面顶部给出警示,向导不可用,需联系管理员完成服务器配置。向导仅读取接入信息并复用既有植入/探测通道,不新增设备命令接口。


入口:菜单「运维闭环 → 队列监控」(路由 /queueMonitor)。
针对 RouterOS /queue simple 的限流与流量计数做采样 — 展示 — 重置闭环:
操作 说明 选择设备 + 采样 对选定在线设备实时读取 /queue simple,每台每队列落一行探针数据;表格展示队列名、限速、目标地址、已用字节等(列随版本回包动态兜底,可展开原始 JSON)查看趋势 打开历史曲线对话框,按队列分组展示字节增量随时间变化(多条曲线) 重置计数 对指定队列执行 bytes="" 清零(二次确认),操作人由服务端从 JWT 注入并落审计
采样结果与时序落
device_probe_metric(probe_type=queue)。手动采样随时可用;周期自动采样默认关闭(opt-in),需服务端在application-client.yaml将probeConfig.queueMonitorEnabled置true并重启,系统才按分钟周期对在线设备批量采集。


入口:菜单「运维闭环 → Ping监测」(路由 /pingMonitor)。
以"源设备 + 目标地址"为对象做持续 Ping 探测,量化链路时延与丢包:
操作 说明 监测对象 CRUD 新增/编辑/删除对象:选择发起 Ping 的源设备、填写目标地址(IP/域名,白名单校验防注入)、周期(分钟)、超时(ms)、启用开关 立即探测一轮 忽略到期时间,对全部启用对象即时探测一轮(异步执行,稍后点"刷新"查看);若上一轮未完成会提示稍候 最近结果 列表显示每台对象最近状态(正常/部分丢包/不可达/地址非法)、最近 RTT 与上次探测时间 曲线 打开该对象的延迟/丢包历史曲线(左轴平均时延折线、右轴丢包柱状),支持 6h / 24h / 3天 / 7天 时间窗
探测结果落
device_probe_metric(probe_type=ping)并回写对象最近状态。"立即探测"随时可用;周期自动探测默认关闭(opt-in),需服务端probeConfig.pingMonitorEnabled=true。


预警子系统由 9 个页面组成,采用数据驱动的评估引擎(指标字典 + 阈值条目 + 状态机防抖 + 恢复联动),取代早期"固定几项硬编码阈值"的判定方式:每次设备上报时,系统按设备所配置的阈值条目逐项评估,越限且达到"持续次数"才升级为告警(firing),回落即自动恢复(resolved)并发送"已恢复"通知、自动解决工单。
推荐按以下顺序配置:
指标字典(可监控指标与单位) → 预警设备(为设备挂载阈值条目:指标/算子/上下限/持续次数/级别)
→ 邮箱配置 / 通知渠道(发送通道) → 预警配置(发给谁/走什么通道/什么模板/什么级别)
→ 预警规则(静默/时段/重试/升级链) → 预警任务(把"配置+规则"绑定为可执行任务,须为"运行"类型才接收指标告警)
→ 活动告警面板(实时查看 firing) → 预警日志(执行结果追溯)
灰度说明:是否走新引擎由设备的"评估引擎"标识决定——在"预警设备"里为某设备保存过阈值条目后,该设备即切换到新版(数据驱动);尚未配置条目、仅有旧固定阈值的设备仍走旧版(固定列)判定,二者互斥不会重复告警。
入口:菜单「设备预警 → 邮箱配置」。
维护全局 SMTP 邮件服务(邮件通道使用此处配置,无需单独选择渠道):
字段 说明 配置名称 便于识别的名称 邮件服务器 SMTP 主机地址 用户名 / 授权码 发件账号及授权凭证(建议使用授权码而非登录密码) 端口 常见 465(SSL)/ 587(TLS) 是否启用 停用后邮件预警不可用
支持新增、修改、删除。
参数说明与示例:
参数 说明 示例 主机名称 SMTP 服务器域名,可在邮箱服务商帮助页查询 smtp.qq.com / smtp.exmail.qq.com / smtp.mxhichina.com用户名 发件邮箱账号 noc@company.com授权码 非登录密码!需在邮箱设置中开启 SMTP 并生成授权码 abcdefghijklmnopqr(16 位随机串)端口 SSL 常用 465,TLS/STARTTLS 常用 587,25 为明文不推荐465是否启用 停用后邮件预警派发直接失败 是


入口:菜单「设备预警 → 通知渠道」。
配置短信/语音/企业微信/钉钉/飞书/自定义 HTTP 等通道参数,一个渠道类型可配置多条(如多个钉钉群机器人):
字段 说明 配置名称 / 渠道类型 / provider(服务商) 渠道基本属性 地址 / Webhook 地址 通道服务入口 AccessKey / AccessSecret / 短信签名 / 模板Code 短信类服务商鉴权与模板参数 请求方法(POST/GET) / 端口(可选) / 请求头(JSON) / 请求体模板 自定义 HTTP 通道报文定制 成功标识 判断通道调用是否成功的响应特征串 短信接收号 短信/语音通道的默认接收号码 是否启用 参与派发的开关
参数说明与示例:
参数 说明 示例 网关/Webhook 地址 IM 类为机器人 webhook;短信/语音为服务商 API 网关;HTTP 为目标服务 钉钉: https://oapi.dingtalk.com/robot/send?access_token=xxxAccessKey / AccessSecret 短信/语音网关的鉴权账号与密钥,由服务商控制台获取 LTAI58xx... / 密钥(输入框为密文回显)短信签名 报备通过的短信签名,需带【】 【运维监控】模板 Code 网关侧审核通过的短信模板编号, ${content} 等变量位置由模板决定SMS_12345678请求体模板占位符 自定义 HTTP 模板中可用: ${title} ${content} ${mobile} ${mobiles} ${signName} ${templateCode} ${accessKey}{"msgtype":"markdown","markdown":{"content":"${title}\n${content}"}}成功标识 响应正文包含该子串即判定发送成功;留空则 IM 按错误码、HTTP 按 2xx 判定 钉钉填 errcode":0;若响应被误判失败(实际已收到),就按真实响应体补填此串
钉钉 / 飞书加签(群机器人安全设置):
当企业为群机器人开启了"加签"安全设置时,需在 AccessSecret(加签密钥) 填入机器人 Webhook 页面给出的 secret(通常以 SEC 开头):
钉钉:系统按当前 timestamp 计算 sign = Base64(HmacSHA256(timestamp+"\n"+secret, key=secret)) 并拼到 Webhook 的 URL 上;
飞书:系统将 timestamp 与 sign(空密钥的 HmacSHA256)写入请求体;
企业微信及未填加签密钥的场景保持直连发送,向后兼容,不受影响。
若机器人采用"自定义关键词"或"IP 白名单"模式,则无需填写加签密钥,留空即可。加签仅影响 IM 群机器人通道,短信/语音/邮件通道无关。
渠道建好后建议先点行内发送测试验证连通性,再投入预警使用。


入口:菜单「设备预警 → 指标字典」(路由 /warningMetric)。
集中维护可被监控的指标(编码、名称、分类、单位、取数方式、支持算子、默认上下限)。系统内置一批常用指标(如 CPU 负载、内存使用率、收发速率、接入终端数、信号强度 dBm、SNR、CCQ、电压、温度、干扰评分、健康分等),内置指标只读(修改/删除按钮禁用,后端 SQL 层亦以 built_in='0' 护栏兜底);运维可添加自定义指标扩展监控维度。
字段 说明 指标编码(metricCode) 唯一键,上报数据取值依据,如 cpuLoad指标名称 / 分类 / 单位 展示用信息,如 CPU负载 / 基础资源 / % 取数类型(sourceType) builtin 内置字段 / rf_scan 射频扫描冷读 / custom 自定义路径取数声明(sourceSpec) custom 类型的取值路径 JSON,如 {"segment":"health","field":"voltage","scale":0.1}支持算子(supportedOps) 该指标允许的判定算子集合,如 ["lt","gt","between"]默认下限 / 默认上限 新建阈值条目时的建议初值(非强制)
指标取数由后端在收到设备上报时自动解析,无需填写采集脚本;普通运维仅需了解各指标含义并在"预警设备"中挂载阈值即可。


入口:菜单「设备预警 → 设备配置」(路由 /warningDevice)。
定义被监控设备集合,并为每台(组)设备挂载阈值条目——每个指标一条规则,取代旧的固定电压/温度/信号输入框。
新增只需填写集合名称与设备 IP(多台以英文逗号分隔);
修改弹窗上半部仍是名称/IP,下半部是阈值条目子表格,可"添加条目/删行"逐条维护。
每条阈值条目字段:
字段 说明 指标 从指标字典下拉选择 算子(operator) lt 低于下限告警 / gt 高于上限告警 / between 越出[下限,上限]区间告警下限 / 上限 阈值数值(留空即该端不参与判断) 持续次数(pendingTimes) 连续越限达到该次数才升级为 firing,防抖(默认 1) 级别(severity) info / warn / critical;留空默认 warn 启用 关闭后该条目暂停评估
列表"评估引擎"列显示该设备走新版(数据驱动)还是旧版(固定列);保存过条目即切新版。
参数说明与示例:
场景 配置示例 含义 CPU 过高 指标=CPU负载,算子=between,下限=0,上限=85,持续次数=3,级别=warn 连续 3 次上报 CPU>85% 才告警,避免瞬时毛刺 弱信号 指标=接收信号强度,算子=lt,下限=-85,持续次数=2,级别=warn 信号低于 -85dBm 连续 2 次告警;经验参考:≥-65 优秀、-65~-75 可用、≤-80 易断线 高温 指标=温度,算子=gt,上限=65,持续次数=1,级别=critical 温度高于 65℃ 立即严重告警(critical 不受规则生效时段限制) 供电异常 指标=电压,算子=lt,下限=21,级别=warn 24V 供电设备低于 21V 提示供电异常
阈值先宽后紧逐步收紧,避免上线初期告警风暴。删除设备会联动删除其全部阈值条目并即时刷新预警缓存,改配置无需重启。


入口:菜单「设备预警 → 预警配置」。
定义"发生什么级别的告警、走什么通道、发给谁、发什么内容":
字段 说明 配置名称 如"核心设备掉线预警" 通道类型 邮件 / 短信 / 电话语音 / 企业微信 / 钉钉 / 飞书 / 自定义HTTP 告警级别 提示(info) / 警告(warn) / 严重(critical) 通知渠道 仅显示与所选通道类型匹配且已启用的渠道;留空则派发时自动取该类型默认渠道;邮件通道无需选择 接收对象 邮箱/手机号/群 Webhook 接收人等(随通道类型变化) 预警模板 告警正文模板,派发时自动追加设备名等信息
参数说明与示例:
参数 说明 告警级别参考 severity info 提示(日常通知) / warn 警告(需当天处理) / critical 严重(需立即处理,不受规则生效时段限制)掉线/严重报错→critical;电压温度越限、弱信号→warn;周报/巡检→info 接收对象 随通道类型变化:邮件填收件地址(逗号分隔多个);短信/语音填手机号;钉钉/企微/飞书 webhook 类可留空(地址已在渠道配置) noc@company.com,leader@company.com 或 13800001111,13900002222预警模板 正文底稿,派发时系统自动拼接设备名/IP/指标值 设备【${deviceName}】于${time}离线,请立即确认!


入口:菜单「设备预警 → 预警规则」。
定义告警发送策略,防止告警风暴:
字段 说明 规则名称 如"掉线预警默认策略" 设备数阈值 超过该数量设备异常时的处理阈值 静默期(分钟) 静默期内相同告警只发一次,0 表示不抑制 生效开始 / 生效结束 仅在该时段发送(支持跨午夜如 22:00~06:00);留空全天;critical 级不受时段限制 失败重试次数 通道调用失败后的重试(0~5 次) 升级链 按选择顺序作为兜底通道:前一通道发送失败自动切换下一通道;留空则只用预警配置指定的单一通道
参数说明与示例:
参数 建议值 说明 静默期 日常 15~30 分钟;抖动链路可取 5 分钟 相同告警在静默期内只发一次;填 0 则每条都发(易风暴,慎用)设备数阈值 小规模网段建议 5~10同时异常设备数超过阈值才触发(或按策略抑制),防批量误报 生效时段 白天 08:00~20:00;夜间免打扰可用 22:00~06:00支持跨午夜;注意 critical 级不受时段限制,任何时间都会发 失败重试次数 1~2同一通道发送失败后的重试上限(0~5) 升级链顺序 钉钉 → 短信 → 电话语音 即时性递增;邮件适合做归档兜底


入口:菜单「设备预警 → 预警任务」(路由 /warningTask)。
将"预警配置 + 预警规则"绑定为可执行的任务。任务类型已与后端枚举对齐:
字段 说明 任务名称 任务标识 任务类型 设备在线状态预警任务(掉线) / 设备运行状态预警任务 / 其他监控任务 预警配置 选择已建配置(决定通道与接收人) 预警规则 选择已建规则(决定抑制与时段策略) 是否启用 任务开关
列表展示任务名称、类型、关联配置/规则名称、状态与执行次数,支持修改/删除。
任务类型说明(关键):
类型 监控对象 说明 设备在线状态预警任务(DEVICE) 设备在线状态 定时探测,离线即告警并生成 offline 工单 设备运行状态预警任务(RUNNING) 上报的各项运行指标 数据驱动阈值告警与"已恢复"通知都只由 RUNNING 类型任务派发;电压/温度/信号/CPU 等不再是各建一个任务,而是统一由本类型任务接收 其他监控任务(OTHER) 自定义场景 预留其他周期性监控
⚠️ 要让"预警设备"里配置的阈值条目真正发出通知,必须至少启用一个"设备运行状态预警任务"并关联期望的预警配置与规则;否则指标越限只会更新活动告警面板与工单,不会推送通知。


入口:菜单「设备预警 → 活动告警」(路由 /warningActiveAlert)。
实时展示当前处于 firing(告警中) 的所有指标告警(来自数据驱动评估引擎),是"现在到底哪些设备哪些指标在报"的统一视图。
列 说明 设备 IP / MAC 告警设备 指标 越限的指标名称(编码) 级别 彩色标签:critical 红 / warn 橙 / info 蓝 当前值 / 触发条件 最近一次上报值与命中的阈值描述 越阈次数 累计连续越限次数 首次触发 / 最近通知 首次 firing 时间与最近一次通知时间
工具栏可刷新,或勾选自动刷新(10s)做值守监控。指标回落后该行从此面板消失,并按预警任务联动发送"已恢复"通知、自动解决 runtime 工单。


入口:菜单「设备预警 → 预警日志」。
追溯每次告警派发的执行结果:
字段:预警任务、预警状态、通道、接收人、预警内容、Provider 响应、耗时(ms)、预警时间等;
支持刷新与批量删除;
排查"没收到告警"时:先确认任务启用 → 查看日志中该次派发状态与 Provider 响应 → 结合通道配置中的"成功标识"判断网关侧是否真的发送成功。
关键字段解读:
字段 解读 预警状态 绿=成功,红=失败(含重试后仍失败) Provider 响应 网关原文,如钉钉 errcode:0、短信 OK;出现 550 mailbox unavailable 为邮箱地址无效,sign not exist 为短信签名未报备耗时(ms) 单次派发总耗时;正常 IM/短信约 200~500ms,超过 1s 多为网关拥堵,持续偏大应检查网络或更换服务商


入口:菜单「系统管理」(仅拥有 sys:* 权限的管理员可见,普通用户菜单自动隐藏,直接输入 URL 也会被路由守卫拦回首页)。
用户列表(不回显密码)+ 新增/编辑;重置密码、删除;
分配角色:多选下拉绑定角色;
用户密码由后端 BCrypt 加密入库,任何接口不回传明文;
后端防止"自锁"保护:不允许当前管理员删除/停用自身。
字段说明与示例:
字段 说明 示例/规则 用户名 登录名,创建后不重名 noc_liu邮箱 / 手机 建议必填:预警接收人、工单通知均可能引用 liu@company.com / 138****1111密码 仅新增时填写;后端 BCrypt 加密入库,列表/接口永不回显;忘记时请用"重置密码" 建议≥8 位含大小写与数字 角色 多对多;决定菜单可见性与接口权限 新建只读账号仅勾"值班只读"角色


角色新增/编辑/删除(内置 admin 角色不允许删除);
分配菜单:树形勾选该角色可见的菜单(按 parentId 组装,勾选项与 role_menu 存储精确对应);
角色决定用户登录后左侧动态菜单的可见范围与接口权限。
分配菜单树勾选示例:
目标角色 建议勾选 运维员 设备扫描/列表、无线终端、射频分析、可视化全部、运维闭环全部、设备预警(不含邮箱/渠道管理)、系统工具 值班只读 数据看板、设备列表、无线终端、监控大屏、预警日志(仅查看)
树节点采用独立勾选(check-strictly):勾选"设备预警"目录不会自动全选子项,需逐个确认子菜单,避免误授权。


树表维护菜单项:名称、路由 path、权限标识(permission)、图标 icon、排序 sort、上级 parent;
存在子菜单时禁止删除,防止孤儿节点;
修改后用户重新登录(或刷新菜单)即生效。
字段填写规则:
字段 规则 示例 类型 目录=仅分组无页面;菜单=可点击页面;权限点=仅接口鉴权不出现在导航 新增"告警看板"页面应选菜单 路由路径 类型=菜单时必填,需与前端路由一致 /alarmTicket权限标识 与后端 ApiAuthHandler 前缀规则对应,命名用 资源:动作sys:user、top:edit上级菜单 留空为顶级;存在子项的节点不可删除 "用户管理"上级选"系统管理(目录)"


系统对所有非 GET 的 /api/** 写操作全局落审计日志(密码类字段已掩码);
过滤条:用户名、动作关键字、日期区间;
行展开可查看请求 params 快照,用于事后追溯"谁在什么时候改了什么";
射频信道下发、告警工单流转等操作人均取自 JWT,不可伪造。
方法列彩色标签与展开行说明:
元素 含义 方法标签 橙=POST(新增)、蓝=PUT(修改)、红=DELETE(删除);GET 查询不落审计 响应码 绿=200 成功;红=4xx/5xx(如凭据错误、无权限被拒) 展开行 params 快照 请求参数原文,密码类字段已替换为 ****;用于事后取证"改了什么"
示例排查:发现某日 09:47 一条 POST /api/rf/apply(信道下发)记录,展开可见旧值/新值频率参数与操作人,即可定位到变更源头。


入口:菜单「系统管理 → API Key」(仅管理员可见)。
面向对外开放与自动化集成的长期凭证,与登录 JWT(短期会话令牌)互补。支持生成 / 列表 / 吊销:
生成POST /api/config/api-key/generate:指定名称与 scope,创建时明文密钥仅展示一次,请当场复制保存;后端仅存其 SHA-256 哈希,之后任何接口不再回传明文;
列表GET /api/config/api-key/list:展示名称/scope/创建时间/最后使用,不回显密钥;
吊销POST /api/config/api-key/revoke/:id:立即失效,不可恢复。
scope 分级(决定这把 Key 能做什么):
scope 能力 对应虚拟权限 read只能调用 GET 查询类接口 top:viewwrite可调用非 GET 的写操作(含 read) top:editmcp可访问 /mcp 服务— *全部权限 全部
使用方式:请求头 X-Api-Key: <明文密钥> 作用于任意 /api/** 接口;权限门禁按方法分级——GET 需 read,非 GET 需 write。用仅含 read 的 Key 调写接口会返回 403(本轮验证矩阵已实测)。


入口:菜单「系统管理 → MCP 接入」(可查看工具清单与接入示例)。
MCP(Model Context Protocol)服务供 AI 助手/自动化平台以标准协议查询与操作本系统。服务端为 JSON-RPC 2.0:
端点:POST /mcp(可选 GET /mcp 返回服务信息);该路径不在 /api/ 前缀下,鉴权在 Handler 内部自行校验;
鉴权:请求头 Authorization: Bearer <含 mcp scope 的 API Key>;无 Key 或未含 mcp scope 时返回 JSON-RPC error(-32001 / -32003)而非 HTTP 401,属协议约定;
方法:initialize、tools/list(返回工具清单)、tools/call(调用具体工具)。
内置工具清单:
工具 读写 说明 list_devices读 列出纳管设备(可按 online/offline 过滤) get_device_detail读 按 MAC 取单设备详情(CPU/内存/运行时长等) get_active_alerts读 当前 firing 告警(可按 severity 过滤) get_topology读 拓扑图节点与边 get_wireless_stations读 某 AP 的接入终端列表 get_rf_scan读 某设备最近射频扫描结果 get_traffic_summary读 某设备最新流量/CPU/内存 get_script_result读 按队列 ID 取脚本执行结果 queue_script写 下入待执行脚本,需 write scope(否则返回 -32003)
示例:
curl -X POST http://<host>:<port>/mcp -H "Authorization: Bearer <key>" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_devices","arguments":{"status":"online"}}}'


入口:「系统管理 → 第三方登录」管理页面(路由 /oauthSettings,需 sys:oauth 权限、企业版授权),管理员在页面填写参数并保存即生效,无需修改 yaml、无需重启;账号绑定为用户侧操作,位于顶部标题栏右侧「账号绑定」按钮(路由 /oauthBind,登录用户均可见)。
启用:在 /oauthSettings 页面配置。页面含总开关与钉钉/飞书各自的独立开关及凭据(钉钉需 AppKey/AppSecret,飞书需 AppID/AppSecret;任一对凭据未填齐时该入口返回“第三方登录未启用或配置不完整”),系统始终可正常口令登录。
存储与生效:配置保存于 oauth_config 表,库内值优先覆盖 application-client.yaml 的 oauthConfig 兜底值(yaml 仅在库中无记录时生效);登录页可见的供应商列表读取公共端点 GET /api/oauth/config,库内保存后即时生效免重启。
密钥安全:AppSecret 落库前以 AES-GCM 加密存储;页面回显仅给脱敏信息(AppKey 首尾各 2 字符 + ****,密钥只显示“已设置/未设置”),密钥永不回显;编辑时密钥留空 = 不改动存量值。
版本限定:第三方登录配置页、登录与账号绑定均属企业版门控功能(OAUTH 键);非企业版证书下菜单 /oauthSettings 置灰锁定、/oauthBind 入口锁定、/api/oauth/** 返回 403(见 §18.10)。
回调地址:redirectUri 必须填写为前端 hash 路由形式 http://<系统地址:端口>/#/oauth/callback/<provider>,并在钉钉/飞书开放平台登记完全一致的回调地址;留空时的相对兜底路径无法被平台正确回跳。
账号绑定页 /oauthBind(顶部栏进入):GET /api/oauth/config 展示启用状态与供应商;GET /api/oauth/bindings 列出当前用户已绑定身份;POST /api/oauth/bind 完成首次绑定、POST /api/oauth/unbind 解绑(均用登录 JWT,绑定关系存于 oauth_binding 表)。
授权链路 GET /api/oauth/url/:provider 与回调 GET /api/oauth/callback/:provider 属公开白名单,由登录页第三方入口触发。




入口:左侧菜单「系统工具」。
面向选定在线设备运行只读诊断/运维工具,全部经后端 RouterOS API 实时执行(要求设备在线且已保存登录凭据;选择离线设备时页面会给出黄色警示)。
工具条选择目标设备(下拉含名称/MAC/在线标签),页签提供 5 种工具:
页签 功能 关键参数/输出 Ping 测试 从设备侧发起 ICMP 目标地址、次数(1~50);输出发送/接收/最小/平均/最大时延与逐跳明细 Traceroute 路由追踪 目标地址;耗时较长(最长约 30s),输出途经网关列表 无线扫描 扫描周边无线 AP 无线接口(如 wlan1)、时长(2~15 秒);输出 SSID/信号/信道(部分型号参数不同) 网络信息 一键查询 IP 地址、路由表、ARP、DHCP 租约四张表 配置备份 /export 导出完整配置页面展示正文,可下载 .rsc 文件留存
链路连通性与带宽问题排查可参考系统工具实测:


日志联动分析:


点击顶部标题栏右侧退出按钮:
弹出确认框"确定注销并退出系统吗?";
确认后系统清除本地令牌与用户状态,并跳转回登录页;
超时未操作重新访问系统时同样会要求重新登录。
① 登录系统 → ② 设备扫描(填网段+凭据,逐台选类型并保存)
→ ③ 设备列表(刷新状态确认在线)→ ④ 设备详情(编辑名称/位置/经纬度/照片)
→ ⑤ 设备拓扑(自动绘制→保存布局)→ ⑥ 数据看板/监控大屏验收
数据看板发现"差"级 AP → 无线终端定位高负载/弱信号 AP
→ 查看健康趋势确定劣化时间窗 → 射频分析"开始扫描"
→ 查看推荐信道与干扰评分 → 确认业务低峰期"一键下发"
→ 下发审计留痕 → 观察评分是否回升
无线终端 → 选择 AP → 定位投诉终端 MAC 行 → 点击查看事件时间线
→ 分析 7 天内接入/离开与信号变化 → 结合 CCQ/SNR 判断覆盖或干扰问题
→ 转射频分析或调整点位
指标字典(确认待监控指标)→ 邮箱配置/通知渠道 → 预警设备(圈定设备 + 挂载阈值条目)
→ 预警配置(级别/通道/接收人/模板)→ 预警规则(静默期/时段/重试/升级链)
→ 预警任务(绑定并启用;指标告警需一个"运行状态"类型任务才能派发)
→ 活动告警面板实时观察 firing → 预警日志验证派发 → 告警工单处置(恢复自动关单)
配置基线:抓取配置 → 保存快照 → 设为基线
日常:定期抓取与基线 Diff → 发现漂移 → 一键回滚(待设备端执行)
批量:批量运维下发脚本 / 登记固件升级 → 回执自动更新状态
灾备:自动备份启用计划(仅配置变更才存快照)→ 快照下载留存
接入向导:① 查看服务器地址/设备令牌、下载 bootstrap.rsc
→ ② 选择在线设备"一键植入"云服务配置(幂等)
→ ③ "立即检测 / 自动轮询"确认纳管状态(缺失项/陈旧项一目了然)
队列监控:选设备 → 采样 → 查看各队列限速/已用字节 → 打开趋势曲线 → 需要时"重置计数"
Ping 监测:新增"源设备 + 目标"对象 → "立即探测一轮" → 查看最近状态 → 打开延迟/丢包曲线
(周期自动采样/探测默认关闭,需服务端开启 probeConfig 后按分钟周期运行)
本系统采用授权证书(License)强校验机制。试用用户与正式客户在此关注同一套规则:证书放在哪里、到期前会怎样提醒、到期后会造成什么后果。
证书均位于与 topology.exe 同级的 license\ 目录(即运行目录下,不是 jar 内部):
文件 作用 是否可手动修改 license\license.lic授权/试用证书正文,含生效时间、到期时间、可选的机器绑定信息 只由厂商签发,不可自行编辑 license\publicCerts.keystore验签用公钥库,必须与证书成对 不可删除、不可替换 license\license.installed安装标记(首次校验通过后自动生成) 可删,删除后会重新安装校验
授权校验共三层,逐层收紧:
启动门:程序启动时校验一次;
周期复检:默认每 30 分钟复检一次(对应配置 licenseRecheckMinutes),因此到期时间已过但程序未重启也会被识别;
每次请求:所有业务接口逐个判定,授权失效时统一返回 403。
进入“到期前 N 天”窗口后(默认 N=7,可调),会在两处提示续期:
位置 表现 首页顶部横幅 黄色提示条:“授权/试用将于 日期 到期(剩余 N 天),请及时续期。”可手动关闭,仅影响当前页面 系统托盘气泡 服务启动时弹一次同文案气泡(标题“授权即将到期”);无桌面环境自动跳过
提醒只在尚未过期时有效。已过期后写操作已被拦截,登录也进不去,因此“没看到提醒”不等于“不会过期”,请以
license\license.lic的有效期或界面状态接口为准。
场景 表现 打开管理页面 页面本身仍会加载(静态资源不拦) 任何登录/查询/保存操作 返回 403,提示“系统授权已过期或无效,请联系管理员” 设备侧上报通道 同样被拦(校验在免鉴权白名单之前生效) 系统托盘 弹标题为“授权已失效”的提醒气泡
重要:到期后连登录都会被拦(不只是“不能保存”),因此请务必在到期前完成续期,避免在无人值守时彻底失去系统入口。
有效期从“签发时刻”起算,不是从“安装时刻”起算。例:厂商 10 月 2 日签发的 15 天证书,你在 10 月 10 日才安装,可用天数只剩 7 天。请拿到安装包后尽快部署。
试用包与正式包功能完全一致,未开通时长限制以外的功能裁剪。
部分证书会绑定指定机器的网卡 MAC 以阻止拷到第二台机器运行:
普通(不绑定)证书:直接放 license\ 即可,默认配置就能跑;
绑定证书:除放证书外,服务端需将 application.yaml 的 securityConfig.licenseHardwareCheck 置为 true 才会强制生效(默认 false,以保证旧的非绑定证书升级后不被误拦);
绑定生效后,更换网卡/更换主机将导致校验失败,需联系厂商重新签发。
从厂商取得新的 license.lic(如需换公钥库,会一并下发 publicCerts.keystore);
停止服务(托盘右键“退出”或 stop.bat);
覆盖 license\license.lic;若为新公钥体系,同时覆盖 license\publicCerts.keystore;
删除 license\license.installed(避免命中旧的校验缓存);
重新启动,确认启动日志出现“授权校验通过”且首页不再弹续期提醒。
证书与公钥库必须同批成对:用新公钥库配旧证书、或用旧公钥库配新证书,均会报“证书无效”。
以下项位于 application.yaml 的 securityConfig 下,修改后需重启生效:
配置项 默认值 说明 licenseEnabledtrue是否启用授权强校验;关闭后系统不拦任何写操作 licenseWarnDays7到期前多少天开始界面/托盘提醒; <=0 关闭提醒licenseRecheckMinutes30运行期周期复检间隔; <=0 关闭周期复检licenseHardwareCheckfalse是否启用网卡 MAC 绑定校验(仅分发绑定型证书时置 true)
已登录用户可访问状态接口 GET /api/license/status(仅需登录,不需额外权限),返回字段:
字段 含义 licensed当前授权是否有效 remainingDays剩余天数 notAfterText到期日期(yyyy-MM-dd) expiringSoon是否已进入续期提醒窗口 warnDays提醒窗口天数
证书除有效期外还携带授权版本(Edition)信息,决定“能用哪些功能、能管多少设备”。版本判定与登录权限(RBAC)正交:权限管“谁能操作”,版本管“这份授权买没买这个功能”。
版本 基线能力(逐级叠加) 默认设备上限 备份限额 社区版(community,免费) 拓扑图 + 实时监控 + 配置备份/快照 5 台 每台设备 1 次(累计) 标准版(standard) + 扫描纳管 / 实时只读查询 / 系统工具 / 基础告警 / 用户角色菜单管理(RBAC) 不限 不限 专业版(pro) + 脚本队列 / 告警工单 / 流量趋势 / 无线健康 / 数据看板 / 监控大屏 / 探针监测 不限 不限 企业版(enterprise) + 操作审计 / 配置基线与批量运维 / 固件管理 / API Key / MCP / 第三方登录 / 内嵌 SSH 终端 / 多站点集成(全部能力) 不限 不限
判定来源:版本取自证书内的 edition 字段;证书未携带版本信息(历史“通用证书”)或无法识别时,按企业版全功能不限兜底,保证存量部署零影响;证书可在基线之上显式追加 allowedFeatures(取并集)。
未授权时的表现:对应功能菜单置灰并显示锁标记;接口在鉴权前被版本门控拦截,返回 403(文案“当前授权版本[xx]不含该功能,如需使用请升级授权”);社区/标准版首页改为起始引导页(见 §4)。
设备配额:超出当前版本设备上限时,新增纳管会被拒绝并给出升级引导(计数按 device 表全量,离线设备不释放名额)。
查看当前档位:GET /api/license/features(仅需登录)返回 editionName、maxDevices/unlimitedDevices、backupLimitPerDevice、当前已纳管台数与生效功能集等。
升级方式:由厂商签发更高档位证书,更换步骤同 18.7;各版本定价与能力明细见《收费模式及标准》。
本章面向部署人员,说明数据落在哪里、哪些内容受保护、哪些不受保护。
路径 内容 敏感性 随安装包分发 data\routeros.s3db主数据库(设备台账/凭据/拓扑/告警/审计等) 高 否,安装包不再内置库文件;目标机首次启动自动建表与初始数据自建空库 config\aes.key设备凭据 AES 主密钥 极高 否,首次启动自动生成 config\jwt_private.pem会话令牌签名私钥 极高 否,首次启动自动生成 config\device.token / mail.password / db.credentials设备上报令牌/邮箱授权码/数据库连接凭据 高 否 backup\*.s3db启用自动备份后的每日滚动库副本 高 否 uploads\设备详情图片 低 否 logs\运行日志 中(可能含设备 IP、操作记录) 否
本系统使用 SQLite 单文件数据库(data\routeros.s3db)。需要明确告知使用方:
该文件不需要任何用户名/口令即可被打开,任何标准 SQLite 工具(如 DB Browser for SQLite)都能直接读取全部表;文件扩展名不是保护手段;
这是嵌入式单机库的行业常规做法,代价是文件级权限就是唯一的访问控制。
因此请务必:
要求 具体做法 不要将库文件放入共享目录/网盘/云同步盘 仅保留在本地路径,按最小必要原则共享 限制操作系统层访问权限 用 Windows 账户权限控制安装目录的读取权 对外分发前确认 data\ 为空库尤其不要把自己现网的库当作模板发给他人 备份副本同等对待 backup\ 下每个 .s3db 都是主库的完整明文副本,请按保密级处置或定期清理
表/字段 存储形态 说明 user.password(登录口令)BCrypt 哈希 不可逆,看不到明文只能验证 device_login.login_password(设备口令)AES 密文(新写 ENCG:/历史 ENC: 前缀)依赖本机 config\aes.key 解密mail_config.password(邮箱授权码)AES 密文(新写 ENCG:/历史 ENC: 前缀)与设备口令同源加密;启动期一次性将历史明文迁移为密文,写入前自动加密 notify_channel_config.access_secret(IM 加签密钥)AES 密文(新写 ENCG:/历史 ENC: 前缀)同上;钉钉/飞书加签取用前自动解密 oauth_config.app_secret(第三方登录 AppSecret)AES 密文( ENCG: 前缀)页面保存即加密,永不回显;留空提交表示不改动存量密钥
加密算法说明:上表四类密文的新写入一律采用 AES/GCM(随机 IV、完整性校验,前缀
ENCG:);历史ENC:(AES/ECB)密文仍可直接解密读取(双读兼容),且服务启动时会自动把存量ENC:记录一次性升级为ENCG:(幂等,升级失败保留原值不影响启动)。无前缀=历史明文,启动期加密迁移与取用前加密兜底不变。
两条重要提醒:
设备口令密文与本机密钥绑定——只把
data\拷到另一台机器而不同时迁移config\aes.key,原存凭据将无法解密,需重新录入。拿到整机目录的人同时拿得到
config\aes.key,因此“列加密”防的是“只拷走库文件”的场景,不能防整机拷贝。
需要对外提供数据时,优先使用界面报表/导出功能,只给业务字段,不要直接给 .s3db 文件;
报废/重装前若库中存有真实设备凭据,建议先停用服务并安全删除 data\ 与 backup\;
审计需求:“系统管理 → 操作审计”保留了写操作痕迹,但该表同样无口令保护,请按保密级处置。
问题 处理建议 全新机器首次安装怎么启动 双击 topology.exe(或安全版 topology-secure.exe)即可。无需预先建库或手工执行 SQL:首次启动会自动在程序目录下自建 data\routeros.s3db 全部业务表、写入内置菜单/角色/初始管理员,并自动生成 config\ 密钥与 logs\。启动后用 admin / Admin@123 登录(需先向厂商获取与本机匹配的 license\ 证书),登录后立即修改初始口令。若托盘图标未出现或页面打不开,优先查 logs\ 下当日日志末尾是否“授权校验失败”扫描不到设备 确认服务器与设备网段路由可达;确认设备 API 服务(8728)已开启;跨网段时服务器需配置对应网段 IP;检查账号密码 数据看板"在线终端/无线健康"为空 相关数据依赖设备上报:确认设备已入库并开启云服务配置;等待至少一个上报周期后刷新 设备地图看不到某台设备 该设备未录入有效经纬度,请到设备详情页"地图选点"补录 射频分析打开没有数据 页面仅冷读历史扫描结果,首次使用请选择 AP 后点击"开始扫描"(注意会短暂中断该接口) "一键下发"灰色不可点 当前信道已是最优(无需下发),或未选择设备/未扫描 收不到预警通知 按序检查:①是否启用了"设备运行状态预警任务(RUNNING 类型)"——数据驱动阈值告警只由该类型任务派发;②设备是否已保存过阈值条目(列表"评估引擎"=新版);③任务/预警配置/预警规则是否启用且正确;④通知渠道/邮箱配置是否启用且参数正确;⑤预警日志中 Provider 响应与耗时;⑥规则静默期/生效时段是否屏蔽(critical 不受时段限制) 配了阈值却不告警 检查持续次数(pendingTimes)是否过大、算子与上下限是否填反( lt 用下限/gt 用上限/between 两端)、该指标是否有上报数据(取不到值不参与判断);并确保设备已切到新版评估引擎告警会自动恢复吗 会。指标回落后 firing→resolved,系统发送"已恢复"通知(info 级);当该设备无剩余 firing 告警时,自动把 runtime 工单置为"已解决"(operator=system) 批量下发脚本后设备未变化 脚本为落库待执行模式,由设备端拉取后执行,存在周期延迟;确认目标设备在线 看不到"系统管理"菜单 当前用户无 sys:* 权限,请联系管理员在角色中分配对应菜单报表查不到更早月份数据 时序数据有保留期(默认 7 天),超期数据不可回溯,建议定期导出报表留存 拓扑编辑无权限 需要 top:edit 权限,请联系管理员内嵌 SSH 终端连不上 / 无 Terminal 入口 需 sys:ssh 权限(默认仅 admin);设备需在线且登录凭据有效;SSH 走独立端口,确认该端口对浏览器可达队列监控 / Ping监测"没有自动数据" 二者周期任务默认关闭(opt-in):手动"采样"/"立即探测一轮"随时可用;要让系统按分钟周期自动采集,需服务端在 application-client.yaml 开启 probeConfig.queueMonitorEnabled / pingMonitorEnabled 并重启接入向导顶部红色警示、无法操作 云服务未启用( cloudConfig 未配置或 disabled),向导不可用,请联系管理员完成服务器配置自动备份计划未产生快照 计划默认停用且"仅配置内容变化才存":先启用计划,再确认设备在线可 /export;配置无变化时不重复落快照属正常首页出现黄色到期横幅 / 托盘弹“授权即将到期” 属正常提醒:当前授权剩余天数已进入 licenseWarnDays(默认 7 天)窗口,请在到期前向厂商索取新证书并按 18.7 更换一点登录就提示“系统授权已过期或无效,请联系管理员” 授权已过期或证书与公钥库不成对;校验在登录白名单之前生效,所以过期后连登录都不可用。放入新证书并删除 license\license.installed 后重启放入新 license.lic 仍报证书无效依次检查:①是否删了 license.installed;②公钥库 publicCerts.keystore 是否与证书同批成对;③证书是否已被使用期(签发起算)覆盖;④是否为绑定 MAC 的证书而本机未开 licenseHardwareCheck 或换了网卡/主机换机/重装后原先保存的设备连不上 设备凭据为本机 AES 加密,仅迁 data\ 而不同迁 config\aes.key 会导致无法解密;请在设备详情页重新保存凭据,或同时迁移 config\ 目录能否给数据库设一个打开密码 不能。SQLite 单文件库无访问口令,扩展名也不是加密;请通过系统目录权限与“不把库文件交给他人”控制,详见 19.2 交付/演示前需要清理哪些东西 把 data\ 换为空库(或由首启自建),清空 backup\、logs\、uploads\,并从交付包中移除 config\ 目录双击 exe 后托盘图标一闪就没了 / 页面始终打不开 两种常见原因:①授权未通过——此时服务根本不发布且无界面提示(见 18.4),查 logs\routeros-<日期>\*.log 末尾是否有"授权校验失败,拒绝发布HTTP服务";②内存参数被改坏,查 logs\error.log 是否有 OutOfMemoryError系统运行一段时间后自动退出、没有任何提示 GUI 启动器不显示控制台,进程级故障只会留在文件里。按序取四处现场:① logs\error.log;②程序目录及其 logs\ 下是否出现 java_pid*.hprof(有即发生过 OOM);③Windows 事件查看器 → Windows 日志 → 应用程序,来源 Application Error(事件 1000/1001);④logs\gc.log 末尾是否 Full GC 连续刷屏。把这几个文件交厂商即可定位,无需复现界面还在,但一点菜单就提示"系统授权已过期或无效" 属预期行为:运行中的周期复检不会杀掉进程,但全局校验会在每个请求上拒绝,故页面留存而接口一律 403(含登录)。按 18.7 更换证书并删除 license\license.installed 后重启设备规模变大后想调整内存参数 改 run\start.bat / run\start-secure.bat 的 JVM_OPTIONS 即生效;若用 topology.exe 交付,须同步改 setup\*.exe4j 的 vmParameters 并重新生成启动器。调整时保持 MetaspaceSize 明显小于 MaxMetaspaceSize(如 128m / 512m),堆大小按整机内存余量设置,详见 2.3第三方应用调 API 返回 403 确认该 API Key 的 scope:GET 需 read,非 GET 需 write;用 read Key 调写接口会被拒。需写能力则另发一把含 write 的 Key/mcp 调用返回 -32001 / -32003MCP 走 JSON-RPC error 而非 HTTP 401:-32001=未携 Authorization: Bearer <key>,-32003=Key 缺 mcp scope(或写工具缺 write scope);去“API Key 管理”生成含对应 scope 的 Key深色主题不生效 / 刷新后丢 主题选择存于浏览器 localStorage(键 app-theme),换浏览器或清除缓存会回到默认浅色,需重新切换流量分析页没数据 页面冷读 device_interface_traffic_ts:需设备已入库并至少完成一个上报周期;受保留期(默认 7 天)限制,更早历史不可回溯新建 API Key 忘记保存明文 后端只存 SHA-256 哈希、不可逆转回显;明文仅在生成时展示一次,丢失只能吊销后重新生成 设备地图顶部图例显示 \u8def\u7531 这类字面转义串早期内置种子把中文名称写成了字面转义串(仅显示问题,不影响数据)。升级到当前版本并重启后,启动会自动修复存量库中的损坏 label 回中文(仅命中原损坏值,不覆盖用户自定义名称),无需手工改库 用 env=cloud 启动后进程秒退、HTTP 始终不起预期行为:云/中心版(MySQL)形态尚未发布,启动器对 env=cloud 直接拒启并在日志输出引导(避免半成品配置部署半瘫服务)。请使用单机客户端版 env=client(见 §2.2)某些菜单置灰带锁、点击接口报 403“当前授权版本…不含该功能” 属版本门控预期行为:当前证书档位不含该功能(见 §18.10)。需升级则由厂商换发更高档位证书,更换步骤同 18.7 社区版新增设备被拒 / 备份提示超限 社区版默认限 5 台纳管、每台设备备份快照 1 次(累计),超限即拒绝并提示升级;换标准版及以上证书后限制自动解除(见 §18.10) 想启用钉钉/飞书登录还要改 yaml 吗 不用。企业版证书下用 sys:oauth 权限账号进入“系统管理 → 第三方登录”页面填写并保存即生效(见 §14.7);非企业版该菜单置灰锁定第三方登录页保存后 AppSecret 看不到明文 属预期安全设计:密钥以 AES-GCM 加密落库且永不回显,只显示“已设置”;再次保存时留空即保持原密钥不变,需更换时直接填新值覆盖
术语 说明 AP / AC / CPE 无线接入点 / 无线控制器 / 客户端前置设备(微波接收端) RSSI / 信号(dBm) 接收信号强度,负值越接近 0 越强(如 -50 优于 -80) SNR 信噪比,越大越好 CCQ Client Connection Quality,客户端链路质量百分比 干扰评分 本系统对信道干扰程度的量化(0-100,越高越差) 健康评分 AP 综合健康度(终端数/信号/CCQ 等加权,0-100,越高越好) 静默期 相同告警在该时间窗内只发送一次 指标字典 集中定义可监控指标(编码/单位/取数方式)的基础数据,内置指标只读 阈值条目 为某设备某指标配置的一条具体规则(算子+上下限+持续次数+级别),取代旧固定阈值 评估引擎(新版/旧版) 新版=数据驱动(基于阈值条目+状态机);旧版=固定列硬编码判定,由设备 rule_version 决定 firing / resolved 告警状态机:firing=告警中,resolved=已回落恢复 持续次数(pendingTimes) 连续越限达到此次数才从 pending 升为 firing,防抖抑制瞬时毛刺 升级链 前一通知通道失败时自动切换的兜底通道序列 配置基线 经确认的标准配置快照,用于漂移比对与回滚 Diff 两份配置的行级差异比对(新增/删除高亮) GCJ-02 高德地图坐标系,系统内地图选点与展示统一采用 RouterOS API Mikrotik 设备管理接口,默认 TCP 8728 JWT 登录后签发的令牌,操作审计与工单操作人的身份来源,前端不可伪造 授权证书(License) 厂商签发的 license.lic,控制可用期限与可运行机器,详见第 18 章到期提醒窗口 剩余天数≤ licenseWarnDays 时的提醒区间,界面横幅与托盘气泡均受它控制license.installed本地安装标记文件;换证书时建议删除以触发重新校验 公钥库 license\publicCerts.keystore,用于验证证书签名,必须与证书同批成对SQLite / 单文件库 本系统数据库形态( data\routeros.s3db),无访问口令,安全边界仅为文件权限ENC: 前缀表示该列为历史 AES/ECB 密文(如设备登录口令);永久保留只读兼容,启动期会自动升级为 ENCG:;无前缀则为尚未升级的历史明文ENCG: 前缀表示该列为 AES/GCM 密文(当前新写入形态,随机 IV+完整性校验),解密依赖本机 config\aes.keyBCrypt 登录口令的单向哈希存储,不可反推明文 config\ 目录首次启动自动生成的密钥目录(AES 主密钥/JWT 私钥/各类令牌),不随安装包分发 元空间(Metaspace) JVM 中存放类元数据的非堆区域,上限由 MaxMetaspaceSize 控制;不足时抛 OutOfMemoryError: MetaspaceFull GC 刷屏 GC 日志中 Full GC 高频连续出现却几乎不回收空间,通常意味着某类内存已达上限,是内存参数配置不当的典型特征 logs\error.log启动器捕获的 JVM 标准错误输出,是 GUI 模式下进程静默退出的主要取证入口 API Key 面向外部集成的长期凭证,存为 SHA-256 哈希;以 X-Api-Key 请求头作用于 /api/**scope(read/write/mcp/*) API Key 的权限分级:read=只读,write=可写,mcp=可访问 /mcp,*=全部MCP(Model Context Protocol) 面向 AI/自动化平台的标准协议,本系统以 POST /mcp 提供 JSON-RPC 2.0 服务JSON-RPC error(-32001/-32003) MCP 层的错误封装而非 HTTP 状态码:-32001=未鉴权,-32003=scope 不足 第三方登录(OAuth) 钉钉/飞书等统一身份登录,仅企业版可用;参数由管理员在 /oauthSettings 页面自配置(存 oauth_config 表,覆盖 yaml),需填齐 App 凭据才可用;绑定关系存于 oauth_binding 表账号绑定 将第三方身份与本地用户关联的动作(bind/unbind 需 JWT) 深色主题 全站浅/深色切换,选择存于 localStorage(键 app-theme),图表随之切配色授权版本(Edition) 证书携带的功能档位:社区/标准/专业/企业四级,决定功能集合与配额,见 §18.10 版本门控 接口鉴权前的版本能力判定:未授权功能 403 且菜单置灰;与 RBAC 权限正交,存量“通用证书”不门控
本文全部配图均为真实系统运行截图,实际渲染以运行环境为准。
2023-12-13T11:46:19
2023-12-13T11:48:22
2024-10-22T09:58:33
2024-10-22T09:58:03
2024-10-08T13:48:10
2024-09-23T09:50:07
2024-09-23T09:48:30
2024-09-18T09:34:20
2024-09-18T09:33:45
2024-09-05T08:34:23