跳转至

数据库结构

所有 NetOps 数据存储在 DuckDB 的 netops schema 中。安装 olav-netops 后自动创建表。

功能声明

ID 声明 状态
C-NE-08 netops.devices 包含 hostname、ip_address、platform 列 ⬜ 待验证
C-NE-09 v_bgp_neighbors_auto 视图从 parsed_outputs 自动生成 ⬜ 待验证
C-NE-10 netops.topology_linksdiscovery_protocol 区分 L2/L3 ⬜ 待验证
C-NE-11 netops.raw_output_store 保存每设备最新原始 CLI 输出 ⬜ 待验证

netops.devices

网络设备清单,在 /netops_init 阶段 1 填充。

类型 说明
hostname VARCHAR 设备主机名(主键)
ip_address VARCHAR 管理 IP 地址
platform VARCHAR NTC 平台标识(如 cisco_iosarista_eos
vendor VARCHAR 设备厂商
model VARCHAR 硬件型号
os_version VARCHAR 操作系统版本
site VARCHAR 站点/位置标签
role VARCHAR 设备角色(core、edge、access)

netops.parsed_outputs

TextFSM 解析后的结构化 CLI 输出。每条记录对应一个设备-命令-快照组合。

类型 说明
device_name VARCHAR 源设备主机名
command VARCHAR 执行的 CLI 命令
parsed_data JSON TextFSM 解析结果数组
template_name VARCHAR 使用的 TextFSM 模板
snapshot_id VARCHAR 关联到采集批次的快照标识

netops.raw_output_store

每设备-命令对的最新原始 CLI 输出。用于配置提取和调试解析失败。

类型 说明
device_name VARCHAR 源设备主机名
command VARCHAR CLI 命令
raw_output VARCHAR 完整未处理 CLI 输出文本
snapshot_id VARCHAR 快照标识

从 LLDP、CDP 和 OSPF 邻居数据派生的网络链接。

类型 说明
link_id VARCHAR 唯一链接标识
source_device VARCHAR 源设备主机名
source_interface VARCHAR 源接口名
destination_device VARCHAR 目的设备主机名
destination_interface VARCHAR 目的接口名
discovery_protocol VARCHAR 发现方式:LLDPCDPOSPF
link_status VARCHAR 链路状态:updown
snapshot_id VARCHAR 快照标识

netops.oc_outputs

每设备的 OpenConfig JSON 数据(稀疏填充)。

类型 说明
device_name VARCHAR 源设备主机名
oc_module VARCHAR OpenConfig YANG 模块名
oc_data JSON 结构化 OpenConfig 数据
snapshot_id VARCHAR 快照标识

自动生成视图

这些视图从 netops.parsed_outputs 自动创建。查询时不需要 netops. 前缀。

视图 关键列 源命令
v_bgp_neighbors_auto device_name, neighbor_ip, neighbor_as, state show ip bgp summary
v_ospf_neighbors_auto device_name, neighbor_id, neighbor_ip, interface, state show ip ospf neighbor
v_interfaces_auto device_name, interface, ip_address, prefix_length, status show ip interface brief
v_topology_l2_auto device_name, local_interface, destination_device, protocol show cdp/lldp neighbors
v_arp_auto device_name, ip_address, mac_address, interface show arp
v_topo_links_clean src, dst, source_interface, destination_interface 派生自 topology_links
v_device_neighbors_summary device_name, connected_device, protocol, status 聚合邻居视图
v_bgp_neighbors_enriched + 解析后的对端设备名 BGP + devices 连接
v_routes_enriched + 解析后的下一跳设备名 Routes + devices 连接

查询示例

-- netops schema 的表必须加前缀
SELECT * FROM netops.devices WHERE platform = 'cisco_ios';

-- 视图不需要 schema 前缀
SELECT * FROM v_bgp_neighbors_auto WHERE state != 'Established';

-- 跨快照比较
SELECT * FROM netops.parsed_outputs
WHERE snapshot_id IN ('snap-001', 'snap-002')
  AND command = 'show ip bgp summary';

必须加 schema 前缀

始终使用 netops.devicesnetops.topology_linksnetops.parsed_outputs — 不要省略 netops. 前缀。视图(v_*_auto)不需要前缀。