Python 中的 Junos 快照管理员概述
Python 中的 Junos 快照管理器 (jsnapy) 使您能够捕获和审核运行 Junos® OS 的网络设备的运行时环境快照。您可以捕获和验证设备的操作和配置状态,并查看设备的操作更改。您可以创建定义快照范围的配置文件,并自定义快照数据的测试条件。
您可以使用 Python 中的 Junos 快照管理器在单个设备或运行 Junos OS 的设备列表中执行以下功能:
拍摄设备上运行时环境的快照。
比较两个快照。
根据预定义的标准审核设备的运行时环境。
将其用作其他Python程序中的模块。
发送包含测试结果的电子邮件警报。
在 SQLite 数据库中存储和比较快照。
例如,在设备上进行软件或硬件升级之前,可以拍摄设备的安装前和安装后快照,然后比较这两个快照。然后,您可以查看设备上的操作更改,并从预期更改列表中验证这些更改。
图 1 显示了 Python 中 Junos Snapshot Manager 的操作概述。
Python 中的 Junos Snapshot Administrator 安装在运行可支持 Python 的操作系统(包括 Mac OS X 和许多 Linux 发行版)的远程服务器上。jsnapy 服务器使用 Junos PyEZ 通过 SSHv2 与联网的 Junos OS 设备建立 NETCONF 连接。jsnapy 使用 YAML 格式的配置和测试文件作为连接和测试标准,通过 NETCONF 连接向设备发送 RPC 请求。RPC 回复以快照的形式在服务器上接收回来。您可以从服务器命令行运行 jsnapy,也可以作为模块包含在其他 Python 应用程序中。请参阅 了解作为 Python 模块运行时的 Python 中的 Junos 快照管理员
快照的格式为文本或 XML 文件,并存储在服务器上由位于目录中/etc/jsnapy/
的文件指定jsnapy.cfg
的位置。在目录中使用 jsnapy /etc/jsnapy
安装的目录和文件的完整列表可以在 在 Python 中安装 Junos 快照管理器 (可选)快照可以存储在服务器上的 SQLite 数据库中。然后,Jsnapy 可以将快照与其他快照或预定义的标准进行比较,以审核配置更改的影响或确认正确的设备配置。
Junos 设备使用 jsnapy 的唯一要求是必须启用 NETCONF 和 SSH。
Python 中的 Junos 快照管理员会将有关其操作的信息记录到控制台和默认情况下的/var/log/jsnapy/jsnapy.log
文件中。执行的日志记录级别可以设置为 DEBUG
、 、 INFO
ERROR
或通过CRITICAL
更改文件中的/etc/jsnapy/logging.yml
参数来设置。使用此文件,您可以更改日志记录级别、禁用控制台日志记录或更改 jsnapy 使用的日志文件的位置和名称。从 CLI 调用 jsnapy 时,可以使用选项临时-v
将日志记录级别设置为调试,例如:
jsnapy –snap PRE -f config_file.yml -v
.