跳转至

实时监控

文本文件快照能告诉您网络现在是什么样子。Watcher 则会告诉您网络正在 发生什么——每一次邻接关系抖动、每一次开销变化、每一个前缀的出现和消失—— 并将每一次变化都转变为可搜索、可告警的事件。

有三种 Watcher,每种协议一个,基于相同的架构构建:

  • OSPF Watcher


    通过 GRE 或 BGP-LS 监控实时的 OSPF 拓扑变化。

    OSPF Watcher

  • IS-IS Watcher


    面向 IS-IS 的同类工具——包括 L1/L2 级别和 IPv6。

    IS-IS Watcher

  • BMP Watcher


    通过被动 BMP 站点采集 BGP 会话、路由与 VPN 上下文。

    BMP Watcher

Watcher 做什么

Watcher 通过 GRE 邻接关系BGP-LS 会话 被动监听 IGP 控制平面——对于每一次变化,它都会:

  1. 将拓扑数据提供给 Topolograph(保持图形是最新的),并
  2. 发出一个事件,可以将其发送到一个或多个目标:
flowchart LR
    W[Watcher] --> T[Topolograph<br/>时间线 + 图]
    W --> L[Logstash / Fluent Bit]
    L --> E[ELK / Kibana<br/>搜索与仪表盘]
    L --> Z[Zabbix<br/>告警]
    L --> H[WebHook / Slack<br/>即时通知]

Watcher 与 Topolograph:历史与当前/未来

Watcher 存储的是事件的历史(发生了什么,以及何时发生);Topolograph 展示的是 当前状态,并让您探索潜在的未来结果。

检测到的事件

两种 Watcher 都会检测同样的一类变化:

  • 邻居邻接关系 up / down
  • 链路开销变化(旧度量 → 新度量)
  • 网络/前缀的出现或消失
  • TE 属性——管理组、最大/可预留/未预留带宽、TE 度量 (参见流量工程

IS-IS 还会额外按级别(L1/L2)对所有内容进行分组。

连接方式

连接的建立方式记录在获取拓扑数据中:

  • GRE 会话 —— 兼容性广泛;每个区域/级别都需要一条 GRE 隧道和一个 IGP 邻接关系。
  • BGP-LS 会话 —— 无需隧道;单个会话即可承载整个域。 需要 Watcher 镜像 v3.1.0 或更高版本。

部署规模

您可以从一个小小的 containerlab 演示开始,逐步扩展到完整的 Watcher + Topolograph + ELK 技术栈。一个典型的演进路径:

# 部署 文本日志 在地图上查看 Zabbix / Slack 搜索事件
1 最小化部署(containerlab)
2 本地 Topolograph + Watcher(ELK 关闭)
3 本地 Topolograph + Watcher + ELK
4 与 #2 相同,但用 Fluent Bit 代替 Logstash 仅 HTTP/Webhook

来自 topolograph-dockerinstall.sh 脚本可以一并启动 Topolograph 和一个 Watcher。

Watcher 心跳

每个 Watcher 都可以定期向 Topolograph POST 一次心跳,因此 UI 会列出每个已 注册的 Watcher 及其存活状态(up / stale / down)——无论网络当前是否正在 产生事件。

多 Watcher 组织

需要在 UI 中一起显示的多个 Watcher 必须共享同一个 Topolograph 用户/API 令牌。需要 Topolograph v3.x 或更高版本。

导出事件

  • ELK / Kibana


    对事件建立索引、进行搜索,并构建仪表盘。

    ELK / Kibana

  • Zabbix


    针对邻接关系、开销和网络事件触发告警。

    Zabbix

  • Webhooks & Slack


    在您的聊天工具中获取即时通知。

    Webhooks & Slack