设为首页 | 收藏本站 | 关于我们 | 广告服务
 
 
当前位置:首页 > 中国金融电脑 > 2013年8月
吴永飞:大型信息系统性能监控体系的设计和实现

华夏银行股份有限公司信息技术部总经理 吴永飞

  当前,尽管商业银行的IT系统性能监控中采用很多国内外最新研究成果,然而针对复杂的大型信息系统的性能监控仍有很多问题未能很好解决。针对上述问题,华夏银行通过借鉴ISO的层次结构思想,融汇业界在对象管理方面的实践方法和工具,设计了一套性能指标监控体系。本文重点阐述该监控体系架构及其在华夏银行重要业务生产系统性能监控中的应用实践。

  一、大型信息系统性能指标监控体系架构

  大型信息系统性能指标监控体系架构分为四个层次:数据采集层、数据管理层、数据分析层和数据表示层,系统架构如图1所示。

  1.数据采集层

  数据采集功能包括主动式数据采集和被动式数据采集。主动式数据采集直接针对特定的性能指标,目的性很强,如通过追踪数据包来了解路由状况;通过收发ICMP包来测算端到端的延迟。被动式数据采集通过软件或硬件探针实时监听相应的指标运行状态,如某个设备的I/O吞吐量。通过在一定周期内被动监听一个或多个指标,可以了解在该时间段内设备或者系统的运行效率。

  2.数据管理层

  数据管理功能包括基本数据管理和事件管理。基本数据管理功能包括数据的存储管理和数据的格式化。性能监控信息的数据量非常之大,以被动式数据采集为例,流量信息每秒递增。因此,对数据存储管理提出较高的要求。数据格式化的主要目的是便于数据分析,同时对数据进行一定程度的压缩。

  事件管理的功能是根据预先的定义和当前采集到的数据生成性能事件,提供事件管理机制的主要目的是提高对一些严重性能问题反应的实时性。数据采集、管理与数据分析之间是一种松耦合关系,数据分析功能的执行通常由人员控制,或者通过定时机制周期性地进行。由此产生了一个问题,即从性能问题发生到处理有一段延迟,对于严重的性能问题而言,这个延迟可能是无法接受的。而事件机制可以主动发现和提交问题,因而弥补了这一弱点。

  3.数据分析层

  数据分析层主要包括基础数据分析和事件分析。基础数据分析具有三方面功能。①基本统计功能。按线路、路由器端口、网络或自治域统计流量,按应用类型统计流量分布。②性能趋势预测。按照一些数学模型,如时间序列预测、回归分析、概率预测、判断预测技术以及最优分割预测、判断分析预测等,对基础数据进行加工处理。③ 数据关联分析。利用数据挖掘技术对基础数据进行旋转、关联, 发现潜在问题。

  事件分析主要根据特定的原则进行事件过滤,并采取适当的处理方式。事件按紧急程度划分为不同的优先级,优先级高的事件优先响应。对于由同一问题引发的连锁事件,尽量归并;对于不同来源的事件尽量关联。

  4. 数据表示层

  数据表示层的功能是提交性能指标监控的结果,包括数据分析结果和事件处理结果。数据分析结果有两种提交形式:统计报表和可视化。其中可视化结果相对而言更加直观。

  事件处理结果主要表现方式:告警、分发和日志。告警方式主要适用于特别紧急,需要马上处理的事件。告警手段包括在值班人员的终端上弹出告警窗口、发出警铃声、短信等。分发方式主要用于处理与其他管理域相关的事件,如与失效管理或配置管理相关的事件。日志方式适用于优先级较低的事件,对这些事件可以不必立即处理,而是以故障条目的形式保存起来,运维管理人员任何时刻都可以通过查询故障信息来了解有哪些事件尚未处理。

  二、大型信息系统性能监控体系的实现要点

  本文以华夏银行生产系统性能管理实践为例,从数据采集、数据管理、数据分析和数据表示四个方面阐述大型信息系统性能监控体系的实现要点,描述基于事件驱动的性能监控。

  1. 数据采集

  数据采集是实现性能监控的基础。数据采集的两个要素是数据采集方案的选择和数据采集系统的结构设计。

  (1)数据采集方案

  常用的数据采集方案主要包括基于SNMP协议、基于SNMP2RMON、基于代理软件(Agent)的几类标准方案。然而,在一些特殊环境中,“标准”方法往往不能奏效, 需要“ 非常之举” 。如监视主干网络流量的解决方案很多,但几乎所有方案都需要主干网络设备的支持, 从而带来性能问题。在网络负载已经很重的情况下, 标准方法就要采取“ 非常”方法,如用1台工作站来监听数据流。

  华夏银行生产系统性能监控系统在数据采集手段上,以S NMP和A g e n t为主,同时灵活运用了P i n g、Rping、Telnet等工具收集诸如响应时间、包丢失率、可连接性、可达性等SNMP力所不及的信息。

  (2)数据采集系统设计

  数据采集系统的设计难点在于:一是不同的性能监测目的对数据采集能力要求不同,很难找到一种方法满足所有需求;二是数据采集系统要能够提供统一一致的访问接口;三是数据采集的频度既要满足性能分析的需要,又要尽可能减少设备负担和网络资源消耗,如何解决这一矛盾是系统设计成功与否的关键。

  华夏银行生产系统性能监控系统采用面向对象的系统设计方法,面向对象技术具有多态性和封装性,可以有效解决上述问题。性能监控系统中对每个被管设备或资源定义一个对象,称为被管对象。同时为了构造被管对象,定义了“被管对象类”,“被管对象类”是性能指标及访问方法的集合。利用被管对象隐藏了对具体设备的访问,然而被管对象并不是“被管对象类”直接派生的实例。这是因为评价不同设备或资源所需的性能指标不同。另外,对不同设备或资源所采取的数据采集方法也可能不同。因此,把“被管对象类”定义为虚类,对于不同类型的被管设备或资源派生其子类,所以被管对象是“被管对象类”子类的实例。

  在数据采集频度的处理上,把数据采集任务按需求特点分为前台数据采集和后台数据采集,分别服务于随机的实时监测请求和预先定义的大规模数据采集任务。对于前台数据采集任务,当启动一个实时监测程序时执行前台数据采集动作,如实时流量监测。一般而言其涉及的被管对象较少,被管对象在程序启动时指定数据采集的目的是为了考察一个或几个被管设备的状态,对于后台数据采集任务,由一个专用程序自动完成,定时收集大量被管设备的信息。

  2.数据管理

  数据存储和管理面临的主要问题有两个:一是海量数据的存储和维护;二是高性能数据的检索和分析处理。为了实现性能分析,需要存储大量的被管设备运行状态数据,一般采用数据库技术,利用数据库系统可以较好地解决大量数据的维护问题,却无法克服数据快速增长所带来的检索性能下降和存储空间不足的难题。华夏银行生产系统性能监控系统采用以下方法和措施较好地解决了上述问题:首先,使用内存数据仓库技术存储和处理实时性或者时效性要求高的数据,如实时流量数据、业务交易数据和故障告警信息等;其次,将历史数据之类需要长期保留的大规模数据存放在Oracle数据库中,采用多级缓存方式和定时批量入库的策略,缓解数据库操作低效性对服务器性能的影响;再次,将数据按不同时间段进行压缩,数据压缩的主要依据是不同时间间隔所需数据采样的频率不同,如一天的性能趋势需要至少5分钟的数据采样频率,一周的性能趋势使用30分钟的采样间隔就足够了。

  3.数据分析

  性能监控系统应具有强大的性能分析能力。然而系统设计者很难全面考虑实际应用中可能遇到的各种需求,即使像Tivoli、OpenView这样优秀的管理平台对于数据分析也仅提供了有限的支持。因此,管理者出于特定的性能分析需求,常常需要自行设计分析程序。自行设计数据处理的应用程序,就必须要了解底层数据组织细节,而出于技术保密的考虑,很多软件对数据组织细节未作说明。因此,数据分析的关键并不是具体的数据分析技术,而是数据分析机制的开放性。

  华夏银行生产系统性能监控系统通过数据过滤器实现数据分析的开放性。数据过滤器的功能是把数据按特定要求格式化,用以生成报告或以图形显示,过滤器的输入参数是被管对象集合和对每个对象要提取的属性, 通过数据过滤器消除了数据分析对数据管理细节的依赖。

  4.数据表示

  数据表示是性能监控功能的体现。数据表示的两个要点是统计报表设计和数据可视化。统计报表设计即实现统计报表的简练、直观、准确;数据可视化是一种计算技术,包含图像理解和图像综合,是由复杂的多元时变数据集产生图像的工具和理解复杂现象及大规模数据的重要工具。在可视化过程中必须解决两个基本问题:一是必须抽象出目标系统的可视化模型;二是在模型建立之后,找出描绘这个模型的适当方案。

  性能监控数据可视化的难点在于,很难抽象出可视化对象的物理模型,即使能够抽象出一个模型,也很难给人以直观感受。这是因为一个物理特性通常只对应一类实物,而一个计算机领域的设计对应许多不同的实现,某一可视化模型可能符合一些人的想法,却与其他人的想法完全不一致。因此,数据表示与其说是一个技术问题,不如说是一个艺术问题。

  5.基于事件驱动的性能监控

  根据控制行为特点,性能监控分为主动式性能监控和被动式性能监控。前文阐述的数据采集、管理、分析和表示都属于主动式性能监控技术,即为排除某一性能故障或评价、预测被管对象的性能而主动收集该设备的运行状态数据,进行分析整理,为设备性能了解和优化提供支持。主动式性能监控的特点是由于数据采集和数据分析需要消耗一定的资源,因此需要设置合理的数据采集和数据分析和频度。这导致了主动式性能监控对严重性能问题的实时反应能力欠缺。

  被动式性能监控基于事件驱动的特点恰恰弥补了这一不足。管理者列举所有可能出现的需要处理的情况,并将其定义为事件, 由被管对象通知某一事件的发生。基于事件驱动的性能监控关键是事件定义, 被管设备一般都具有一定的失效事件告警能力, 在性能事件告警方面却存在不足,因为性能的优劣是相对的, 不同情况下的判断标准差异很大。因此,实际工作中I T人员需根据实际情况自行定义性能事件。

  华夏银行生产系统性能监控系统利用阈值控制事件生成。由于性能参数大都以数值方式体现,因此设置阈值是定义性能事件的有效手段。图2为性能监控系统采用的基于阈值的事件告警机制示意图,其中事件过滤器的作用是对事件按类型和优先级分类,以便突出需要紧急处理的事件。

  华夏银行生产系统性能监控系统在功能定义上比较全面地考虑了性能监控的各种需求,在整体架构设计上采用层次化和模块化设计思想,其优势体现在:一是各层功能相对独立,不依赖底层实现细节,仅需了解层间接口所提供的服务;二是结构上易分隔,各层都可独立采用最合适的技术;三是易于实现和维护,层次化和模块化设计使得一个庞大而复杂系统的实现和调试变得简单易行;四是开放性好。只要接口关系保持不变,层内变动不影响上下层运行。但这种设计也存在一定劣势:各层功能通过数据关联实现松耦合,一个完整性能监控流程在各层之间的延迟不可预测,无法满足实时性要求强的性能监控要求。针对这个问题,华夏银行生产系统性能监控系统提供了基于事件驱动的性能监控机制, 以满足华夏银行生产系统整体性能监控的要求。

 
过刊查询
2022年03月 2022年02月 2022年01月
2021年12月 2021年11月 2021年10月
2021年09月 2021年08月 2021年07月
2021年06月 2021年06月 2021年05月
查看所有过刊
本期精选
《中国金融电脑》2013年8月目录
工商银行“两地三中心”一体化运维实践
郑仕辉:交通银行“两地三中心”灾备体系..
吴永飞:大型信息系统性能监控体系的设计..
 
企业简介 | 版权声明 | 免责声明 | 频道介绍 | 安全提示 | 法律顾问 | 网上投稿 | 客服电话 | RSS订阅
Copyright © 2005 Fcc.Com.Cn, All Rights Reserved. ,《中国金融电脑》杂志社版权所有
电话:010-51915111-805 传真:010-51915236,网络出版服务许可证(署)网出证(京)字第337号
京ICP备14024077号-1 京公安网备:11010802025321 技术支持:站多多