配置参考¶
所有 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_ios、cisco_nxos、arista_eos、juniper_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。
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(不区分大小写),匹配的命令即使在白名单中也被拒绝。
无效正则 pattern 被跳过并记录警告日志。
backup_only_commands.yaml¶
输出存入 raw_output_store 但不经 TextFSM 解析的命令。通常用于运行配置备份。
定时调度¶
cron_schedules.yaml¶
自定义每日采集时间。默认:0 3 * * *(每日 03:00)。
在 /netops_init 阶段 5 注册。重复运行 /netops_init 会更新 cron 条目(幂等,不重复)。