华为交换机OPS功能初探:使用Python脚本实现自动化运维(上)

2021-3-20 杰克 网络

      从2019年开始,我在浏览华为官网交换机技术介绍时就发现了一项新的技术OPS 它可以使用python语言编写脚本从而实现一些设备上的运维操作。但当时只能在内测版本V200R012上,官网无法下载。后来经过一年多的改进更替了V200R013版本。在去年发布了正式开放版本V200R019 同时我也有幸入手了二台二手的S5720S-LI交换机。于是测试使用了下华为的OPS功能。

s5720s.png

      其实华为的OPS跟思科的EEM以及H3C的NETCONF功能都是类似的,都可以自定义语言脚本来实现一些运维的操作。OPS是基于python的,需要懂python语言(最近几年因为人工智能的缘故python很火)。查阅官网版本手册,我给交换机安装的V200R019C10支持的python版本是3.7.3

3.7.3.png

      在OPS中,交换机的操作系统VRP(R200R019C10版本)提供了23个可以调用的API 通过调用这些API实现对网络状态、设备情况等信息的监控及设备配置的操作变更。不过在华为的OPS功能里,调用系统API的过程叫“事件订阅”。当然,叫法无所谓。弄清楚实现方式就行。以下是OPS的功能实现流程:

ops-flow.png

      从OPS的实现流程可以看到,无论是设备状态事件获取还是动作的响应执行都是通过调用系统API来实现,并没有多少底层或内核可以接触到。难怪手册中叙述OPS功能实现是python脚本,而不是python程序。

      因为入手的二台交换机是S5720S-LI 在华为交换机的产品线上“LI”系列在网络逻辑位置上属于接入层交换机,想到接入层经常出现的故障现象就是环路。于是想到监测由环路产生的特定日志,将事件日志马上发送到FTP或日志服务器中通知管理员及时处理。我的python脚本如下:

h.png

      python脚本写完后第一步就是要把脚本上传到交换机上去。不过脚本不能直接另存为.py格式后缀,因为.py格式后缀不能直接上传,官网手册也是这么写的。我是直接上传的txt

txt.png

  上传完成后,通过rename命令改成.py后缀

rename.png

  然后执行安装python脚本命令  ops install file h.py

install.png

  安装完成python脚本后,进入系统视图,配置脚本助手 script-assistant python h.py

scr.png

 如果python脚本编写的没有问题一般就不会报错,但如果有语法问题会报错,我这里之前有个python脚本缩进不对就报了缩进错误

err.png

一般执行到这里python脚本就算安装配置完成了,不过在系统视图的OPS界面看下是否有暂停挂起语句 assistant scheduler suspend 如果有的话需执行 undo assistant scheduler suspend  

suspend.png


标签: 自动化运维 python 交换机 OPS

发表评论:

Powered by emlog 京ICP备17037512-1 e-mail:jackhkyin@163.com QQ:393147796