一种网络设备信息管理及配置脚本收集系统
2020-05-04王宁邦
王宁邦,徐 博
(云南师范大学 信息管理处,云南 昆明 650500)
校园网络设备众多,体系庞大,路由器和交换机种类繁多,如核心交换机、数据中心交换机、汇聚交换机、接入交换机、PoE交换机、无线控制器和无线AP等支持SNMP和telnet具有设备管理IP地址的网络设备.随着高校信息化向纵深发展,校园网络应用和规模不断增加,网络管理工作愈来愈繁重.由于缺乏必要的网络设备信息管理手段,有时甚至无法及时有效地对网络设备进行运维.网络设备数量较多,为了实现无人值守管理和设备自动巡检,引入基于ICMP的ping原理对网络设备进行周期轮询(polling),对不在线的网络设备在故障地图实时监控的静态图和故障地图实时监控的百度地图进行直观呈现,并通过短信告警发送网络故障设备信息,方便可视化运维,校园网络运维人员可以及时发现网络故障,并根据故障等级进行及时响应,提高运维效率,提升工作的主动性,更好地服务全校师生.对于校园运维具有重要现实意义和参考借鉴价值.
在网络设备管理工作中,由于强电不稳定等因素导致网络设备断电的事件常有发生,设备多次异常断电后由于设备损坏导致配置丢失的事件时有发生,往往只能根据故障设备的邻近设备的配置进行推测和还原,但是难免会有所疏漏,成为困扰网络运维人员的一个难题.如果人工登录网络设备进行配置脚本收集,费时费力,且效果不佳.通过系统自动地对网络设备配置脚本进行收集,能够有效提升网络运维效率.交换机配置脚本的收集显得十分关键且有重要意义.
远程登录(Remote Login)是因特网最广泛的应用之一,telnet(telecommunication network protocol,电信网络协议)是标准的提供远程登录功能的应用.一般路由器、交换机等网络设备均支持telnet协议,该协议隶属于TCP/IP协议族,工作于应用层,最早由RFC854进行描述[1].通过telnet登录设备可以对设备进行管理.网络运维中使用SecureCRT,Xshell等工具进行telnet登录到设备进行命令行操作.ICMP是TCP/IP协议族中的因特网控制报文协议(Internet Control Message Protocol)[2],工作于网络层,采用差错报告机制,是一个在主机和网关之间的消息控制和差错报告协议.TCP/IP把ICMP数据报文封装在IP数据报中,ICMP把差错报文和查询报文返回给用户进程.ping是基于ICMP的一个重要应用,用于检测网络设备的通断.
百度地图(Baidu Map)是为用户提供包括智能路线规划、智能导航(驾车、步行、骑行)、实时路况等出行相关服务的平台[3].百度地图支持Web开发、Android开发、IOS开发等其他服务接口.百度地图JavaScript API是由JavaScript语言编写的应用程序接口,开发者基于此可以在网站中构建交互性强、功能丰富的地图应用,支持PC端、移动端浏览器的地图应用开发,该API免费开放,用户根据经纬度在地图上添加图标等[3].无人值守终端状态数据在百度地图上进行加载,极大地方便为了校园网络可视化运维,直观呈现、便捷高效.
1 研究现状
刘晓文[4]认为对于众多交换机的运行维护,如何能够批量、快速维护交换机,是网络管理员渴望解决的问题,提出基于脚本批量管理交换机.唐启涛[5]提出一种基于信息熵的网络设备配置命令分类算法.袁晓飞[6]设计与实现基于Web的网络设备监测管理系统.
陈军[7]等认为手工进行网络设备备份时存在重复劳动工作量大、准确性难以保证的问题,并提出通过设计开发网络设备自动备份工具解放网络管理员生产力的改革设想,详细阐述了该工具的设计思路、关键技术、实现方法和应用效果.张雪平[8]论述了一种如何使用SecureCRT实现网络管理自动化的方法,使用SecureCRT实现网络管理自动化.姜百涛[9]等编制基于VBS(VBScript)实现交换机批量维护程序.黄向农[10]等使用Excel表管理这些网络设备的相关信息,基于该表利用VBS来批量地生成用于SecureCRT登录相关设备所需的配置文件,以便于网管员进行远程登录操作.汪玲敏[11]等利用SecureCRT网管软件VBScript脚本功能,进行路由器、交换机等网络设备的日常维护.戴元[12]提出了如何设计开发网络设备配置信息备份系统,实现各种网络设备配置信息的远程备份,并用VBScript语言进行了具体实现.
袁海峰[13]等对一些型号网络设备telnet协议的选项协商过程进行了实测研究,给出了使用Windows Socket实现telnet协议管理网络设备的软件流程和运行实例.黄昌善[14]通过研究和设计基于脚本语言的telnet网管软件,使电信服务人员、维护人员能够通过同一操作终端,实时查看电信网络的各种网络设备的运行状况,并对其进行集中监控,实现网络设备集中管理.
陈跃斌[15]设计并实现了数据中心网络配置管理系统CMS(Configuration Management System).李云春[16]等为解决校园网络中因网络扩展及设备增加带来的网络配置管理难的问题,提出对网络设备进行配置集中管理的分层软件架构.
综上所述,基于SecureCRT和VBS脚本进行交换机配置脚本批量管理的相关研究居多,通过SecureCRT对事先准备好的VBS脚本文件进行加载.基于telnet协议开发相应网管软件得以研究与实现,但鲜有结合ICMP、telnet和百度地图的网络设备信息管理及配置脚本收集相关研究.
2 网络设备信息管理及配置脚本收集系统功能说明
将结合telnet和百度地图对校园网中的网络设备信息进行管理及配置脚本收集,以期提高校园网网络设备运维效益,提高运维管理和服务水平,对设备故障及时发现、及时处理,通过完善和更新网络设备信息、收集网络设备配置脚本信息.对基于telnet和百度地图的网络设备信息管理及配置脚本收集平台进行设计与开发,依靠用户不断完善网络设备管理信息,其主体框架如图1所示.
2.1 基础信息系统人员通过Web登录系统成为用户,用户分为运维人员、学生网管员和系统管理员3类,系统管理员通过后台对进行用户进行分类和权限授权.无人值守终端信息来自系统用户的录入、修改和完善.
2.2 系统设计思想、基于telnet和百度地图的网络设备信息管理及配置脚本收集
2.2.1 网络设备信息管理我校有网络设备1 300余台,校园网络设备拓扑图如图2所示.按照网络设备所处的位置及接入网络设备的上联和下联方式进行逐级归并.我校有2个校区:联大校区和呈贡校区.呈贡校区分为东区和西区、东区或西区又进一步细分为学生宿舍、行政及教学楼,再到具体的一栋楼.由于校园网络接入采用传统的三层架构接入层、汇聚层和核心层,逐级汇总后到校园网核心机房,将网络设备上联及下联设备情况梳理,按照网络接入方式逐级汇总,形成一棵多叉树.网络设备按照网络连接方式分层逐级展开如图3所示.引入多叉树的数据结构对相关信息进行存储,当检测到某一个设备宕机时,则其下联的设备必然也一并宕机.因此,按照广度优先遍历算法进行网络设备故障检测和监控.
图1 网络设备信息管理及配置脚本收集系统主体框架
图2 校园网络设备拓扑图
校园网络运维人员在工作中经常需要新增网络设备、更换网络设备等.当某栋楼新增网络设备时,需要将网络设备管理IP、上联设备、下联设备、设备地址(其所在楼栋和楼层)、经纬度、远程登录用户名和密码、enable密码等信息录入网络设备信息管理及配置脚本收集系统,以便系统自动化地进行监测与告警,及时发现网络异常情况.设备更换新的管理地址时,需要在系统对设备信息进行更新.已经停用的设备需要从系统中删除.
2.2.2 网络设备故障地图实时监控系统周期性地对所有网络设备进行轮询(polling),采用广度优先算法,从ping的结果判断网络设备通断情况.根据设备的经纬度信息,故障设备位置在百度地图进行显示.故障地图细分为实时监控的静态图和实时监控的百度地图.静态图以我校平面图为基础,对故障设备所在的楼宇进行标识和故障显示.实时监控的百度地图通过调用百度地图的API接口,传递故障设备的经纬度信息,将故障设备在百度地图界面进行显示,既能直观显示故障位置,同时,由于校园较大,楼宇较多,处理网络设备故障时如学生网管员不熟悉可以借助故障地图,可以进一步进行位置导航,极大地提高了运维的智能化水平.
图3 网络设备按照网络连接方式分层逐级展开
2.2.3 网络设备故障短信报警学校采用的中国移动的短信网关,设备内置SIM卡,每月赠送1万条短信信息.系统对终端设备进行以5 min为一个周期轮询,如连续3次ping不通,则以短信方式告知运维人员该终端网络设备不通,以提早应对.该应用具有重要的应用价值.我校有网络设备1 300余台,系统24 h对网络设备进行检测和监控,一旦检测到异常,第一时间以短信方式通知,极大地提高了发现故障的及时性和运维的主动性,有效提升了校园网络运维效益.
2.2.4 系统用户管理用户是系统工作的基础,系统人员通过Web登录系统成为用户,用户分为故障维护人员、学生网管员和系统管理员3类,系统管理员通过后台对进行用户进行分类和权限授权.
2.3 设备配置脚本信息管理在实际的工作中,由于强电不稳定等因素导致网络设备断电的事件常有发生,设备多次异常断电后网络设备的电源板由于瞬时电压过高等原因容易损坏,甚至设备主板异常.由于设备损坏导致配置丢失的事件时有发生,往往只能根据故障设备的邻近设备的配置进行推测和还原,但是难免会有所疏漏,成为了困扰网络运维人员的一个难题.由于部门或学院的网络需求会不断提出,信息化建设向纵深发展,网络设备的配置信息处于不断变化中,靠人工定期备份配置工作量大,费时费力,需要自动化地管理网络设备配置脚本信息.交换机配置脚本的收集和备份显得十分关键且有重要意义.
2.3.1 系统获取网络设备配置脚本信息系统根据网络设备的管理地址、远程登录用户名和密码、enable密码等信息telnet到网络设备,执行show run或display configuration命令获取到网络设备的配置脚本信息.
2.3.2 从系统查看及下载网络设备配置脚本信息系统获取到配置脚本信息后统一进行存储,用户可以根据需要下载配置脚本信息.
3 网络设备信息管理及配置脚本收集系统设计
3.1 系统设计目的随着物联网技术、终端技术等不断发展,网络交换设备逐渐增多,如何有效对众多的网络设备进行管理和收集设备配置脚本成为网络运维人员必须面对的共性问题.如何了解这些设备的工作情况成为一个问题,定时到现场查看、通过使用者报告等显然不能及时发现和解决问题,网络设备信息管理及配置脚本收集系统可以在第一时间发现设备的工作情况,对终端情况可以进行具体定位,并对工作情况通过短信、图形等实时监控给以告警,在设备正常工作时对网络设备脚本进行收集以便设备运行异常时仍可以用于配置新设备上线.
3.2 系统说明软件功能包括:网络设备如交换机、路由器等的工作状况采集;设备信息管理、系统用户管理、设备配置信息管理.
3.3 技术特点
1)融合HTML5,EasyUi,DWR,Pushlet,百度地图和短信接口联动等技术.其中HTML5技术提供了部分页面的自适应技术,如移动端登录页面;EasyUi提供管理界面的美观呈现支持;DWR提供了系统使用权限的控制功能;Pushlet提供对最新信息点推送功能,如最新设备工作状态需要依托Pushlet实时读取和实时推送到网页;百度地图呈现设备所在地图位置以及当前工作状态;短信接口提供告警提示.
2)通用、集中管理:针对具有网络功能支持远程telnet的所有无人值守设备,如交换机、路由器等.
3)硬件:CPU 1.5 GHz以上,内存1 Gi以上;软件环境:服务器(Window 2003 Server以上)、客户端(浏览器、微信).
4)编程语言及其版本号:Java7, Mysql 5.6.24,HTML5.
3.4 数据库设计
表1 数据库表说明
表2 user表字段
表3 IP表字段
4 无人值守终端网络监控与告警系统功能详细介绍
4.1 系统登录在访问登录页面时,输入登录信息后,点击登录,当登录成功时,桌面端即可进入系统界面.
移动端登录信息验证成功后,桌面端即可进入管理界面.手机实际登录界面如图4所示,登录成功界面见图5.
图4 手机实际登录 图5 登录成功
4.2 网络设备信息管理网络设备在使用过程中,如有信息变动,则及时更新设备信息.网络设备管理如图6所示.
图6 网络设备管理
4.3 网络设备故障地图实时监控故障地图实时监控的静态图如图7所示,故障地图实时监控的百度地图如图8所示.
图7 故障地图实时监控的静态图
图8 网络设备故障地图实时监控的百度地图
4.4 网络设备故障短信报警系统调用短信网关的短信接口,通过短信对设备不工作情况进行报警提示,如图9所示.
图9 设备故障短信报警
4.5 系统用户管理为系统提供具有权限使用系统的用户,如增加系统使用的用户、修改基本信息和删除用户信息.系统用户管理如图10所示.
图10 系统用户管理
4.6 设备配置脚本信息管理对设备配置脚本信息进行上传管理,以备设备损坏信息丢失所用.网络设备配置信息管理如图11所示.
图11 网络设备配置信息管理
4.7 系统获取网络设备配置脚本信息选择需要获取网络设备配置脚本的设备,然后点击“添加文件开始上传”,于是配置脚本文件以txt文本文件形式上传到系统.获取网络设备配置脚本如图12所示,网络设备配置脚本上传至系统如图13所示.
图12 获取网络设备配置脚本
图13 网络设备配置脚本上传至系统
4.8 从系统查看及下载网络设备配置脚本信息点击“下载|查看”,即可复制或者下载.设备配置信息查看如图14所示,设备配置信息下载如图15所示.
图14 设备配置信息查看
图15 设备配置信息下载
笔者作为校园网络管理人员,深感网络设备信息管理、配置脚本收集、网络设备故障直观呈现并以短信形式及时告警等对于校园网络运维具有很大的帮助,有效地提升了校园网络运维的自动化水平,有效地对设备损坏带来的风险进行了规避,使网络运维人员能从提高运维效率,向核心业务收缩.在用户发现故障之前已经知道情况并采取措施,提高了网络运维效益.根据重要性和优先级及时进行处理,系统的目标是为了让校园网络用户感觉不到网络运维人员的存在.解决网络故障的过程中,通过系统的实时扫描,当网络设备恢复供电正常启动后,宕机的网络设备自行恢复,通过该系统,有效避免了运维人员因获取信息不及时导致无效劳动,提升了网络运维时效.根据笔者的工作经验,由于校园网络设备体量较大,设备工作环境复杂,网络设备故障的发生具有随机性和持续性.随着设备使用年限增加,进入故障频发期,设备异常概率增大,根据工作需要对配置脚本自动收集有效地保障了设备异常无法工作时能迅速更换新设备投入使用.
该系统和同类系统处理效果相比,对网络设备的管理针对性更好,系统没有借助第三方组件来实现相应功能,不依赖特定的软件才能进行实现对网络设备信息管理及配置脚本收集,自动化程度更高,具有更好的独立性.系统的通用性、稳定性也优于同类系统.
6 结束语
结合telnet、百度地图对网络设备信息管理及配置脚本收集系统进行研究,设计与实现了该系统.从系统功能说明、系统基础信息、设计思想、设计目的、技术特点和数据库设计等方面进行介绍.系统功能主要包括:系统登录、网络设备信息管理、网络设备故障地图实时监控的静态图和百度地图、网络设备故障短信报警、系统用户管理、设备配置脚本信息管理、系统获取网络设备配置脚本信息、从系统查看及下载网络设备配置脚本信息.实践证明,该系统能够极大地提高了校园网络可视化运维、提升校园网络运维人员的工作效率和服务水平,有助于对网络设备故障的及时发现、及时处理,对网络设备配置脚本进行收集.telnet采用明文传输数据,安全性不高,可采用SSH协议进行脚本收集[17],传输过程加密,或网络配置管理标准NETCONF(Network Configuration,网络配置)协议[18-19],是下一步改进方向.