今年
基于IM的网络监控系统的设计与实现
李伟
(安徽三联学院信息与通信技术系,合肥 230601)
摘要:在现有的城域网设备维护中,由于城域网设备种类多、数量大,给维护人员查障造成了诸多不便。为了更快的对障碍定位、处理,城域网都有一套监控系统对城域网的运行进行监控记录。但是,这种方法也有一个比较明显的缺陷,那就是当设备出现故障的时候,不能及时地获知并进行处理。因此本文提出了将现有的城域网监控系统与个人通讯工具相结合,当设备运行出现故障时由监控系统将障碍的相关信息直接发送给维护人员,告知设备出现了什么样的问题,这样设备维护将变得非常简捷方便。
关键词:及时通讯(IM);城域网;监控系统
中图分类号:TN98 文献标识码:A
The design and implementation of network monitoring system based on IM
LI Wei
(Department of Information and Communication of Anhui Sanlian University, Hefei 230601)
Abstract: It causes much inconvenience to the maintainer in trouble-shooting when maintaining the existing metropolitan area network (MAN) equipment due to its large varieties and quantities. All MANs have monitoring systems to monitor operations in order to fasten the trouble-locating and trouble-shooting. However, this approach has patent defect that the information cannot be obtained and processed in a timely manner when the equipment malfunctions. Therefore, the combination of the existing MAN monitoring system and personal communication tools is proposed in this paper as it becomes much easier and convenient in maintenance when the fault information will be sent directly to the maintainer informing them about the trouble details when the operation fails.
Key words:Instant Message(IM);Metropolitan area network;Monitoring System
今年一、网络监控改进的必要性
今年在现有的城域网设备监控中,使用SNMP协议管理城域网中的数据设备,并将设备运行的记录保存在一台指定的服务器上,最后通过绘图软件rrdtool或gnuplot结合PHP技术在网页上显示出来,同时可以根据设定的参数来显示某一时间段内设备的运行状况,这种方法很好地跟踪了设备的运行情况。而当设备在运行的过程中出现故障时,可以根据保存在服务器中的运行记录来判别设备的故障,便于我们对设备进行跟踪,知道在什么时间设备出现了故障,结合该时间段内用户使用情况查找障碍的原因。但是,这种方法也有一个比较明显的缺陷,那就是当设备出现故障的时候,不能及时地获知,这样给维护带来了很大的被动性。如果能够在第一时间获知设备出现了故障,并进行及时地处理,不仅可以极大地提高维护效率,而且可以将许多隐患消除,而且还能延长设备正常运行时间[1]。
今年如果将现有的城域网监控系统与个人通讯工具相结合,当设备运行出现故障时由监控系统将障碍的相关信息直接发送给维护人员,告知设备出现了什么样的问题,这样设备维护将变得非常简捷方便。
今年二、系统总体设计思路
今年选择恰当IM软件,并将其与原有的基于SNMP协议的城域网设备监控体系相结合,就可以用较少的代价,将过去被动式的记录监控升级为主动式的跟踪监控,并且可以对整个城域网的二层、三层设备及核心设备进行7x24小时的不间断跟踪监控[2-4]。在障碍出现时自动的将故障信息及时通知维护人员,不但可以缩短障碍的处理时间,而且真正做到了即时处理。而该系统所需的投入仅仅是1台中等性能的服务器,并且由于使用了免费的IM软件,在后期的障碍通知上不会产生其他费用,这样可以通过很少的投入,获得较大的潜在经济效益。具体实施过程如下:
今年1.系统运行环境的搭建
今年由于该监控平台需要的软件都是开源软件,需要在一个开放的平台上运行,这样的环境非Linux莫属,所以首先要在服务器上安装Linux操作系统。而Ubuntu是一个完全以 Linux 为基础的操作系统, 可自由的获得,并提供社区和专业的支持。同时Ubuntu覆盖了所有的桌面应用程序, 包含了文字处理、电子表格、Internet应用程序、 Web server 软件、 E-mail 软件、开发设计工具、 常用工具等,当然还有一些游戏。正是基于此,我们选择Ubuntu作为服务器的操作系统,至于Ubuntu的安装,和其他Linux操作系统的安装没有明显区别,需要一个swap分区和一个ext3分区,然后再配上事先分配好的ip地址即可。
今年2.监控平台的生成
今年(1)NET-SNMP的安装
今年在此监控平台中需要SNMP协议来采集城域网中设备的运行信息,然后对其进行处理。我们选择开源软件NET-SNMP来实现此功能,所以首先需要安装NET-SNMP软件。
今年首先解压缩该软件tar zxvf net-snmp-5.4.1.1.tar.gz,将生成一个net-snmp-5.4.1.1文件夹,进入到该文件夹中,按序执行如下命令./configure;make install;make如果没有报错即表示成功安装了该软件。
(2)nagios的安装
今年在安装nagios之前必须先确保在Ubuntu上安装了如下三个数据包,
今年Apache 2
今年GCC compiler and development libraries
今年GD development libraries
这些是运行nagios平台必须的数据包。
接着到网站www.nagios.com上下载最新的nagios软件nagios-3.0.2.tar.gz和插件nagios-plugins-1.4.11.tar.gz。
(1)主软件nagios-3.0.2.tar.gz的安装
今年tar xzf nagios-3.0.2.tar.gz
今年cd nagios-3.0.2
今年./configure --with-command-group=nagcmd
今年make all
今年至此,主软件已基本安装完成。下面的过程是为nagios安装一个web界面,以及创建访问web界面所需的账号。
今年安装web界面
今年make install-webconf
今年为web界面创建访问用户名。
今年htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
今年重启web界面进程。
/etc/init.d/apache2 reload
(2)插件nagios-plugins-1.4.11.tar.gz安装
tar xzf nagios-plugins-1.4.11.tar.gz
今年cd nagios-plugins-1.4.11
今年./configure --with-nagios-user=nagios --with-nagios-group=nagios
今年make
今年make install
今年到此,主软件和插件安装完成,下面只需把nagios加载到Ubuntu的运行进程中即可通过web界面来访问了。
将nagios目录下/etc/rcS.d/S99nagios文件连接到Ubuntu系统自动启动的目录中:
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
今年检查nagios中的样本配置是否有问题:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果检查没有问题,接着就可以启动nagios了:
/etc/init.d/nagios start
最后我们可以通过登陆http://202.102.192.58/nagios/这个网页来检查是否能够正常使用。
图1 nagios主界面
今年从图1可以看出,nagios已经安装成功。
今年(3)fetion的安装
今年通过对当前各种IM软件的综合比较,最终选取移动的飞信作为发送短信的通信软件。
今年运行fetion需要libc6,libace5.4.7c2a,libace-ssl5.4.7c2a这三个库文件,在安装linux的时候基本上会自动装好,如果缺少了哪个库可以通过apt-get这个命令来更新即可。做好这些准备工作后即可安装fetion,具体安装方法如下:
今年tar xzf fetion_linux_20080402.tar.gz
今年接着即可发送消息,命令如下:
今年sms -f 13761592001 -p pwd12345 -t 13761592002,13761592003 -i a.txt
今年-f后的参数是fetion的账号,-p为fetion密码,-t为接收信息的号码,-i为发送的信息内容。如果13761592002、13761592003 在你的好友列表里,就会发送成功。至此,此监控平台的运行环境已经安装完毕。
今年3.主动跟踪监控功能的实现
今年主动跟踪监控功能的实现首先要在服务器上定时(如每隔5分钟)地采集城域网中设备运行参数来判断设备的运行状况,下面我们以设备的CPU利用率为例进行说明。
今年首先我们通过net-snmp软件中snmpget或是snmpwalk命令来提取设备cpu运行参数,然后将获取到的值用一段事先编好的shell程序对其进行处理,在处理cpu利用率的案例中,我们只需要判别获取到的设备的cpu利用率是否超过了设定的门限值,如果超过了则让其通过fetion给指定的手机发送短信,告知维护人员哪台设备的cpu利用率过高,便于维护人员及时地处理。
今年其次是定时功能的实现。
今年然后是 cpu采集功能的实现。
今年最后是相关数据的判别处理。
今年以 cpu利用率数据的判别处理为例。该处理程序放在cpu_usage-1_deal.sh shell程序中,内容如下:
#!/bin/sh
cd /home/monitor2/cpu_usage/
wc -l cpu.txt > tmpline
line=`awk '{print $1}' tmpline`
rm tmpline
#echo $line
i=0
while [ "$i" -lt $line ]
do
i=`expr $i + 1`
cpu_value=`cat cpu.txt | head -$i | tail -1`
if( test $cpu_value -gt 65 );
then
time=`date +%T`
echo $time > /home/monitor/sms/message.txt
cat /home/monitor/cpu_usage/experiment.txt | head -$i | tail -1 >> /home/monitor/sms/message.txt
echo $cpu_value >> /home/monitor/sms/message.txt
sh /home/monitor/sms/sms.sh
fi
done
今年这段程序是用来判别获取到的各台设备cpu利用率是否超过门限值65,如果超过则调用/home/monitor/sms/目录下的sms.sh程序将凡是超过门限值65的数据即将相关设备的标识发送到指定的手机中。如此,维护人员就可以及时地获知运行中出现问题的设备以及问题的相关信息。
今年4.应用效果
今年在实际应用中应用得更多的是通过ping测试网络的可靠性和可达性来监控城域网中设备运行状况。当ping网络中的某台设备时,如果ping不通则说明这台设备的可达性可能出了问题,这时通过fetion立刻给指定手机发送消息;或者当ping网络中的某台设备突然时延变得非常大,则说明这台设备的可靠性出现了问题--出现抖动,也有可能是网络产生了拥塞,这时也会对指定手机发送消息,让我们在第一时间登陆到设备上处理出现的问题。测试结果如图2和图3所示:
图2出现抖动时收到的短信 图3 抖动恢复时收到的短信
今年这两幅图说明了ping设备的时候突然出现延时比较大的问题。
今年目前这种通过IM发送即时障碍信息的城域网监控系统已应用在了合肥市城域网中,对合肥市城域网的思科和华为设备进行7x24小时的主动跟踪监控。
今年四、结束语
今年由于当今网络技术发展日新月异,互联网业务也不断推陈出新,这就对作为载体的城域网提出了新的要求,在今后的工作中需要顺应这些变化,根据业务需要,可以将重点关注的设备指标纳入该主动跟踪监控系统中,不断丰富监控手段,不断完善监控体系,不断提高监控、维护[5-6]。
参考文献:
[1] 孙翌,王昕,施晓华,曲建峰.IM技术在图书馆中的应用[M].上海:上海交通大学出版社,2010.
[2] 陈曦等.即时通信业务营销案例分析-以移动飞信为例[C].MSE2011,2011.
[3] 黄明石.面向电信运营商的即时通信业务探讨[J].电信技术,2006, 11:20-23.
[4] 张云川.即时通信的企业级应用研究[J].企业经济.2005,7:30-35.
[5]刘淑娴,金鹏飞.简单即时通信开发的安全研究[J].现代计算机,2012,23(11):25-29.
[6]黄林,李欣宇.即时通信监控系统设计及实现研究[J].中国新通信,2013,22(10):17.