跳转至

配置参考

所有 NetOps 配置位于 .olav/workspace/ops/config/ 下。本页是每个配置文件的参考手册。

功能声明

ID 声明 状态
C-NE-12 nornir/hosts.yaml 定义采集的设备清单 🔶 需设备环境
C-NE-13 blacklisted_commands.yaml 支持正则,无效 pattern 跳过并记录警告 ⬜ 待验证
C-NE-14 cron_schedules.yaml 可自定义 trace_learner 定时 🔶 需设备环境

目录结构

.olav/workspace/ops/config/
├── nornir/
│   ├── hosts.yaml              # 设备清单(主机名、IP、平台)
│   ├── groups.yaml             # 组共享设置(凭证、超时)
│   ├── defaults.yaml           # 全局默认值
│   └── config.yaml             # Nornir 运行器设置(并发度等)
├── default_commands.yaml       # 所有平台通用的采集命令
├── discovery_commands.yaml     # 拓扑发现关键命令
├── blacklisted_commands.yaml   # 禁止执行的命令(正则)
├── backup_only_commands.yaml   # 仅备份不解析的命令
├── cron_schedules.yaml         # 定时任务调度
└── netops_settings.yaml        # NetOps 运行时设置

Nornir 清单

hosts.yaml

每台设备一条记录。hostname 字段是 SSH 目标(IP 或可解析的主机名)。

R1:
  hostname: 10.0.1.1
  platform: cisco_ios
  groups:
    - core_routers

SW1:
  hostname: 10.0.2.1
  platform: cisco_ios
  groups:
    - access_switches

platform 值遵循 NTC-Templates 命名规范cisco_ioscisco_nxosarista_eosjuniper_junos 等。

groups.yaml

同组设备共享的凭证和连接设置。

core_routers:
  username: admin
  password: "${NORNIR_PASSWORD}"
  connection_options:
    netmiko:
      extras:
        timeout: 30
        secret: "${ENABLE_SECRET}"

环境变量

敏感值使用 ${VAR_NAME} 语法,OLAV 在运行时展开。


命令列表

default_commands.yaml

采集时在所有设备上执行的通用命令。无平台专用列表时作为 fallback。

- show version
- show running-config
- show interfaces
- show ip interface brief
- show clock

discovery_commands.yaml

拓扑生成所需的命令。解析失败时 /netops_init 报告为 P0 差距。

- show cdp neighbors
- show cdp neighbors detail
- show lldp neighbors
- show lldp neighbors detail
- show ip ospf neighbor
- show ip bgp summary

blacklisted_commands.yaml

正则 pattern(不区分大小写),匹配的命令即使在白名单中也被拒绝。

- "reload"
- "write erase"
- "conf(igure)? t(erminal)?"
- "delete"

无效正则 pattern 被跳过并记录警告日志。

backup_only_commands.yaml

输出存入 raw_output_store 但不经 TextFSM 解析的命令。通常用于运行配置备份。

- show running-config
- show startup-config

定时调度

cron_schedules.yaml

自定义每日采集时间。默认:0 3 * * *(每日 03:00)。

trace_learner:
  cron: "0 3 * * *"

/netops_init 阶段 5 注册。重复运行 /netops_init 会更新 cron 条目(幂等,不重复)。