蔡春莹
摘要:该文介绍在大型网络系统中,发生单点故障后,如何通过手机短信及时通知网络管理员,以便快速解决问题。
关键词:计算机;网络故障;短信发送;网络探测
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)22-pppp-0c
在大型网络系统中,时常有单点或片区网络故障的发生,每次发生网络故障,都会给终端用户带来不便,由终端用户报告或投诉才能发现故障并解决,因此,如何快速获知并及时解决网络故障成为不少网管苦恼的问题。笔者通过自身实践,开发出了一套网络故障探测并及时通知网管员的系统,且成本低廉,能够第一时间发现网络故障并及时解决,在此谨愿将这些探索和经验与读者共享。
1 目前的网络探测方式及缺点
目前市面上有很多网络探测方面的软件系统,如 Link Manager等,这些软件系统主要是探测网络交换设备,如交换机等,把探测结果在计算机屏幕实时显示,让管理员能直观的发现故障点。
目前的探测系统缺点主要有两方面:一是系统必须要有人值守在计算机屏幕前,这就使得很多系统成为摆设;二是探测面窄,有的系统只能探测交换机,有的系统只能探测部分专用设备,不能把网络里的所有设备一次全部探测。
2 系统功能
1) 系统可以探测网络内各种设备,如服务器、交换机、触摸屏、考勤机等;
2) 系统可以使用各种方式进行探测,如Ping、Tcp/IP、UDP等;
3) 系统可以设置每个设备的探测时段,如服务器全天探测,触摸屏仅探测8:00—19:00,考勤机探测8:00—10:00和16:00—20:00;
4) 设备从正常状态到不正常状态可以快速生成定制格式的短信,并及时发送,一般设备从出现故障到管理员收到提示短信的时间小于2分钟;
5) 系统误报率小于3%;
3 系统开发
1) 名词解释
节点:指一个被探测的实体,如一台服务器或一台交换机均为一个节点;
调度:指一个时间安排的过程,如某节点需要在某时间做某事;
模块:指一个软件系统里完成某一功能而又相对独立的组成部分;
2) 数据库准备
系统的运行需创建一个数据库,常见的有Access、SQL Server等,主要用于存放以下数据:
节点配置:存放所有节点的信息,如名称、节点所在地点、节点IP地址、该节点使用的探测方式、该节点所需的调度模板等;
调度配置:存放各种调度情况模板;
管理员配置:存放所有管理员姓名、手机号码等;
待发短信:探测系统生成的短信存放到待发短信表里即可;
已发短信:短信发送模块把待发短信表里的内容进行发送,并把短信内容及发送结果一并存入已发短信表;
系统配置:如单位名称、系统登陆密码、短信发送模板等;
3) 节点探测模块
由于单位网络庞大,系统里节点类型多样,因此节点探测分为多种方式,以我单位为例,使用了以下探测方式:
Ping:针对考勤机、以太网收费POS机等,也可用于部分网管交换机,这类设备通常只有一个单片机或工控板,没有Windows操作系统,不支持其它协议的探测返回,因此只能用此方式。系统向需要探测的终端发送Ping命令,一般每隔3至10秒执行一次,如果连续4次失败,即认为该节点故障;
UDP:针对触摸屏、服务器等。系统需要在这类设备上安装一个客户端软件,客户端软件随系统自动启动。系统向需要探测的客户端以UDP方式发送探测命令,客户端软件收到消息后自动返回一个消息,一般每隔5至20秒发送一次,如果连续5次无信息返回,即认为该节点故障;
其它:系统可以括展其它任何方式的探测。
4) 探测客户端
客户端软件用途很多,不同的服务器需要不同的探测方式,探测所返回的结果也不尽相同,大致如下:
判断客户端是否开机:客户端软件运行即可,只要收到服务端发来的测试信息即返回一个正常信息;
判断某进程是否存在:客户端软件收到服务端探测请求后,检查某进程是否存在,如果存在返回正常信息;也可以是检查某系统服务是否正常运行,如IIS服务;
判断内存是否到达极限:客户端软件收到服务端探测请求后,检查内存使用量,如果内存使用量在90%以下返回正常信息;也可以是检查磁盘空间是否足够;
还有一种方式,即客户端软件一直检查本机情况,如果本机不有正常的情况,当服务端再发来探测请求时把本机故障或风险返回服务器,以便生成提示短信;
5) 节点调度模块
一些节点是24小时运行,无需调度,如服务器、交换机等,但也有一些节点只在某些时段运行,如触摸屏、考勤机等,如果节点本身并不需要运行的时段对该节点进行探测,即可能误报。
固定时段调度:如每天的8:00—18:00;
多个固定时段:如早上7:00—9:00和下午15:00—17:00;
节假日:如某些节点只在周一到周五运行,周未不运行;
排除日:如中秋、国庆等不运行;
6) 短信发送模块系统探测模块把探测结果生成了短信息,并保存在“待发短信”流水表里,本模块用一个定时器,间隔5秒探测数据库里是否有待发短信,如果有待发短信,即把待发短信进行发送,发送后把已经发送的短信转移到“已发短信”数据表,并加上发送结果,以备日后查看。
7) 短信发送模式
短信发送模式比较多,这里介绍常见的几种:
互联网发送:最常见的是通过互联网发送,目前现成的互联网短信发送接口很多,价格比手机点对点发送还便宜,也无需硬件投入,只需下载一个动态库,根据说明调用相应的函数即可,开发非常简单。
手机发送:市面上部分手机通过串口或USB与PC连接后,即可在PC上把短消息发送出去,在互联网上即可找到相应型号和开发方式,本文不做多述;
短信猫发送:市面上出现了一种专门发送短消息的设备,只需把手机SIM卡插入该设备,并连接PC即可,购买该设备时厂家会提供详细的软件集成开发工具包。
4 网络安全
系统探测一般是探测局域网内部设备,有的设备甚至在专用VLAN里,没有连接互联网,如果采用互联网发送短信的方式,则需考虑系统接入互联网的安全问题,这里介绍一种简单可行的办法。
在探测服务器上安装两张或多张网卡,其中一张网卡连接互联网,用于发送短信和探测互联网VLAN里的设备;另一张网卡用于连接局域网内专用VLAN;如果有多个专用VLAN,则每张网卡连接一个VLAN。
在探测服务器上安装软件防火墙,关闭除节点探测和短信发送所需端口以外的所有端口,也不允许除本系统以外的所有程序与网络连接,包括操作系统服务,关闭不需要的操作系统服务。
5 结论
我校使用该系统已经快1年,目前系统稳定运行,每当设备出现故障时,网络中心常常比用户先发现,并及时修复,得到了各部门的高度肯定。今年1至6月比去年同期,设备故障电话报修率减少了74.3%。
参考文献:
[1] 李艇.计算机网络管理与安全技术[M].北京:人民邮电出版社,2008.
[2] 赵立群.计算机网络管理与安全[M].北京:清华大学出版社,2008.
[3] 于锋.计算机网络与数据通信[M].2版.北京:中国水利水电出版社,2006.