IS-IS Watcher¶
IS-IS Watcher 是 OSPF Watcher 的 IS-IS 对应版本。它通过 GRE 邻接关系或 BGP-LS被动监听 IS-IS 控制平面——记录并/或导出每一次变化到 ELK、Zabbix、WebHooks, 以及 Topolograph 监控仪表盘。与 OSPF Watcher 一样,它以容器形式提供。

检测到的事件¶
- IS-IS 邻居邻接关系 Up/Down
- IS-IS 链路开销变化
- IS-IS 网络的出现/消失
- IS-IS TE 属性:管理组、最大链路带宽、最大可预留带宽、未预留带宽、 TE 默认度量,以及共享风险链路组(SRLG)
- IS-IS 节点标志:overload(OL)和 attached(ATT)的转换 (加上通过 BGP-LS 推导出的 ABR/ASBR)
在时间线上,所有内容都按 IS-IS 级别(L1/L2)分组:

各级别看起来是什么样子
一次典型的采集可能会显示:某条链路上的度量变化在 L1 和 L2 上都出现了
重复日志;应用 isis circuit-type level-1 后,一台路由器仅在 L2 上
下线;随后的一次度量变化仅在 L1 中可见;以及一个新的 stub 网络
出现在 L2 中。
建立连接¶
连接的建立方式记录在获取拓扑数据中:
- GRE 模式 —— FRR 通过 GRE 隧道建立 IS-IS 邻接 关系;XDP IS-IS 过滤器通过丢弃任何通告了超出 Watcher 自身网络范围的 LSP,来保证 Watcher 始终保持仅监听状态。
- BGP-LS 模式 —— 路由器通过 BGP-LS 导出 IS-IS 拓扑;GoBGP + 转发器为 Watcher 提供数据。

每个区域一条 GRE 隧道
IS-IS 与 OSPF 一样,按区域/级别进行泛洪。在 GRE 模式下,您需要向 每一个要监控的区域至少建立一条 GRE 隧道——这是链路状态泛洪的固有属性, 而不是工具的限制。BGP-LS 通过单个会话承载整个域,从而避免了这个问题。
兼容性
IS-IS 网络变化从 topolograph v2.38 或更高版本开始会显示在图上。
TLV 与度量支持¶
IS-IS Watcher 同时解析旧式(narrow)和新式(wide)度量,并支持 IPv6 可达性。 它所理解的 TLV——以及各厂商的支持矩阵——汇总在 支持的厂商页面。
关键 TLV:IS Reachability(2)、Extended IS Reachability(22)、IPv4 Internal/ Extended Reachability(128/135),以及 IPv6 Reachability(236)。
定制的 FRR 构建版本
通过 GRE 运行 IS-IS 需要一个具备相应能力的 FRR 构建版本;IS-IS Watcher 代码仓库提供了所需的构建版本。详情请参见 代码仓库。
快速实验环境(containerlab)¶
该代码仓库附带了一个 containerlab 拓扑,用于端到端体验 IS-IS 监控——参见
containerlab/ 目录,以及关于如何叠加 Topolograph 和 ELK 的
部署规模表格。
没有设备?使用测试模式
与 OSPF Watcher 一样,TEST_MODE 会从一个静态文件回放演示用的 IS-IS 事件,
以便您在没有硬件的情况下体验整个流程。
事件日志格式¶
IS-IS Watcher 发出与 OSPF Watcher 相同的逗号分隔事件记录(同时附带 IS-IS 级别信息)——因此 ELK、Zabbix 和 Webhook 的集成方式完全相同。逐字段的详细说明请参见 OSPF Watcher 日志格式。
相关内容: OSPF Watcher · 流量工程 · ELK / Kibana