中国教育和科研计算机网
EDU首页 |  中国教育 |   教育资源 |   科研发展 |   教育信息化 |   教育在线 |   CERNET  |   校园之窗
教育信息化

资讯 | 专题 会议 解读 专栏 访谈 项目 数据 招标 企业 产品 CIO 技术 校园信息化 教育装备 下一代互联网

中国教育网 > 教育信息化 技术论坛入口    用户名
密 码 搜 索 
您现在的位置: EDU首页 > 教育信息化 > 技  术 > 网络 > 网络管理
Cacti向网管系统提供网络气象图
http://www.edu.cn   2012-11-18 中国教育网络 作者:高杰欣

字体选择:【大】 【中】 【小】

  Cact i 是基于PHP 和mysq l,通过snmp获取数据并使用rrdtool绘图的网络流量监测图形分析工具,以开源、免费、易扩展和界面友好等特点受到诸多网络管理者青睐。Weathermap(气象图)是cacti中最具实用性的插件之一,可以画出美观的网络拓扑图并动态显示各设备和各链路的状况。随着网络管理要求的提高,网络部门拥有越来越多的其他工作系统,如工作流、OA等,这些系统的相对独立造成了信息间的割裂。例如,网络监控发现了设备宕机,工作流或OA若能直接捕获则可迅速派发工单进行处理;而在工作流或OA进行管理时,若能直接查看网络整体运行状态,也会方便许多。因此,可以将cacti中气象图移植嵌入到其他网管系统。当前的cacti使用的是cactiez10.1版,weathermap是已集成的0.97a版。

  分析

  在cactiez10.1中查看气象图,界面包含了导航栏、跳转栏、气象图和页脚等多个部分,若全部一起嵌入到其他网管系统不仅内容臃肿,还容易撑破网页布局,因此考虑将纯图像部分抽取出来。

  观察气象图在浏览器地址栏中的表示,页面文件为weathermap-cacti-plugin.php,其后带了两个参数,分别为action=viewmap和id=35ad1dcc3ff9ba623555。打开该php文件,可见action、实时视图、缩略视图、循环视图等多种视图模式,都在这一个php文件中实现,id是气象图的标识,在磁盘目录里有png和html文件对应。在浏览器上直接查看源代码,都是基于绘图坐标的流量图的调用,可能用的上的是一些js脚本。磁盘中的png和html文件是不断生成的,直接打开png只有流量状态的静态信息,是我们所见动态图的背景图片,直接打开html文件是一片空白,编辑查看html文件,总体是map定义,包括每个气象图中设备摆放位置,链路位置的定义,均为相对静态的内容,可以直接显示,但在浏览器中无法直接看到内容,可能与该html有weathermap-cacti-plugin.php文件调用有关,由此判断应为某些参数的传递或脚本的调用。

  继续在weathermap-cacti-plugin.php中查看,有两个发现。一是每个气象图视图模式都有overlib.js的调用,而overlib.js是绘图的脚本,因此该脚本在每个气象图都需要使用。二是每种视图的代码中,都有id值的获取和用户帐号的判断,因此id值应该作为动态变量,而用户权限需要设定为匿名可浏览或指定帐号。

  实施

  1.构造纯气象图页面文件

  参照浏览器上查看到的源代码和php中的调用,在./plugins/weathermap目录下创建一个名为withoutborder.php的文件,html部分指定每隔20秒自动刷新,调用overlib.js脚本;php部分获取变量id的值,并从output目录中调用相应的html文件,代码内容如下:

  <html>

  <head>

  <meta http-equiv=refresh content='20'>

  </head>

  <body leftmargin="0" topmargin="0" marginwidth="0"marginheight="0">

  <script type="text/javascript" src="overlib.js"><!--overLIB (c) Erik Bosrup --></script>

  <?php

  $id = $_GET['id'];

  require("./output/${id}.html");

  ?>

  </body>

  </html>

  在浏览器中使用id参数输入http://210.x.x.x/plugins/weathermap/withoutborder.php?id=2275a538530c420718b6,可打开没有图像显示的页面,但图像占位符的大小和位置已清楚呈现所调用的气象图的尺寸,且没有其他多余的页面内容,仅仅只是图片。当鼠标在无法显示的图片上移动时,可以浮动显示出数据图,只不过每个数据图都是红叉,因为还没有匿名查看权限。

  2.配置cacti权限

  默认状态下,cacti必须登录才能查看图像、监控、气象图等各个部分,但也可以设置为匿名访问。以admin登录cactiez,依次选择控制台(console)-工具(utilities)-用户管理(user management),点击进入guest用户设置,在启用(enabled)一栏勾选“启用(enabled)”,在下方功能权限(realm Permissions )中勾选“Plugin-Weathermap: View”和“View Graphs”,前者允许查看气象图,后者用于气象图上浮动显示的数据图,其他是否允许匿名用户查看可视实际情况勾选。接下来,依次选择控制台( jconsole) - 配置(configuration)- 设置(settings)- 验证(authentication),在特别用户(special users)一栏中,设置来宾用户(guest user)为guest,此选项作用为将匿名用户当作guest用户来对待。再次刷新构造的页面,气象图就完整独立的显示出来了,如图1所示。当需要把气象图嵌入到其他信息系统时,只需要提供上述的链接就能随时动态地查看了。

  (作者单位为中南民族大学网络技术中心)

页面功能 【打印】 【关闭】 【我有话说

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备05078770,文网文[2008]228号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com