今天是
X
您现在的位置:首页 > 论文汇编 > 技术论文

技术论文

电力行业应用系统健康监控面临的挑战与应对

  2009-06-08

<P align=center><STRONG>电力行业应用系统健康监控面临的挑战与应对</STRONG></P> <P align=center>广州蓝科科技股份有限公司 杨东晓</P> <P>【内容提要】电力行业企业应用系统以及IT基础架构的可用、稳定、高效和安全对企业的生产、经营和声誉都有着至关重要的影响。本文就应用系统监控所面临的难题及其应对方案进行了初步分析,并说明上下文关联事件分析(CCE)理论在解决相关问题中的作用。</P> <P>【关键词】电力 应用系统 健康 监控</P> <P>电力行业是关系国计民生的产业,其核心业务开展基本上离不开自控系统和IT系统的支持。目前国内外许多网络(系统)管理平台都针对IT基础架构提供了许多监控解决方案,这些方案大都能够满足通用设备和系统软件监控上的基本需求。然而真正支撑企业生产和运营的是IT基础架构之上的各种应用系统和自动控制系统,这些系统的可用、稳定、高效和安全才是企业IT运维人员最终关心的问题,我们把之统称为“应用系统健康监控”问题。</P> <P>一、应用系统监控所面临的挑战</P> <P>1、监控信息泛滥,却无法从中提取出影响系统健康的有用线索</P> <P>IT设备和平台能够提供的可监控信息非常多,IT管理人员经常会被这些监控信息所淹没而无法知道一个简单的实施:我的系统到底状况如何?例如一个数据库系统可以检测的指标就非常多, 如:</P> <P align=center><IMG src="http://www.chinarein.com/uploadfiles/ndkj/200968165555505.jpg"></P> <P>这些信息代表什么含义,如何能够从这些信息中得到数据库目前是否健康,是否存在隐患,是否可以从中找到将要崩溃的预兆呢?目前大部分监控平台都把回答这一问题的责任交回给IT运维和管理人员。</P> <P>2、判断应用健康需要多条件、多事件和时间或顺序相关的复杂推演</P> <P>我们以一个CPU负载告警为例,我们是否可以简单地设置CPU负载大于90%就告警呢?显然是不行的,因为在某一瞬间CPU负债为100%可能也是正常的。那么把告警时间设置为CPU如果持续10分钟大于90%就告警,这样可能还不足够,因为系统晚上的时候可能有大量批处理需要完成,晚上的告警条件可能需要设置为持续40分钟大于90%才能够告警,否则每天晚上运维人员都会被无聊的告警吵醒。</P> <P>再举一个用PING工具来判断网络连接是否正常的例子。我们是否可以把告警条件设置为一旦PING超时就马上告警呢?对于大多数负载的网络来说这当然是过于苛刻。那样设置为连续3次PING超时就告警是否可以呢?这当然是要告警,网络已经完全不行了。理想的告警设置应该是1小时内如果间断性地发生达到或超过5次PING超时就应该告警,因为此时网络已经开始不稳定了,如果1小时内超时次数回落到3次以内告警就应该解除。</P> <P>从以上两个很常见的监测例子可以看出要做出有意义的判断实际上是需要非常复杂的多条件、多事件和时间或顺序关联的判断和推演的。对于应用系统的健康分析,实际上是应用系统的行为跟踪和分析,其判断条件的复杂性就不言而喻了。</P> <P>3、支撑大型应用往往需要把多设备、多平台的信息整合到一起进行分析判断</P> <P>支撑一个大型应用系统通常需要一个服务器群、存储、备份、网络和大量中间件、数据库和其它平台软件。如何能够把这些分散的信息整合到一起进行分析和判断是非常关键的。不然IT运维管理人员将会面对无数独立的主机、设备和平台,大大增加其判断和管理这些系统告警的难度。</P> <P>以一个应用系统的备份系统为例,在部署备份的时候一般分为1级备份和2级备份两个阶段。1级备份是数据库备份到告诉的磁盘介质中,2级备份是通过专业的备份管理软件把1级备份的数据再备份到磁带或光盘中。整个应用系统的备份就涉及到数据库、操作系统、磁盘、磁带库和备份软件等多个监控对象。如何整合这些信息,并提供一个直观和一体化的监测视图就显得非常重要。</P> <P>4、告警信息需要清晰明确。</P> <P>IT运维管理人员需要管理的IT基础架构设施通常都非常庞大,其中可能有数十个大大小小的应用系统在运作。监控系统发出的告警内容是否清晰明确,让管理者知道问题的严重程度以及迅速定位出告警源具体是哪一个设备上的那一个系统将显得非常重要。</P> <P>例如告警信息“表空间不足”显然就不如以下信息来的具体明了:</P> <P>“位于C02机架(ip:192.168.3.25)上的数据库表空间mysystemdata不足,剩余空间为100M,请马上处理”</P> <P>5、检测系统安全隐患问题</P> <P>目前有许多检测系统是通过远程登录系统运行脚本来采集检测信息,如果登录主机和数据库采用的明文密码在网上传输的话,实际上是会引入重大安全隐患的。因为检测系统可能会每5分钟就在网络上发布关键系统的登录密码的明文,非常容易被黑客工具截获。</P> <P>二、解决应用健康监控的关键技术</P> <P>面对以上问题和挑战,笔者认为需要为应用系统健康监控提出一个有针对性的解决方案。传统的网管或系统管理软件主要是针对标准化设备和平台提供一些参数和状态采集,并不具备强大的分析、加工和信息推送功能。以下是应用系统监控需要解决的几个关键技术:</P> <P>1、上下文关联事件分析(CCE)</P> <P>上下文 关联事件分析(CCE - Contextual Correlated Events)是一种事件/行为分析理论,CCE把监控分析实际中的各种情形归结为若干关联规则,以便用户可以通过简单的规则描述实现对事件的分析和判断。CCE实际上是一个有限状态机引擎,能够对输入的事件根据规则进行不断的推演得出需要的结论。</P> <P>CCE技术是基于规则驱动的事件分析技术,规则驱动技术与过程驱动技术相比可以大大降低分析脚本编写的难度,使非专业人员也可以自行修改或者编写分析规则。根据CCE的技术和理论总结了一系列关联规则,把这些关联规则组合起来就可以描述各种形式的关联事件了。这些事件关联类型主要包括:</P> <P>■单一事件(Single)</P> <P>没有关联事件,仅匹配单一事件,执行规定动作。</P> <P>■抑制单一事件(Single With Suppress)</P> <P>在指定事件窗口内只匹配事件一次,执行一次动作。</P> <P>■事件配对(Pair)</P> <P>在指定时间窗口内把两个或多个A、B事件合成为一个AB事件对。具体做法为匹配A事件后,执行规定动作,之后在指定事件窗口内忽略A事件并等待B事件,B事件到达执行另一动作并结束匹配。</P> <P>■带时间窗口配对(Pair With Window)</P> <P>匹配A事件,在时间窗口内等待B事件,如果B事件出现执行规定动作,如果B事件没有出现执行另外一个规定动作。</P> <P>■带阀值单一事件(Single With Threshold)</P> <P>在规定时间窗口内计算某一事件的发生次数,如果次数超过阀值执行规定动作。时间窗口是滑动的。</P> <P>■带双阀值单一事件(Single With 2 Thresholds)</P> <P>在规定时间t1内计算某一事件的发生次数,如果次数超过阀值n1,执行规定动作;执行完动作后在另一个指定的时间t2内如果该事件发生次数不多于n2则执行另一个动作。两个时间窗口都是滑动的。</P> <P>2、安全可靠的信息采集技术</P> <P>目前国内外监控平台在采集监控信息部分的技术无非是集中采集和代理采集两种模式。这两种采集各有利弊,集中采集无需在被采集对象中安装代理,比较适合具有标准采集接口的设备和平台系统。由于可能需要在网络上传输登陆认证信息,具有一定的安全风险。通过代理采集具有安全和效率高等优点,缺点是安装部署比较麻烦。一个好的监控采集平台应该能够集两种技术于一身,发挥各自的优点。对于代理采集方式应该具有消耗资源少,支持SSL安全通道和采集者身份确认等机制。</P> <P>3、告警信息模板化</P> <P>告警信息的推送是应用监控系统的最终环节,IT运维管理人员是否能够获取到足够清晰和明确的信息至关重要。监控平台采集到的信息,如指标值、分析结论、当前配置、被监测对象的各种属性都应该能够灵活地通过用户自定义的信息模板来构造出灵活的告警信息。告警信息中告警发生、告警的确认和告警的恢复应该能够分别输出不同的信息,以便IT运维人员能够全面掌握系统的状态。</P> <P>4、建立面向应用健康监测的监测模型</P> <P>一般网络和系统管理平台都能够监测大量设备、系统和软件的指标(Metric)。大量互不关联的指标并不能够让用户有效地侦测出被监控对象存在的问题,反过来用户还可能会被指标的海洋所淹没。</P> <P>一个良好的应用监控解决方案是能够给用户提供指引性极强的少量关键指标就可以了,让用户一目了然知道问题所在。因此通过总结应用系统开发和运维经验,分析应用监控的本质需求,建立一个有效描述应用系统可用、稳定、健康和安全的指标体系显得非常必要。</P> <P>支撑企业应用的IT架构可以划分为五个层次,从高到低分别为:应用软件、中间件、数据库、服务器和网络。</P> <P>应用软件是专门为某一应用目的而编制的软件,应用软件是支撑企业业务逻辑的核心软件。在多层次软件架构下需要中间件去支撑应用软件的运行,应用系统的健康状况很大程度上依赖中间件平台的健康状况。中间件通常包括Web服务器、组件(J2EE)服务器和交易(Tuxedo)服务器等。数据库服务更是大型应用软件支撑环境不可缺少的一个重要环节。数据库服务器通常对应用软件的性能和可用性起到决定性作用。服务器和网络是任何软件系统都要依附的IT基础设施。这五个层次互为支持和依赖关系,一个应用系统的健康状况必须全面审视这5个层次IT架构。SAMP将为用户提供一个一体化的监控展现和统计视图,让用户能够全面地了解某一个应用系统的运行状况。</P> <P>在垂直层面SAMP可以把应用系统划分为五个层次,在水平层面可以把监控指标划分为5类性质的指标:可用性指标、性能指标、资源消耗指标、异常/错误指标和安全指标。</P> <P align=center><IMG src="http://www.chinarein.com/uploadfiles/ndkj/200968165619527.jpg"></P> <P>5、提供有价值的监控知识和经验</P> <P>一个好的应用健康监控平台不仅仅应该是给用户一把“金锄头”,然后让用户自己去耕耘而不论收获。一个好的应用健康监控平台应该能够把应用监控的成功经验有效地传递给客户,帮助客户解决工作中面临的各种实际问题。例如,用户监控数据库是希望能够知道数据库到底为什么会意外宕机,如何能够防止。</P> <P>三、蓝科SAMP——应用健康的解决方案</P> <P>SAMP(Sapphire Application Monitor Platform)蓝宝石应用监控平台是蓝科科技股份有限公司总结了10年大型应用软件开发、运维和监控经验开发出来的一个专门针对应用健康监控的平台化产品。针对应用健康监控面临的挑战,SAMP平台提出了完美的解决方案。该平台是一个拥有完全自主知识产权的大型监控产品,SAMP所采用的采集、分析和告警推送技术都达到了国际领先水平。</P> <P>SAMP平台使用的对象是大型企业集团应用和控制系统中健康监控和行为分析。CCE分析引擎采用的是国际上领先的关联事件分析技术。SAMP非常适合大强度、大面积的采集、分析和信息推送环境。系统既可以作为综合网管的告警源,也可以轻松接纳第三方监测告警结果。对系统采集插件、分析规则、告警驱动全面开放,方便客户化开发应用。</P> <P>SAMP已经被国家电网某省网公司选择使用,负责对其下属12个地市的电力营销技术支持系统进行全方位监测。以下是SAMP平台的网络拓扑图:</P> <P align=center><IMG src="http://www.chinarein.com/uploadfiles/ndkj/200968165631877.jpg"></P> <P>注释</P> <P>“上下文”(Context),该词来源于语法,意思是文章中围绕着某个特定词或段落且能够概括该部分内容的叙述,也可以通俗理解为事件发生的环境、背景来龙去脉和前后关系。在此我们把上下文看作为决定事件关联分析所需要的各种历史状态。</P> <P>作者简介:杨东晓 男,1969年生,藉贯广东。广州蓝科科技股份有限公司创始人,董事长,总经理,蓝宝石应用监控平台总设计师。</P>

标签:电力,应用系统,健康,监控

相关报道

指导单位:国家能源局新能源和可再生能源司
    国家电网公司农电工作部
                           中国南方电网有限责任公司农电管理部
主办单位:中国电机工程学会农村电气化专业委员会
北京国宇出版有限公司

联系方式:北京市大兴区地盛北街2号院17号楼 电话:010-63231592,010-63231638
QQ群:11979641(已满) 173615127  122166702
京公网安备11011502038427