设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Computer Science and Application 计算机科学与应用, 2013, 3, 244-250
http://dx.doi.org/10.12677/csa.2013.35042 Published Online August 2013 (http://www.hanspub.org/journal/csa.html)
Integrated Management Platform for
Enterprise Application System:
Design and Implementation*
Yu Sheng1, Zhongxin Jiang2, Pingping Dong1, Jia Yuan1
1School of Information Science and Engineering, Central South University, Changsha
2Hunan Police Academy, Changsha
Email: vlab@163.com
Received: May 2nd, 2013; revised: May 16th, 2013; accepted: May 28th, 2013
Copyright © 2013 Yu Sheng et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unre-
stricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract: With the expansion of domestic enterprise network, more and more enterprises realize that, in additio n to rely
on the device itself and the reliability of the network architecture, to ensure the whole system run efficiently and reliably
through monitoring the performance of network servers is important equally. In this paper, an enterprise-level applica-
tion management platform based on the CPMM model was proposed. This platform integrates JMX (Java Management
Extensions), SNMP (Simple Network Management Protocol) and WMI (Windows Management Instrumentation) to
monitor the running state of all the servers in monitoring range, and judges whether the system has a poor performance
or other problems according to the monitoring information and informs the fault to user. The platform provides a com-
prehensive solution for enterprise to ensure the whole system run efficiently and reliably, which makes administrators
not need to prepare different monitoring tools for different IT resources.
Keywords: Performance Monitor; Server; Real-Time; Enterprise Application System
企业级应用系统综合管理平台的研究与实现*
盛 羽1,蒋忠新 2,董苹苹 1,袁 佳1
1中南大学信息科学与工程学院,长沙
2湖南警察学院,长沙
Email: vlab@163.com
收稿日期:2013 年5月2日;修回日期:2013 年5月16 日;录用日期:2013 年5月28 日
摘 要:随着国内企业网络规模的扩大,越来越多的企业认识到,除了要依靠设备本身和网络架构的可靠性之
外,通过对网络中服务器的性能监控来保证整个系统高效、可靠地运行一样重要。本文设计并实现了一种基于
CPMM 模型的企业级应用系统综合管理平台,平台通过 JMX(Java Management Extensions, Java扩展管理)、
SNMP(Simple Network Management Protocol,简单网络管理协议)和WMI(Windows Management Instrumentation,
Windows 管理规范)等技术对监控范围内所有服务器的详细运行情况进行监控,并根据监控信息进行判断,当性
能变差或存在其他问题时及时预警,告知可能会发生的故障。它为企业提供了一个综合的解决方案,使管理员
不必再为每个 IT 资源准备不同的监控工具来保证整个系统高效、可靠地运行。
关键词:性能监控;服务器;实时;企业应用系统
*基金项目:湖南省科技计划重点项目“网络运行安全监控技术研究”(2011GK2008);国家自然科学基金面上项目“难解问题的核心化技术
及其应用研究”(61073036)。
Copyright © 2013 Hanspub
244
企业级应用系统综合管理平台的研究与实现
Copyright © 2013 Hanspub 245
1. 引言 护过程比较复杂;3) 监控数据呈现单一,缺少异常情
况的全方位报警机制。
随着企业应用需求复杂性的增加,企业网络规模
的不断扩大,这导致网络故障率提高、可管理性下降。
在中等规模以上的企业网络中,仅仅靠人工利用传统
方式来管理网络是不切实际的[1]。企业级应用系统综
合管理平台为企业提供了一个综合的解决方案,实现
包括实时查看整个系统的状态、检测系统可能出现的
瓶颈、并通过邮件等方式向管理员发出告警等功能,
以保证整个系统高效、可靠地运行。
针对以上问题,本文设计并实现了一个企业级应
用系统综合管理平台,包含对操作系统、数据库、应
用服务器和 Web 服务器的全方位监控。该平台能自动
的实现监控功能,并从监控范围内采集所需要的数
据,这些数据通过网络集中到后台数据库中后再进行
一系列的后续处理工作。对数据的采集实现的手段大
致包括 JMX、SNMP 和WMI 技术等。为企业提供了
一个综合的解决方案,使管理员不必再为每个 IT资
源准备不同的监控工具。
在传统方式中,可以通过查看每个服务器的日志
信息或运行相应的命令来获取服务器自身的一些参
数,从而判断服务器的运行状况,这种方式是完全被
动的依靠管理员人工操作来得到零散的数据,需要大
量的人工操作。目前,一些网络管理方案,如惠普公
司的 HP Open View、QUANTA 公司的 ESM[2]、加州
理工学院的 MonALISA[3],IBM 公司的 Tivoli[4],采
用了代理的监控方式,即在被监控端安装代理,并由
代理执行监测任务[5]。这些监控方式往往存在一下问
题:1) 这些监控系统一般是针对某一个层次的软件系
统的运行状态进行监控,无法实现对整个应用系统从
操作系统到服务器的全方位监控;2) 这些监控系统往
往需要安装代理到每个被监控的服务器上,安装和维
2. 系统架构设计
企业级应用系统综合管理平台实现了对操作系
统,应用服务器,Web服务器和数据库的监控。提供
对这几种系统及应用的性能数据的获取,例如,在应
用服务器方面,可以获取其堆栈使用信息,线程池信
息,JDBC 连接池信息等。支持对性能数据的存取,
然后通过图表的形式表现出来,为管理员提供对所监
控内容简单直观的理解。并且期望通过对历史数据的
分析实现对其性能的评估。系统采用了基于 B/S 的无
代理方式,整体架构如图1所示。
Figure 1. The system architecture
图1. 系统整体架构图
企业级应用系统综合管理平台的研究与实现
系统设计采用了CPMM(CERNET performance
monitoring model)模型。CPMM 借鉴了ISO 层次结构
思想,是网络性能监控的一个整体解决方案,该模型
已成功运用于 CERNET(China Education & Research
Network,中国教育科研网)全国主干网络的性能管理。
如图 2所示,系统分为3个层次,分别为数据采集层、
数据管理层和数据表示层,各个层次核心线索是数
据。数据采集层收集被监控服务器的性能数据,并将
收集到的数据存储在系统的后台数据库中。数据管理
层包括数据的存储管理和数据的格式化,性能监控的
所采集的数据量非常大,对包含一个应用服务器、一
个Web服务器和一个数据库的系统进行每五分钟一
次的采样,一天采集的数据量约为20 M,因此对数据
存储管理提出较高的要求。数据格式化的主要目的是
便于数据表示,同时对数据进行一定程度的压缩。数
据表示层的功能是显示性能监控的结果,包括实时数
据、预警信息和对历史数据的生成的统计报表。
3. 系统实现方案
3.1. 数据采集
数据采集是整个系统得以实现的基石,数据采集
部分主要包括了数据采集技术的选取和数据采集系
统的设计。
本平台涉及的应用与系统广泛,针对不同应用或
系统采用不同的技术获取性能数据。对数据的采集实
现的手段大致包括 JMX、SNMP 和WMI 技术等。
1) 基于 JMX 的数据采集
JMX 是SUN创建的一套规范,是一个为应用程
序、设备、系统等植入管理功能的框架。它提供应用
编程接口,可扩充对象和方法的集合体,可以跨越一
系列异构操作系统平台、系统体系结构和网络传输协
议,灵活的开发无缝集成的系统、网络和服务管理应
用。当今的主流应用服务器都实现的是 JAVA 内核,
例如:Tomcat、Jboss、weblogic 和websphere 等。它
们都实现了 JMX 规范,所以可以方便地利用 JMX 在
应用程序服务器里搜索管理模块,并通过它们得到配
置信息和运行状态的监控信息,从而实现对应用服务
器的性能监控。
2) 基于 SNMP 协议的数据采集
SNMP 设计简单,易于实现,且 SNMP 已经得到
了相当广泛的应用,现有的各种网络设备都提供了对
SNMP 的支持。SNMP 使用户能够通过轮询、设置一
些关键字和监视一些网络事件来达到网络管理的目
的。它是一个应用级的协议,建立在 UDP之上,在
SNMP 应用实体间通信无需建立连接,因而降低了系
统开销。
3) 基于 WMI的数据采集
WMI 是可伸缩的系统管理结构,它采用一个统一
的、基于标准的、可扩展的面向对象接口。WMI为您
提供与系统管理信息和基础 WMI API交互的标准方
法。WMI主要由系统管理员和管理员用来访问和操作
管理信息。
4) 其他方法
Apache 服务器中可以使用的功能模块很多,这些
模块工作的状态和性能是通过 mod_status 参数来记录
Figure 2. The system model
图2. 系统模型图
Copyright © 2013 Hanspub
246
企业级应用系统综合管理平台的研究与实现
的,可以通过该模块检查服务器当前的运行状况。数据
库服务器则可以通过查询系统表来获取其性能参数。
以上针对各种不同的应用需求提出了相应的数
据采集方案,而本系统需要一个统一的数据存储和呈
现,因此各数据采集工具需要向数据管理模块提供统
一的接口支持,而不同的系统或服务要监控的性能指
标不同,需要用不同的技术手段来分别实现对他们的
监控,因此,如何解决这一矛盾是系统设计的关键。
本平台采用了面向对象的设计方法,面向对象技
术具有封装性和多态性,可以有效地解决上述问题。
如图 3所示,系统采用桥接 + 反射 + 单例的设计模
式:抽象类Monitor 继承 Thread 多线程类,监控不同
服务器的各个监视器继承 Monitor 并实现 Monitor 类
的虚函数,这样所有监视器都可以看成 Monitor 类,
每新建一种监视器可以通过反射机制依赖注入找到
相应的类以及方法;由于所有监视器都是 Monitor 类,
只需在 Composite 组合类中建立一个链表即可;同时
由于对于整个系统来说只维护一个监视器链表,因此
使用单例设计模式,使得Composite 类中只有一个监
视器链表 MonitorListinstance。
此外,每个监控类都实现了多线程的机制,使用
户可以同时对监控类的多个实例独立的进行监控。其
次,数据采集频度可以由管理员自行设定,在与被监
控的服务器建立连接的时候可以指定轮询时间,即多
长时间进行一次数据采集。在建立连接后管理员也可
通过编辑监视器来更改轮询时间。
3.2. 数据管理
本平台数据的存储和管理所面临的主要问题是:
海量数据的存储和维护;高效的数据检索和处理。
为了提供历史报表并对系统性能进行评估,需要
存储大量的性能数据。本平台采用数据库技术,利用
数据库系统可以较好地解决大量数据的维护问日。选
取MySql作为后台数据库,数据库的设计如图 4所示。
Figure 3. The overall design pattern
图3. 总体设计模式图
Copyright © 2013 Hanspub 247
企业级应用系统综合管理平台的研究与实现
Figure 4. ER map: The relationships among the entities
图4. 实体间的关系 ER 图
监控类型表表示系统可以监控的不同的信息资源,如
应用服务器、Web 服务器、数据库服务器和操作系统
等;监控版本表表示目前本系统可以支持的监控类型
中服务器的不同版本,如应用服务器包括 WebLogic、
Websphere 等,Web服务器包括 Apache、IIS等;性
能大类表表示每类服务器需要监控的大类性能,比如
对WebLogic而言,包括JVM、Web 应用明细、EJB、
servlet、线程池、数据库连接池;性能子项表表示每
一个大类性能下要监控的具体属性;数据采样表存放
监控性能的采样数据;告警阈值表记录了服务器的特
定性能的特定性能子项的告警阈值,当监控到的性能
不在阈值范围内时,系统会自动报警;告警信息表记
录报警主机的 IP、报警时间、报警类型等信息。
数据库中的表按其属性可以分为两类:一是与时
间无关的数据表,如监控类型、性能子项、监控信息
表等,这些信息在设定后基本保持不变,可以认为是
静态信息;二是与时间相关的数据表,即动态表,如
每个采样表中都记录了采样的时间,又如告警信息表
中发生告警信息的起止时间。这些动态数据的快速增
长会导致检索性能下降和存储空间耗费过大等问题,
因此对数据进行压缩处理是必要的。
数据压缩的依据是:当按不同的时间间隔考察性
能发展趋势时,所需数据采样的粒度不同,如我们需
要至少5分钟每次的数据采样来画出一天的性能走
势,而对于一个月的性能走势,我们则只需要一天一
次的采样就足够了。为了更加准确的反映服务器的性
能,在进行数据压缩的时候计算出极值、平均值等性
能指标,这样使系统的平均响应时间和效率都提高
了。
由于所采集数据数量庞大,并且无法保证监控人
员能实时关注这些数据,所以在平台中实现了阈值告
警的功能。系统的告警机制是基于阈值的设置的,如
图5所示。由于绝大多数性能参数都可以体现为一个
数值,故可以对其设定阈值,并通过数据扫描来检测
当前的性能属性是否在阈值范围内。其中过滤器是用
来对告警信息类型和优先级分类,然后通过发送邮件
或发送短信的方式来通知管理员。
4. 系统运行实例
数据表示是性能监控功能的体现。数据表示包括
了实时数据显示、告警信息和统计报表。实时数据显
示是将最近一次采样的性能数据以图表的形式呈现
给用户(管理员),系统提供了饼图、直方图、折线图
三种图形表现方式,图6为被监控的 Windows 服务器
Copyright © 2013 Hanspub
248
企业级应用系统综合管理平台的研究与实现
Figure 5. The alarm mechanism based on threshold
图5. 基于阈值的告警机制
Figure 6. The details for real-time performance of a Windows server
图6. Windows服务器实时性能明细
Copyright © 2013 Hanspub 249
企业级应用系统综合管理平台的研究与实现
的实时性能数据。当采集的性能数据超出阈值范围
时,系统会通过邮件或短信告知管理员,管理员也可
通过浏览器查看历史的告警信息及产生告警的原因
分析。按用户需求将历史数据生成统计报表,如日报
表、周报表、年报表、对比报表趋势报表、可用性报
表、故障分析报表。
5. 结语
1) 针对现有监控软件无法实现应用系统进行全
方位监控的问题,设计并实现了一个企业级应用系统
综合管理平台。
2) 该平台提供了对企业的操作系统、数据库、应
用服务器和 Web 服务器的综合监控,对采集到的性能
数据做了后期处理,并将数据以友好的界面呈现给用
户。
3) 该平台同时提供了了告警和报表的功能,方便
管理员判定企业级应用系统的工作状态,检测系统可
能出现的瓶颈,从而保证整个系统高效、可靠的运行。
参考文献 (References)
[1] 刘东红, 郭长国, 王怀民等. 监控使能的分布式软件系统构
造方法[J]. 软件学报, 2011, 22(11): 2610-2624.
[2] H. Sun. An integrated network performance monitor system.
Third International Symposium on Intelligent Information Te-
chnology and Security Infor matics, Jinggangshan, 2-4 April 2010,
88-91.
[3] Monitoring Agents using a Large Integrated Services Architec-
ture, 2011. http://monalisa.caltech.edu/monalisa-. htm
[4] P. Sun. Structural analysis of the remote performance monitoring
system used in modern Agricultural machinery. Intelligent Com-
putation Technology and Automation (ICICTA), 2011, 2: 189-
193.
[5] L. Chen, W. Jian, Y.-B. Li, et al. Research of performance moni-
toring for spatial information system. Future Information Tech-
nology and Management Engineering (FITME), 2010, 2: 104-
106.
Copyright © 2013 Hanspub
250

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.