用户手册
MiBee Steward Web 界面完整导览:每个页面展示什么、能做什么。安装见快速开始/部署;截图见 Web 界面;REST API 见 API。
首次登录
- 打开
http://<中心地址>:8080。 - 全新安装且配置未设置
auth.initial_admin_password时,首次访问会进入首启向导创建管理员账号。若配置播了初始密码,用其登录后界面会强制改密,改完才能进入其他页面(强制改密门对每个会话生效,直到密码被轮换)。 - 会话基于 Cookie;生产环境应为
cookie_secure: true+cookie_same_site: strict,请通过反向代理的 HTTPS 访问。
仪表盘(/dashboard)
落地总览:在线/离线设备数、各网段设备趋势、最近变更事件、agent 健康度、心跳失败摘要。各组件直接链到对应页面,数据同源。
网段(/networks)
每个受管 LAN 一行:名称、CIDR、归属 agent(agent_id)。
- 新增网段:名称 + CIDR(如
lan-1/192.168.1.0/24)。CIDR 驱动扫描目标圈定与设备→网段归属。 - agent 绑定即派发开关:网段带
agent_id时,其扫描任务派发给该 agent(分布式模式);为空 = 中心本地扫描。当某 agent 网段的设备停止更新时先查这里:agent_id被意外清空会把网段静默切回中心本地扫描。 - 删除网段不删设备,设备在下次扫描时重新归属。
设备
资产清单(/devices)
资产注册表。列:状态(在线/离线 + 最近在线时间)、名称、类型、品牌/型号、IP/MAC、网段、扫描属性徽章(本地管理位 MAC、推断来源)。行内操作:
- 重扫 — 对该主机发起一次性扫描。
- 编辑 — 设置名称/位置/描述/用途;用户设置字段是粘性的:扫描桥只回填空值或 "unknown",绝不覆盖你的编辑(只有设备替换才强制覆写身份字段)。
- 删除 — 连同心跳配置与拓扑边一并移除。
身份规则一段话:一个 MAC 一行(MAC 优先身份)。设备换 IP 保留原行(漫游);设备同时持有两个活 IP(双网卡绑定、双 DHCP 租约)仍是一行,孪生 IP 记入 scan_attributes.extras.ip_aliases;从未见过的 MAC 出现在已占用槽位按替换处理(旧行下线,mac_aliases 记录历史);随机化(本地管理位)MAC 绝不强制替换真实设备:真实设备的行被"泊车"(清 IP、保身份),再次出现时经漫游路径回归。
设备详情(/devices/detail/{id})
单资产的全部已知信息:身份卡、开放端口 + 识别到的服务、扫描属性(SNMP sysDescr、OS/内核、带置信度的推断来源)、心跳状态历史、L2 拓扑边(device_neighbors,来自 LLDP/CDP/Bridge-MIB 探针)、该设备的变更历史。
发现与扫描(/devices/discovery、/devices/scan-results、/devices/scan-tasks、/devices/scanner)
- 扫描任务:按网段配置的周期扫描(cron 表达式,如
*/10 * * * *)。每次运行都有记录;运行列表展示存活主机数与时长。分布式模式下任务在网段归属的 agent 上执行。 - 扫描结果:按主机的扫描结果历史。
- 扫描器设置:并发、超时、端口表、保留段守卫(
scanner.allow_reserved_targets:保持关闭;环回/链路本地目标默认在所有入口被拒)。
采集器(/agents)
分布式部署的舰队视图:每个 agent 的版本(如 mibee-agent-rs/0.1.5)、运行时长、最近上报时间、扫描计数、采纳的指纹库版本。
- 铸发令牌(Agents 页 → 创建):绑定
agent_id + network_id,明文仅展示一次,粘贴进 agent 的agent.yaml(center.auth_token)。令牌可吊销,吊销立即生效。 - 远程运维:中心侧
agent_fleet.remote_ops_enabled+ agent 侧center.remote_ops_enabled: true时,中心可下发按需扫描与日志获取。 - "最近上报"变陈旧是 agent 故障的第一信号 → 上 agent 主机查(
systemctl status mibee-agent、journalctl -u mibee-agent)。
指纹库(/fingerprints)
识别语料管理页(能力位 fingerprint:manage,全程审计):
- 状态:现行语料版本 + 规则数(引擎视图 vs 受管目录)。
- 上传:tar.gz/zip 包或单个
.yaml(只替换该文件)。每次上传先过规则引擎自带的加载器校验:坏语料会带引擎原始报错被拒,现网语料继续运行。 - 回滚:一键回到上一版语料(首传前的语料自动留存)。
- 上游检查:对
scanner.fingerprint_upstream.url的 manifest,展示版本 + 增删规则 diff,一键应用。 - 舰队采纳:每个 agent 跑哪个版本(开启
center.fingerprint_sync.enabled的 agent 自动收敛)。
拓扑(/topology)
由 device_neighbors 构建的二层邻接视图(agent 上报的 LLDP/CDP/Bridge-MIB/Q-BRIDGE/STP 证据 + 中心本地扫描)。边携带端口名与观测协议。
拨测(/probes)
心跳(存活)监控:每设备探针配置(HTTP/TCP/ICMP/SNMP)、近期结果、失败状态。探针失败噪声按连败抑制(首败 WARN,重复采样)。ERROR 持续刷屏通常意味着指向已死 IP 的孤儿配置,保留清理会回收它们。
变更与审计(/changes、/audit)
- 变更:变更检测流(设备新增/变更/恢复/失联,逐字段 diff)。单设备 IP 变更只在其真实漫游时才是预期的;两 IP 间反复翻转是 bug 特征,先查该设备的
ip_aliases。 - 审计:谁在何时对哪些变更类 API 做了操作(能力位动作、指纹变更、用户管理)。
设置(/settings)
手风琴式分区(原地展开):
- 指纹库 — 即上述语料管理。
- 安全 — JWT 密钥轮换、Cookie 标志、密码策略。
- 扫描器 — 引擎调参、发现信号源、SNMP 凭据(SNMPv3 口令落库即 AES 加密,任何 API 都不会回显)。
- 通知 — 心跳与变更事件的 webhook/通知渠道。
- 用户 — 账号管理(管理员能力位)。
用户(/users)
账号列表与能力位/RBAC。删除或降级最后一名管理员会被阻止。管理员重置的密码在下次登录时强制修改。
文档(/documents)
按设备挂附件/文档(说明书、发票),上传走 API,在设备详情页展示。
演示模式
以 server.demo_mode: true(或 -demo)启动中心:自动播种虚构资产(仅 RFC 5737 文档段)、回放模拟事件、界面提供一键清空。演示数据绝不触碰真实网络。适合截图与评估,web-ui.md 的截图即由此产生。
故障速查
| 症状 | 先查 |
|---|---|
| agent 网段的设备冻结 / 陈旧 | /networks 里该网段的 agent_id;/agents 里 agent 服务状态与最近上报时间 |
| 中心日志出现 agent 401 | 令牌被吊销或轮换;重新铸发,更新 center.auth_token |
| 同一台盒子两行(有线 + 无线) | 那是 mac_aliases 在生效;UI 侧别名聚合在路线图中,合并意图已记录 |
| 设备"变成"一个随机样子的 MAC | 本地管理位(随机化)MAC;真实持有者被泊车后会回归——见 agent-rs.md / CHANGELOG |
| 播种密码登录失败 | 安装后密码已被轮换;用管理员重置 CLI(mibee-steward reset-admin-password)或重建库后的首启向导 |
| 扫描拒绝我的目标网段 | 保留段守卫——见 configuration.md;生产环境不要关闭 |
| 忘记管理员密码被锁 | mibee-steward reset-admin-password(密码经 stdin/参数/环境变量) |