罗定福 陈永松 孔繁华
摘 要:针对校园网络运维管理难的问题进行了剖析,综合运用计算机网络交换中流行的网管协议,提出在中大型网络中对多种不同品牌和型号的网络互联设备进行基本和可定制的运维工作建设方案,用于网络监控、管理、统一配置和故障定位等,提高网络管理人员的工作效率。
关键词:网络运维;网管协议;网络监控
中图分类号:TP311 文献标志码:A 文章编号:2095-2945(2020)29-0048-02
Abstract: Based on the analysis of the difficult problems in the campus network operation and maintenance management, this paper puts forward a basic and customizable operation and maintenance construction scheme for a variety of different brands and models of network interconnection equipment in medium and large-scale networks, which is used for network monitoring, management, unified configuration and fault location, so we can improve the efficiency for network managers.
Keywords: network operation and maintenance; network management protocol; network monitoring
引言
校園网是为学校师生提供教学、科研等信息服务的网络,是一个规模较大的园区网络,其覆盖面广、用户数量庞大、网络设备繁多、流量大。随着网络时代的发展,网络更新换代的速度之快,要想让一个大型园区网络从傻瓜到智能,从低速到高速,其过程必定十分漫长且不易。因此这就造成一个大型园区网络,如学校的校园网,会同时出现不同品牌、不同型号、具备不同功能的同类型网络设备。而校园楼宇数量多、管理间和信息点采用的设备都各不相同,这就造成对这个网络进行整体且有效的管理[1]是一件非常复杂的工程。
当网络出现故障时,若用户不在第一时间报障,网络管理员很难即时察觉网络设备出现问题,从而使网络管理员在管理和维护整个校园网络的工作变得十分复杂且低效。以作者所在学校为例,存在以下问题:
无法统一管理同类型网络设备,导致网络管理和维修工作低效;
设备端口流量满载,无法提前预警;
中心机房环境监控设备报警系统弱且无法生成日志;
无法分区域的展示线路负载情况。
因此,为了提高网络管理效率、进行单点监控和解决本校潜在问题,该网络管理监控平台系统便应运而生,并对此展开一系列功能探索和解决方案研究。
1 解决方案规划与设计
1.1 整体功能概述
平台后端使用 PHP 编写,基于B/S架构,不需要安装客户端软件,大部分操作均在浏览器上完成。由于平台需要适应不同的监控需求,在满足对普通交换设备进行监控的前提下,还能通过定制,实现对其它设备(如虚拟化平台ESXi[2]、提供网页查询功能的环境监控设备)实现定时数据采集。故采用模块化的开发方式:先实现底层的数据库、资产管理、数据采集API、消息推送和日志中心功能,然后再基于这些底层功能开发上层的监控应用。
1.2 数据库接口
由PDO[3]插件提供接口,支持MySQL、SQLite、PostgreSQL等流行数据库管理系统。所以本平台数据库部分使用PHP-PDO插件与MySQL结合,所有数据库操作均有预处理过程,保证了平台安全及数据安全。作为整个平台的数据存储中心,数据库接口为平台和上层的其它模块提供了数据库的直接读写和查询功能。
1.3 后端服务管理器
由于本平台实现的每个监控功能均需要一个进程在服务器上运行,为了确保服务稳定、状态实时可见,在服务异常停止或管理站重启时能够及时恢复正常运行,故开发此功能,所有后台服务的启动、停止、信令收发等操作均由服务管理器提供支持。在服务器上长时间运行的监控服务由统一的启动器启动并管理,并可以在后台进行启动、停止和状态查看等操作。
1.4 SNMP[4]数据采集模块
支持SNMP Get/Walk 操作,并返回时间戳、OID和返回值;支持通过HTTP获取Xml/Json数据,并解析出对应的键值。此模块基于Python的PySNMP库,通过多线程并发Get/Walk对设备进行批量信息采集,完成后返回JSON数据,由PHP进行数据处理。
1.5 日志中心
平台提供一个集中的日志记录接口,上层模块可调用这个接口获取和写入日志,各模块产生的日志可通过日志中心统一查看、筛选、导出和管理。
日志中心为管理员/维护人员了解网络历史情况提供了一个便捷的渠道。
2 平台运维管理
2.1 基于 Ping[5]的设备在线状态监控
以前在设备(尤其时接入层)出现问题失联时,并没有一种直观的途径可以观察到设备的在线状态,网管人员在设备出现问题时,如果不上门排查或没有人来报修,甚至不知道设备已经出问题了,这给网络的稳定性造成很大的影响。
Ping是一种网络测试工具,基于网络层的ICMP协议,常用来测试数据包能否到达目标主机。原理是向目标发送一个ICMP Echo数据包,当目标主机收到这个数据包后会返回一个ICMP Reply响应包。管理站收到这个响应包即确认这台设备在线,并且链路正常。如果这台设备配置出现问题、死机或掉电时即可被Ping监控服务发现,并及时向网管人员告警。管理站在后台长时间运行Ping轮询,每一轮开始时从资产管理接口获取需要执行Ping监控的设备列表,并可以单线程或多线程的方式对列表中的设备进行检测,当发现丢包或无响应时等待2秒后重新检测,如果连续5次都没有回应,则判定这台设备离线,记录日志并进行告警推送。
2.2 基于SNMP协议的设备监控和管理
SNMP(简单网络管理协议)是较流行的网管协议之一,可用于监测网络上的设备的运行状况、以及是否有需要引起管理上关注的情况。
SNMP管理的网络主要由三部分组成:
(1)被管理的设备:路由器、交换机及服务器等。
(2)SNMP Agent:一个安装在被管理设备上,作为设备与网管系统通信的桥梁,可为网管系统提供需要的设备数据,或按要求修改设备的配置。
(3)网管系统(NMS):通过SNMP协议进行网络管理的软件。
目前网络中主流的可网管型交换机均内置了SNMP Agent,所以SNMP也是本平台主要的模块之一,目前可通过SNMP采集端口状态、流量等数据,并支持定制开发其它模块实现对指定OID的读、写操作。可在平台资产管理模块中添加或导入被管理设备的IP、设备名、SNMP Community等数据,并在SNMP设置中验证可用后,即可实现对该设备的监控。
2.3 基于SSH/Telnet[6]的设备配置
在SNMP协议中,虽然对于端口等数据有通用的节点可用来读写数据,但一些稍微复杂的配置(如端口隔离、ACL配置等)节点,可能会在厂商的私有MIB中,要使用时需要导入MIB文件以及参阅相关文档才能进行操作。因此加入了基于python的paramiko库,通过SSH/Telnet进行设备批量配置的模块。
3 定制开发其它模块
3.1 对接入层设备进行端口流量满载预警
由于现在网络中存在较多的百兆交换机(包含可网管的和不可网管的),这批交换机在坏掉或过载后就要考虑更换以满足更高的网络需求。这样就需要对这些交换机进行流量监控。目前的监控方案是SNMP主动探测+SNMP Trap被动预警。其中,可网管设备直接从本机读取上联口的流量数据;不可网管的设备则从汇聚层交换机读取对应的下联口流量数据当这些设备的上联口长时间出现流量超过85%占用时就会被记录到日志,维护人员会挑时间对这些设备进行更换。
3.2 采集核心流量数据,绘制晴雨图
由于学校采用的是树形拓扑,所有楼宇的流量都流经中心机房再出外网,故利用SNMP采集到的核心交换机流量数据,生成了流量晴雨图,直观地展示出各栋楼宇到中心机房的线路负载情况,可对流量过载的楼宇进行设备更换,或增加链路进行负载均衡,改善网络情况。
4 结束语
随着计算机网络技术的发展,校园网络的建设已经成为学校基本建设项目。校园网规模的扩大,校园网络运行的稳定已经成为学校网络管理的重点,而网络管理监控是维持网络稳定的措施之一。本平台后端使用PHP编写,基于B/S架构,它用于对网络设备的统一管理、维护,基于设备状态、响应的事件及时推送,大大提高网络管理员的工作效率。本平台还对网络机房环境进行实时监控并生成记录、数据流量情况的实时抓取,网络管理员能及时获取信息,进行分析。本平台的运行,很大程度上完善了本校的网络管理需求。
参考文献:
[1]朱海亮.网络管理技术在校园网中的应用[J].数码世界,2020(1):254-255.
[2]韦庆纠.基于ESXi的PC服务器虚拟化解决对策[J].大科技,2018(23):285-286.
[3]吴越龙.IDS入侵检测管理平台的设计与实现[D].四川:电子科技大学,2015.
[4]刘一波,胡术.基于SNMP协议实现低空管理系统网络监控功能[J].信息技术与信息化,2019(12):151-154.
[5]張玲.浅谈网络不通问题的解决[J].数码设计(下),2019(12):224.
[6]刘麟,王红伟,史旭天,等.基于SSH协议的系统运维监控平台架构[J].金属世界,2014(6):20-23.