常见问题

关于安装、发现、功能、授权与故障排查的快速解答。

快速上手

Osprey 支持哪些操作系统?
Osprey 运行在 Linux(amd64)上。已为 Debian 12(Bookworm)、Debian 13(Trixie)和 Ubuntu 24.04 LTS 提供 Debian 软件包。
最低系统要求是什么?
至少 2 GB 内存(建议 4 GB)、一台 amd64 架构的 Linux 服务器,以及通过 GRE 隧道或 SNMP 访问路由器的网络连通性。需要 PostgreSQL 15+,软件包会自动安装。
如何安装 Osprey?
添加位于 deb.wijnberg.net 的 APT 仓库,然后执行 sudo apt install osprey。软件包会自动配置 PostgreSQL、NATS、nginx、TLS 证书以及全部 Osprey 服务。详细步骤见下载页面
默认的登录凭据是什么?
用户名 admin,密码 admin。首次登录时必须先修改默认密码,才能使用其他任何功能。
安装程序会自动配置好一切吗?
会。Debian 软件包会安装全部依赖(PostgreSQL、nginx、消息总线),创建数据库,生成 TLS 证书和密钥,执行数据库迁移并启动所有服务。安装完成后即可直接登录。

拓扑发现

GRE 发现和 SNMP 发现有什么区别?
GRE 隧道发现会建立真正的 IGP 邻接(OSPF 或 IS-IS)— Osprey 会收到完整的 LSDB 或 LSP 数据库,并在变化发生的同时实时看到它。SNMP 发现则按间隔轮询路由器,遍历 OSPF-MIB、OSPFv3-MIB 或 ISIS-MIB 中的表。GRE 提供即时更新;SNMP 则无需在路由器侧做任何隧道配置。
Osprey 会向我的网络注入路由吗?
不会。Osprey 严格保持被动。即使使用 GRE 隧道,OSPF 开销也会设得很高(默认 1000),优先级设为 0,因此 Osprey 永远不会成为指定路由器。IS-IS 的 GRE 隧道使用最大 wide metric(16777215)以避免被用作中转。BGP 可视化通过 BMP(RFC 7854)纯粹接收数据。
同一个 area 里能同时用 GRE 和 SNMP 吗?
可以。一个 area 可以同时运行一个 GRE 采集器和一个 SNMP 采集器。把 GRE 的实时更新和基于 SNMP 的流量统计结合起来时,这种组合很有用。
Osprey 能从一台路由器发现我的整张网络吗?
使用 SNMP 发现时可以 — 在种子设备上勾选 “Crawl multi-area (BFS through ABR neighbors)”,Osprey 就会经由各个 ABR 逐层向外走,直到发现整个 OSPF 域。IS-IS 有对应的 “Crawl multi-level (BFS through L1L2 neighbors)”。若使用 GRE,则每个 area 需要一条隧道。
支持哪些路由协议?
OSPFv2(IPv4)、OSPFv3(IPv6,含 RFC 5838 的 IPv4 地址族扩展)、IS-IS(ISO 10589,L1 和 L2 均支持,含 CLNS、IPv4 和 IPv6 地址族)、EIGRP(通过 SNMP 被动采集,IPv4 和 IPv6)以及 BGP(通过 BMP,RFC 7854)。在路由拓扑之上,Osprey 还通过 SNMP 发现 MPLS 业务(TE 隧道、L3VPN 和 L2VPN pseudowire),并通过 BMP 发现 EVPN 实例。同时运行多种协议的设备会自动跨协议关联。当多种协议共用同一条物理链路时,画布上的连线会合并为一条,并按协议分标签页查看。
Osprey 支持 EIGRP 吗?
支持,但只读。EIGRP 没有可供建立邻接的同步链路状态数据库,因此 Osprey 完全以被动方式,经由现有的 SNMP 采集器从 CISCO-EIGRP-MIB 读取 — 这也意味着 EIGRP 发现仅限 Cisco 平台。你会得到 IPv4 和 IPv6 的邻居与接口状态,经典模式与命名模式,按 VRF 和按 AS 区分。由于没有共享数据库,拓扑与二层一样由邻居表重建,再拼接到 LLDP/CDP 的连接关系上。路径沿每台路由器已安装的后继走,并报告真实的复合度量(FD),而不是借来的 IGP 开销,等价的兄弟路径会作为变体展示。管理距离、邻居掉线告警,以及一个像其他协议一样添加并启用的 EIGRP 记录器也都包含在内,EIGRP 域还能双向参与跨 AS 路径分析。
Osprey 支持 IS-IS 吗?
支持。IS-IS 发现可通过 GRE(使用 NET 编址建立真实邻接)或 SNMP(ISIS-MIB,RFC 4444,并对较老的 IOS 回落到 Cisco 的 ISIS-MIB)完成。Level 1、Level 2 和 L1/L2 路由器均完整支持,默认使用 wide metric(最大 16,777,215)。IS-IS 的 IPv4/IPv6 路径可通过 TLV 242 提取 SR-MPLS 标签栈。
Osprey 监控 BGP 吗?
监控,且是通过 BMP(BGP Monitoring Protocol,RFC 7854)被动进行的。你的路由器会把邻居状态和 RIB 更新推送到 Osprey 的 BMP 服务器(TCP 端口 11019)— 无需轮询。Osprey 支持 loc_rib(路由器的最优路径)、adj_rib_in_post(策略后收到的全部路由)以及仅监控邻居这几种模式。BGP 路由可按精确前缀、最长匹配或被覆盖前缀搜索,并内置 ECMP 分析。BGP AS-Flow 视图以动画展示路由如何随时间在各自治系统之间迁移,配有变化对比和单个 AS 下钻,任意单个前缀的最优路径历史都能逐步回放。开启历史记录后,Time Travel 会显示所选时刻真实的最优路径和邻居会话。无法导出 BMP 的路由器,其 BGP 会话通过 SNMP 发现。
Osprey 支持 MPLS 吗?
支持。MPLS-TE 隧道(RFC 3812)、L3VPN(RFC 4364/4382)和 L2VPN pseudowire(RFC 5601,含 Cisco 的预标准方言)都在常规轮询周期内通过 SNMP 发现 — 除 SNMP 访问权限外无需任何额外配置。各 PE 上的 VRF 按 route-target 归并为 L3VPN,并区分全互联与星型;pseudowire 则归并为 VPWS 线路和 VPLS 实例。选中某个业务会在画布上高亮它的成员。发现行为按网络以“自动 / 开 / 关”控制;隧道重路由、VRF 掉线和 pseudowire 掉线事件都会进入故障关联。
Osprey 支持 EVPN 吗?
支持。如果你的 fabric 跑了 EVPN,Osprey 会从同一路 BMP 数据中把它识别出来,无需额外配置:E-LAN 与 EVPN-VPWS 实例(RFC 7432)、VXLAN 或 MPLS 封装、按 PE 统计的 MAC/IP 数量以及 Ethernet Segment。MAC 迁移(主机在 PE 之间移动)和某个 PE 退出实例会作为相互关联的故障症状呈现 — 并有风暴抑制,确保一次广播风暴不会变成告警洪水。
Osprey 能计算跨 AS 边界的路径吗?
能。当源和目的位于不同 AS 或不同租户网络时,路径工具会沿 BGP AS 链把各段 IGP 路径拼接起来 — 每一段都标注自己的开销和可信度(已解析、推断或不透明),eBGP 过渡点会绘制在画布上。跨协议的管理距离,会完全按照你的路由器实际遵循的方式处理。在同一个域内,路径是一条逐跳转发链:每一跳都是那台路由器自己路由表的判断,而不是从源点算出的最短路径,并带上度量值、路由类型和完整的已安装等价路径集合 — 此外还有每跳的路由解释、面向 IS-IS 的 CLNS traceroute 以及 SR-MPLS 标签栈。你问 IPv6,得到的就是 IPv6 的答案,或者一句为什么不存在 IPv6 路径的说明 — 绝不会把一条 IPv4 路径当成 IPv6 路径拿给你。
Osprey 会发现二层吗?
会。LLDP 和 CDP 邻居通过 SNMP 遍历自动发现。Osprey 用一条五级身份匹配链(机箱 ID、管理 IP、路由器 ID、接口 IP、主机名)把二层邻居与三层拓扑关联起来。可开关的二层叠加层会在画布上把交换机和二层链路与 IGP 拓扑并列显示。交换机爬取采用 BFS,并按平台过滤,以排除无线 AP、话机和 fabric 互联口。
支持哪些 SNMP 版本?
SNMPv2c 和 SNMPv3。v3 支持全部安全级别:noAuthNoPriv、authNoPriv 和 authPriv。认证覆盖 MD5 和完整的 SHA-2 系列(SHA-1、SHA-224、SHA-256、SHA-384、SHA-512);加密覆盖 DES 以及 AES-128、AES-192 和 AES-256 — 因此你不会被迫退回到已过时的算法。

功能

什么是 Time Travel?
Time Travel 让你用时间轴滑块回溯拓扑历史。你能看到网络在任意时刻的确切样子:哪些设备在线、哪些链路可用、IGP 度量值是多少。开启 BGP 历史记录后,同一条时间轴还会显示当时真实的 BGP 最优路径和邻居会话 — Osprey 绝不会把实时 BGP 数据冒充成历史数据。这对事后分析很有用。
Osprey 提供哪些诊断?
拓扑健康度、IP 冲突(重复的路由器 ID / IP / 前缀 / 外部路由冲突)、单点故障(割点和桥接链路)、路由稳定性(抖动的链路和不稳定的设备)、拥塞趋势、定时器一致性(OSPF 与 IS-IS — 既检测两端不匹配,也检测两端一致但偏离默认值的情形)、MTU 不一致、OSPF 最佳实践,以及依赖影响(对端 AS、关键链路对、SRLG 故障影响)。所有报表均可搜索、排序并导出 CSV。
什么是 Engineering Mode?
Engineering Mode 是 Osprey 的 What-if 仿真。你可以让链路和节点失效、修改 IGP 度量值、加入假想的路由器和链路,并对 SRLG 故障组建模 — 全程不碰你的生产网络。SPF 在服务端重算,OSPF 使用符合 RFC 2328 的多 area Dijkstra,IS-IS 使用符合 ISO 10589 的多层级 Dijkstra。批量评估会遍历每条链路或每个节点,找出最关键的故障点。场景可保存并重新载入,该模式还能与 Time Travel 结合,把过去的故障连同拟议的修复方案一起重演。仿真覆盖 OSPF 和 IS-IS;EIGRP 被有意排除在外,因为 DUAL 的复合度量无法从 SNMP 暴露的数据中重新算出。与其猜测,Osprey 宁可展示路由器实际选择的路径,并明确说明该范围内没有 What-if 答案。
可以导出拓扑吗?
可以。Osprey 支持导出为 Visio(.vsdx)、SVG 和 PNG 格式。你还可以上传自定义图标包,在导出结果中使用各厂商专用的设备图标。
告警是怎么工作的?
Osprey 会针对拓扑变化(设备上线/下线、链路变化、度量值变化)产生告警,并把相关事件关联成故障单。举例来说,如果一台路由器宕机并带走五条链路,你看到的是一个故障单,而不是六条彼此独立的告警。
能从 Osprey 里 SSH 登录设备吗?
可以。Osprey 内置了浏览器内的 SSH 终端。在画布上右键点击设备并选择 “SSH to …” 即可直接打开会话。Telnet 作为老旧设备的兜底方案可用,但默认关闭 — 需要管理员手动开启。
Osprey 会监控流量和带宽吗?
会,通过 SNMP 轮询。Osprey 采集接口统计(流量、错误、利用率)并显示在拓扑画布上。链路可以按利用率高低着色。

认证与访问

用户可以用我们现有的身份提供方登录吗?
可以,有三种方式。OpenID Connect(Entra ID、Okta、Keycloak 或任何符合 OIDC 规范的提供方)使用服务端 Authorization Code 流程并强制 PKCE。SAML 2.0 以服务提供方身份支持,采用 SP 发起的登录、经过签名的请求以及完整的断言校验 — 签名、受众、有效期,以及响应是否对应 Osprey 实际发出的那次请求,从而拒绝未经请求的断言和重放的断言。LDAP 与 Active Directory 账号通过常规的用户名/密码表单登录,不需要额外按钮:支持 LDAPS 或 StartTLS、基于 memberOf 的组成员判定、面向没有该 overlay 的目录的组搜索过滤器,以及 AD 嵌套组。三种方式下,用户都在首次登录时创建,角色跟随你的组映射。
Osprey 支持双因素认证吗?
支持,本地账号可用 TOTP,配合任意标准验证器应用。注册为自助流程,二维码由服务端生成 — 密钥绝不经过外部服务 — 一次性恢复码在设置时展示一次。该功能不额外收费,包含在每一份授权中,免费评估版同样如此。
用户账号能自动开通和注销吗?
可以,通过 SCIM 2.0(RFC 7644)。当员工入职、转岗或离职时,你的身份提供方可以自动创建、更新和停用 Osprey 账号。SCIM 使用一枚专用的 Bearer 令牌进行认证 — 与会话 Cookie 和 API Key 相互独立 — 该令牌同时带有有效期和吊销标志。
如果我们的身份提供方不可用会怎样?
本地账号会与任何已配置的提供方并行继续工作,而且 Osprey 专为这种情况提供了一条恢复用命令行 — 因此 IdP 故障、配置错误或管理员账号丢失,都不会把你锁在自己的监控系统之外。
认证行为可以审计吗?
可以。登录、登录失败(含原因)、登出、修改密码,以及重放刷新令牌的尝试,都会记入审计日志;日志可按用户、操作、对象和时间范围筛选,并可导出 CSV。活动会话在“管理”中可见,带 IP 和 User Agent,可以单个强制注销,也可以按用户批量注销。

授权

有免费版本吗?
有。免费评估授权支持最多 32 台设备,全部功能开放且不限时间。无需信用卡。
生产环境如何授权?
超出免费评估范围后,生产部署使用按你的网络规模确定的付费授权。授权方案与条款请发邮件至 sales@wijnberg.net
什么算作一台“设备”?
设备指出现在你拓扑中的任何一台路由器 — 无论是通过 OSPF、IS-IS、EIGRP、BGP 还是 SNMP 发现的。每一台唯一的路由器(以路由器 ID 或 IS-IS 系统 ID 标识)计为一台设备。通过 LLDP/CDP 发现的纯二层交换机不计入授权。授权完全按节点数计算:没有任何功能被锁在更高档位之后,因此单点登录、仿真以及其他所有能力在免费评估版中同样可用。
超过免费档位的上限会怎样?
Osprey 会继续发现并展示你的拓扑,但超出 32 台上限的设备会带有授权提示。评估期间所有功能仍然可用。
有 Enterprise 方案吗?
有。Enterprise 授权提供定制条款、多租户支持和批量授权。详情请发邮件至 sales@wijnberg.net

部署与架构

Osprey 会运行哪些服务?
五个 systemd 服务:engine(拓扑处理、SPF、事件关联)、API 服务器(REST API、WebSocket、SSH 代理)、collector manager(GRE 隧道与 IGP 邻接)、SNMP poller(发现、流量计数、二层爬取、MPLS 和 EIGRP)以及 BMP 服务器(BGP 邻居与 RIB,TCP 11019)。服务之间通过 NATS 通信。全部服务通过 osprey.target 作为一个整体管理。
数据存放在哪里?
所有数据都存放在你自己服务器上的 PostgreSQL 中。Osprey 完全自托管 — 没有任何数据离开你的基础设施。
如何备份 Osprey?
Osprey 在“管理”中提供完整的数据库备份与恢复功能。你还可以导出一份可迁移的配置备份,其中包含全部层级定义、用户和设置。
Osprey 支持任意厂商的路由器吗?
支持。Osprey 不绑定厂商 — 只要设备能讲 OSPF、IS-IS、BGP(BMP)、LLDP 或 CDP 就能接入。这包括 Cisco、Juniper、Arista、Nokia、Mikrotik,实际上涵盖任何现代网络平台。唯一的例外是 EIGRP:它是 Cisco 的协议,数据取自 Cisco 的 EIGRP MIB,因此 EIGRP 发现仅覆盖 Cisco 平台。
如何升级 Osprey?
如果是通过 APT 安装的,执行 sudo apt update && sudo apt upgrade osprey 即可。软件包会自动处理数据库迁移和服务重启。

故障排查

我登录不上,该检查什么?
请确认你用的是 HTTPS(而不是 HTTP)、浏览器已启用 Cookie,并且已接受自签名证书。如果账号因多次失败而被锁定,请等待锁定时间结束(默认 15 分钟),或让另一位管理员解锁。
添加采集器之后看不到任何拓扑数据。
先确认采集器在侧边栏中显示为绿色状态。GRE 方式:检查 IP 连通性,并确认两侧的 OSPF hello/dead 间隔一致。SNMP 方式:用 snmpwalk 测试可达性,并检查 UDP 161 的防火墙规则。用 journalctl -u osprey-collector-manager -f 查看 collector manager 的日志。
健康面板里某个服务显示为 “Down”。
systemctl status osprey-engine(或对应的服务名)确认该服务是否在运行。用 journalctl -u osprey-engine -n 50 查看日志。最常见的原因是某个依赖(PostgreSQL 或消息总线)停了 — 重启它,Osprey 服务会在 15 秒内自行恢复。
过期设备一直不从画布上消失。
不可达的设备会在配置的保留期内继续显示(默认 7 天)。你可以在 Admin > System Settings > Topology > Stale Device Retention 中缩短这个时长。也可以右键点击过期设备手动删除。
如何查看我正在运行的版本?
在命令行执行 osprey version,或查看 Osprey Web 界面的页脚。

还有问题?

完整的用户手册里有详细文档,你也可以通过联系表单找我们。