一种实用的校园网监控系统设计思想及实现

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:adu198612
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章提出了一种实用的校园网监控系统设计思想,该思想利用PHP、脚本编程和curl命令实现对校园网各种设备的监控,依据该思想设计开发了一套校园网监控系统,运行结果表明该系统能够起到监控校园网运行的作用。
  关键词:cron curl 脚本 校园网监控系统
  中图分类号:TP391 文献标识码:A 文章编号:1673-8454(2009)07-0027-03
  
  目前校园网规模越来越大,核心设备、各种服务器越来越多,校园网建设已逐步从规模建设阶段转入内涵建设阶段,即数字化校园建设阶段,而数字化校园建设阶段的首要前提是保障校园网的正常、高效运行,而保障校园网正常、高效运行的基础是能够随时随地了解和监控校园网核心设备、各种服务器的运行状态。[1]
  
  一、校园网监控系统设计思路
  
  校园网中主要设备一般分为两大类,一类设备是用户只能用其提供的命令对其进行操作,不能在其操作系统上用脚本或语言编程控制,在此笔者称其为“不可编程设备”,如各种可网管交换机、防火墙和路由器等;另一类设备用户可以用脚本或语言对其编程控制,笔者称其为“可编程设备”,如各种服务器。校园网监控系统设计原理如图1所示,监控服务器通过监控程序定时登录到各种“不可编程设备”上,调用设备本身提供的命令,取得设备的各种运行状态变量,并将结果存储到监控服务器的数据库中。对于“可编程设备”,则由其自身周期性的运行脚本取得自身的各个状态参数,然后通过调用监控服务器上的监控程序将结果存储到监控服务器的数据库中,然后由设备状态显示程序将各设备的状态参量以某种方式显示出来,供校园网管理人员即时地了解校园网各设备的运行状态,进而达到监控整个校园网主要设备,保证校园网正常运行的目的。
  
  图2校园网监控系统组成
  
  (1)“不可编程设备”采集模块的主要作用是采集校园网中各个“不可编程设备”状态数据,如CPU利用率、设备反应时间、特定端口利用率等。该模块又含三个子模块,分别是定时模块、数据采集模块和存储模块,定时模块(运行于监控服务器上)周期性地调用数据采集模块采集数据,然后由存储模块将数据存储到监控服务器的数据库中。
  (2)“可编程设备”数据采集模块的主要作用是采集校园网中各个“可编程设备”的状态数据,如磁盘分区空间利用率、Swap交换空间使用率、系统负载情况等。该模块也分定时模块、数据采集模块和存储模块,“可编程设备”执行脚本程序取得系统自身相关状态参数后,由定时模块(运行于“可编程设备”上)周期性地调用数据采集模块采集数据,然后由存储模块将数据存储到监控服务器的数据库中。
  (3)设备状态数据显示模块的主要作用是周期性地将数据库中的数据通过IE浏览器显示出来,供校园网管理人员即时了解和掌握校园网各主要设备的运行状态。
  
  三、校园网监控系统实现
  
  1.系统运行环境
  监控系统服务器采用Pentium 4以上处理器即可,具有光驱、100M网卡,以备安装系统和接入校园网。本系统运行平台为RedHat Linux9.0,也可为AS系列,要求系统整合安装MySQL、Apache、PHP和Zend环境,安装Cron定时功能。
  2.数据库结构
  本系统需要建立数据表device_wrong,用于存储设备的状态数据,表的数据字典如表1所示。
  
  3.具体实现
  (1)“不可编程设备”数据采集模块
  由系统组成可知,该模块由定时模块、数据采集模块和存储模块3个子模块组成。其中,定时模块运行于监控服务器上,由cron定时功能周期性地调用数据采集模块和存储模块,定时模块实现如下:[2]
  10,20,30,40,50 * * * * /usr/bin/curl "http://监控服务器ip/path/non_program.php"
  其中,curl是一个利用URL语法在命令行方式下工作的文件传输工具,功能是在命令提示符下执行双引号内的程序。[3]
  数据采集模块、存储模块由non_program.php实现,其中,实现监控服务器登录到“不可编程设备”的协议程序核心代码如下:[1]
  <?class telnet {
  var $sock=NULL;
  function telnet($host,$port)
  { $this->sock = fsockopen($host,$port,$errno, $errstr, 10);
   if( !$this->sock ) exit("无法连接远程主机:".$host.",请稍后再试!");
   socket_set_timeout($this->sock,2,0);
   }
  function close()
  { if ($this->sock) fclose($this->sock); $this->sock = NULL;
  }
  function write($buffer)
  {fwrite($this->sock,$buffer); }
  function getc()
  {return fgetc($this->sock); }
  function input_rate()
  { $buf = ′′; $what="bits/sec";
   while (1)
   {$IAC = chr(255); $theNULL = chr(0);
   $c = $this->getc();if ($c === false) return $buf;
   if ($c == $theNULL) continue; $buf .= $c;
  if ($what == (substr($buf,strlen($buf)-strlen($what))))
  return substr(strstr($buf,"input rate"),10);
   else continue;
   }}}?>
  (2)“可编程设备”数据采集模块
  由系统组成可知,该模块也含定时、数据采集和存储三个子模块,其中定时模块由各服务器上的定时功能实现,同时需要编写脚本代码,以便将服务器的各个状态变量传递给监控服务器上的监控程序,本文中主要监控各服务器的磁盘分区空间利用率、swap交换空间使用率、系统负载情况三项指标,脚本实现如下:
  1)磁盘分区空间利用率脚本,名称为disk
  #!/bin/sh
  LANG=zh_cn
  var=$(/bin/df -kP | grep / | awk -F ′′′ {print $6":"$5}′ | awk -F ′%′ ′ {print $1}′ | tr -s ′ ′ ′;′)
  date=$(date -d "today" "%Y-%m-%d_%H:%M:%S")
  ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk ′{print $2;}′ | awk -F′:′ ′{print $2;}′ | tr -s ′ ′ ′;′)
  /usr/bin/curl -d menu=disk -d date=$date -d ip=$ip -d data=$var "http://监控服务器/path/program.php"
  2)swap交换空间使用率和系统负载脚本名称分别为swap和load,它们和磁盘分区空间利用率脚本只是var和menu变量不同,其余均相同,分别如下:
  swap脚本:var=$(/usr/bin/free -m | grep Swap | awk ′{print $2":"$3":"$4}′);menu=swap
  load脚本:var=$(/usr/bin/uptime | awk -F′load average: ′ ′{print $2}′ | awk ′{print $1$2$3}′);menu=load
  3)定时脚本,名称为server
  10,20,30,40,50 * * * * /usr/bin/disk
  15,30,45 * * * * /usr/bin/swap
  16,31,46 * * * * /usr/bin/load
  4)数据采集模块和存储模块实现核心代码如下:[4]
  <? $disk_max = "90";//磁盘分区使用百分比超过此值,则报警。默认为90%
  $swap_max = "50";//Swap交换空间使用百分比超过此值,则报警。默认为50%
  if (htmlspecialchars($_POST["menu"]) == "disk")
  {$date = htmlspecialchars($_POST["date"]);
  $ip = htmlspecialchars($_POST["ip"]);
  $data = htmlspecialchars($_POST["data"]);
  $arr1 = explode(";", $data);
  foreach ($arr1 as $key1 => $value1)
  {$arr2 = explode(":", $value1);
  if ($arr2[0] != ""
其他文献
摘 要:本文在分析传统集中式电控系统存在缺陷的基础上,运用校园一卡通平台扩展应用的开发模式,采用第三方系统接口实现了对公寓电控系统的无缝集成。通过实际应用验证了系统的可靠性和成熟性。该集成模式不仅为高校学生公寓用电的管理探索了一条新途径,而且对拓展校园一卡通新的应用具有一定的参考价值。  关键词:数字化校园 校园一卡通平台 集中式电控系统  中图分类号:TP274 文献标识码:B 文章编号:167
摘 要:多媒体教学是21世纪的教育教学改革的发展趋势,多媒体教室是学校实现多媒体教学的平台,多媒体教室的管理与维护是一个较为复杂的工作。本文研究如何在现有的技术及教学运行环境下,正确认识多媒体教室管理工作,使之更好地服务于教学。同时,本文在多媒体教室的归口管理及核心、管理内涵、管理目标等方面得到一系列结论。  关键词:多媒体教室 设备 归口管理 管理内涵 管理目标  中图分类号:G482文献标识码
一、我院数字化校园建设背景    广东女子职业技术学院是一所公办的全日制普通高校,是目前广东省唯一的女子学院。学院的前身是广东省妇女干部学校和广东女子中专学校,至今有二十多年的办学历史。建校以来,学院艰苦创业,励精图治,致力于女性素质教育,以培养高尚人格、高雅气质、良好行为规范的高技能女性专门人才和高素质劳动者为目标,为社会培养了一批又一批具有“自尊、自信、自立、自强”精神的优秀女性人才。2006
为了能够准确地得到何时、何地、何人使用了何实验室和大型仪器等数据.从而统计实验室和大型仪器的使用率、开放共享等情况。本文提出了利用RFID技术实现与高校实验室与大仪开
摘要:教育实习是高等师范院校教育教学计划的重要组成内容,是师范生进行教育和教学的专业训练的良好实践方式。构建一个基于Oblog的教育实习平台,能充分发挥网络优势,延伸和补充传统的教育实习方式,加强师范院校、师范生、实习学校之间的交流与协作。  关键词:Oblog技术;教育实习;平台设计  中图分类号:TP311.52文献标识码:B文章编号:1673-8454(2011)19-0044-03