一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通信设备运维自动化方法与流程

2022-02-22 22:15:15 来源:中国专利 TAG:
一种通信设备运维自动化方法与流程

本发明涉及一种通信设备运维方法,尤其涉及一种通信设备运维自动化方法,属于通信技术领域。

背景技术

IT业界日新月异。近年来,随着虚拟化、云计算、大数据等技术的持续爆发,使得传统IT网络的南北向架构,开始由中心-分支- 边缘机构的分层组网模型,朝着去分支、边缘机构的——中心网络结构扁平化的组网模型演进。

由于中心网络结构扁平化上收了分支、边缘机构的网络接入层,海量的网络接入开始交由中心网络集中承接。因此,中心网络的接入设备、线路、接入配置都出现了激增。对中心网络的鲁棒性提出了挑战,特别是频繁的接入网络变更,对中心网络设备配置备份的“敏捷性”提出了更高的要求。

区别于服务器厂商基于CISC和RISC指令集芯片实现的开放操作系统(Unix/GNU-Linux/Windows)生态。网络设备厂商则是基于AISC 指令集芯片形成的封闭生态。这就导致中心网络设备没有统一接口和标准的开放操作系统可用。通常,服务器操作系统通过开放的API,安装各类软件、APP、的模式,在网络设备操作系统上嘎然而止。专用接口和封闭的API,使得网络设备操作系统成为了厂商(Cisco、 Juniper、HUAWEI、H3C等)“黑盒”——既不能通过安装各类软件、 APP扩展功能。也不能随意更改系统服务,扩展用途。厂商仅提供“CLI 命令行”作为“专用接口”来操控设备。极大地阻碍了配置备份的“敏捷性”。

传统中心网络的管理员,在备份网络设备配置的时候,通常是利用Unix/GNU-Linux/Windows操作系统提供的批处理脚本(Shell、VBA 等)通过“CLI提供的Telnet/SSH服务”逐台“登录、抓取”配置备份。在“中心-分支-边缘机构的分层组网”时代,由于中心网络设备“实时变更”要求较低,这样“慢速”的备份方式是可以忍受的。但当网络模型演进到“中心扁平化组网”的时代以后,面对中心网络设备、线路、接入配置的激增,这样“慢速”的备份是难以忍受的。

综上,随着中心网络扁平化时代的到来,“实时变更”成为常态,“敏捷”地备份网络配置成为了常态。依靠厂商“CLI命令行”或者利用Unix/GNU-Linux/Windows操作系统的批处理脚本,逐台“Telnet/SSH”的慢速备份,已经阻碍了配置备份的“敏捷性”。。



技术实现要素:

本发明要解决的技术问题是提供一种通信设备运维自动化方法。

为解决上述技术问题,本发明所采取的技术方案是:

一种通信设备运维自动化方法,包括以下步骤:

步骤1:配置堡垒机:堡垒机通过运管网络连接一个以上网络设备;堡垒机配置运行netmiko库的环境;在堡垒机的创建地址文件,并在文件中写入各网络设备的运管IP地址;

步骤2:创建配置文件:创建各网络运管设备的备份配置文件;

步骤3:登录设备:调用netmiko的Connecthandler方法SSH 登录网络设备;检查是否登录成功并显示相应提示信息;

步骤4:读入IP地址:打开所述地址文件,读入其中记录的IP 地址,形成地址信息流;

步骤5:抓取配置信息:启用变量t,赋值多线程方法,target 后跟函数名,args为传入该函数的参数,这里是要把从地址信息流传递给函数ssh_action,并且要启用先进先出队列Queue来争用式地启动多线程,并行抓取内存中运行的配置信息,写入相应的备份配置文件。

进一步,所述的一种通信设备运维自动化方法还包括运行备份程序步骤:运行需要重新加载配置信息的网络运管设备对应的备份配置文件。

更进一步,还包括配置信息回显步骤:将抓取的配置信息显示出来。

采用上述技术方案所产生的有益效果在于:

(1)本发明利用Python3的第三方Netmiko库封装各大网络厂商CLI的接口Connecthandler,自动实现中心网络配置备份;

(2)本发明利用Python3自带的Threading多线程,编写基于多线程的网络配置备份程序,达到“敏捷”备份中心网络配置的目的。

附图说明

图1是本发明的流程图。

具体实施方式

实施例1:

一种通信设备运维自动化方法,包括以下步骤:

步骤1:配置堡垒机:堡垒机通过运管网络连接一个以上网络设备;堡垒机由GNU-Linux的CentOS8操作系统搭建;堡垒机上安装有Python软件和netmiko库;在堡垒机的家目录创建configbackup目录;在该目录下,创建ipfile文件,写入网络运管设备的IP地址;

步骤2:创建配置文件:创建存储网络运管设备抓取的配置信息的文件,并以其IP地址命名文件;

步骤3:登录设备:调用netmiko的Connecthandler方法SSH 登录网络设备;检查是否登录成功并显示相应提示信息;

步骤4:读入IP地址:打开ipfile文件,读入文件记录的IP 地址;

步骤5:抓取配置信息:启用变量t,赋值多线程方法,target 后跟函数名,args为传入该函数的参数,这里是要把从ipfile文件里读入的ip传递给函数ssh_action,并且要启用先进先出队列Queue 来争用式地启动多线程,并行抓取配置,写入相应的以IP地址命名的文件;

步骤6:配置信息回显:将抓取的配置信息显示出来。

步骤7:运行备份程序:进入configbackup目录运行备份程序。

在本实施例中,堡垒机由GNU-Linux的CentOS8操作系统搭建,、在家目录创建configbackup目录:mkdir/home/user/configbackup。在该目录下,创建ipfile文件,写入网络设备的运管IP地址:

vim~/configbackup/ipfile

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.4

192.168.1.5

192.168.1.6

:x

进入Python3.8和netmiko库的安装目录,创建备份python程序:vim~/configbackup/huaweibackup.py。使用Write_txt函数要把抓取的配置写入文件,并以IP地址命名文件。

ssh_action函数是要调用netmiko的Connecthandler方法SSH 登录设备,下发dis current命令。

netmiko支持很多厂商CLI,以字典的形式创建。其中 device_type是厂商类型,比如华为就是huawei,思科就是cisco_ios 等,具体查询netmiko支持文档。ip就是登录设备的ip地址,这里的ip是读取一个变量,由ipfile文件读入。username是SSH网络设备的用户名,password则是SSH密码。

启用变量t,赋值多线程方法,target后跟函数名,args为传入该函数的参数,这里是要把从ipfile文件里读入的ip传递给函数 ssh_action,并且要启用先进先出队列Queue来争用式地启动多线程。

t=threading.Thread(target=ssh_action,args=(ip, Queue()))

t.start()#启用该多线程调用的函数,快速的抓取配置

进入configbackup目录运行备份程序:

cd~/configbackup

Python3 huaweibackup.py ipfile

login 192.168.1.1 sucess

login 192.168.1.2 sucess

login 192.168.1.3 sucess

login 192.168.1.4 sucess

login 192.168.1.5 sucess

login 192.168.1.6 sucess

在configbackup目录下查看备份文件:Ls

192.168.1.1.txt 192.168.1.2.txt 192.168.1.3.txt 192.168.1.4.txt 192.168.1.5.txt 192.168.1.6.txt。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献