IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    

developerWorks 中国  >  Tivoli  >

TMTP与面向服务体系架构的性能监控

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


对此页的评价

帮助我们改进这些内容


级别: 初级

王雪 , IBM 中国软件开发实验室 SOA设计中心 软件工程师, IBM

2005 年 11 月

TMTP(IBM Tivoli Monitoring for Transaction Performance)是IBM Tivoli 软件家族中的面向事务管理和监控的软件产品,它结合SOA应用系统的性能管理要求,提供了监控和管理基于事务的业务过程、服务组件以及二者之间关联的功能。本文中将深入分析SOA应用系统的性能监控管理要求,介绍TMTP的体系结构以及适应SOA应用系统的功能,理解静默模式的适用性和要素,最后展示如何以静默模式安装和配置TMTP。

1 SOA系统的性能监控分析

SOA(Service Oriented Architecture)基于服务的架构,是近几年IT业尤其是软件开发与系统集成领域的一个热门话题。SOA集中体现了企业应用或者业务功能上的"重用"和"互操作",不再把IT与业务对立起来,它在相对较粗的粒度上对应用或业务进行封装与重用,定义业务服务,并且业务服务的描述和发布都是基于开放的标准,保证了不同厂商之间的互操作性和可集成性。

图1展示了SOA应用系统的基本体系结构。上层的Web Portlet是表现层,将服务和业务过程展示给最终用户。在业务过程层,业务专家根据具体的业务和功能,使用图形化的BPEL工具将不同的web服务组织起来,构成适应业务需要的业务过程,包括抽象过程和执行过程。服务层则是SOA架构中的基本组成单元的集合,它是将来自异构的分布的已有系统根据开放的业务需要封装为粗粒度的、与实现无关的服务,并以标准的规范发布。IT中间件层和操作系统层表示了已有系统的软件环境和系统环境。


图 1. SOA应用系统体系结构图
图 1. SOA应用系统体系结构图

为了保证SOA应用系统的运行良好,必须对实现SOA的应用系统的各个层次实行性能上的监控和管理,包括可用性、可靠性、事务处理等等。其中事务性能是一个非常重要的方面,尤其在基于服务的SOA分布式架构中,如何捕获事务数据,如何跟踪事务过程、业务层的事务问题对服务层的影响,服务的操作单元的响应时间延迟问题,如何准确定位服务的问题根源等等都是SOA应用系统管理中必须解决的问题。TMTP是面向服务级别的事务管理和监控工具,可以管理 Web 应用程序环境的可用性和性能,通过收集跟踪并改善事务时间所需的详细信息,确保最优响应能力。它可以在阈值违例报警、历史数据报告、相关性监控等方面为SOA应用系统的事务管理提供支持。接下来我们来看看什么是TMTP以及TMTP如何支持SOA应用系统的事务性能监控?



回页首


2 TMTP

TMTP (IBM Tivoli Monitoring for Transaction Performance)是一组集中管理的软件组件套件,用来监控基于Web的服务和Microsoft Windows应用程序的事务的可用性和性能,具有全面的事务分解环境,提供查看问题事务的路径、隔离问题与问题源、识别问题事务以及恢复正常的响应时间的功能。事务(Transaction)是工作站和程序之间、两个工作站之间或者两个完成特定操作或结果的程序之间的交流。事务是通过第一次与事务监控软件中的事务检测点通信来确定的。这是一种边缘(edge)定义,每个事务在此处一旦遇到可用的检测点,就被确定为一个唯一的事务。TMTP还针对分布式事务管理提供了事务监管策略,此策略横跨事务所执行的所有系统,控制对事务的监视。TMTP的体系结构如下图所示:


图 2. TMTP体系结构图
图 2. TMTP体系结构图

四个主要的物理组件分别是:管理服务器(Management Server)、管理代理程序(Management Agent)、存储转发代理(Store and Forward Agent)和ARM 引擎(ARM Engine)。

管理服务器是TMTP的控制中心,被所有的 TMTP组件所共享,它从部署的管理代理程序收集信息并向它们提供服务。管理服务器提供了一个统一的用户接口,支持创建和调度指示监视组件收集性能数据的策略、建立可接受的性能阈值、查看实时报告和管理调度事件等。同时,为了保持ARM数据、监视和回放策略信息的持久性,管理服务器采用关系数据库来存储策略信息、事件以及ARM数据等。

管理代理程序作为TMTP的发现事务的触角,安装在整个系统环境的计算机上,通过它可以自动识别需要监视的Web事务、收集性能数据、侦听和回放操作事件。并且在创建发现、侦听或回放策略时,指定代理程序组来使得组内的所有管理代理程序都可以运行相同的策略。管理代理程序使用 Web 服务和安全套接字层(SSL)与管理服务器通信。

存储转发代理主要用来处理管理代理程序与管理服务器之间存在防火墙的状况。管理代理程序将事务数据发送到存储转发代理,再由存储转发代理发送到管理服务器,对于管理代理程序而言,就像存储转发是管理服务器一样。

安装和配置管理代理程序时,应用程序响应测量(ARM)引擎会作为管理代理程序的一部分自动安装。ARM是TMTP的核心技术之一,ARM引擎和 ARM API 遵守 ARM 2.0 和 4.0 规范。ARM是满足跨机器群和分布式计算网络性能跟踪的要求而设定的规范,它为企业应用提供了一种方法来跨网络地传递子事务的响应信息。此信息可用于计算响应时间、识别子事务和提供附加的数据来帮助您确定性能问题的原因。所有由 Quality of Service、J2EE、STI 和 TMTP 的 Generic Windows 监视组件收集到的事务数据都由 ARM 收集。使用ARM以支持以下功能:1)数据的聚集和相关。TMTP支持使策略收集的所有响应时间平均化,这是一个称为聚集的过程。响应时间每小时聚集一次。聚集的数据使您可以查看给定一小时之内的事务总体性能。相关是跟踪事务之间层次关系并将事务与其嵌套的子事务关联的过程。当您知道事务之间的父子关系以及每个事务的响应时间时,您就可确定哪些事务在延迟其它事务,然后采取步骤来改进对减慢性能影响最大的服务或事务的响应时间。2) 实例和聚集数据收集。当策略收集性能数据时,所收集的数据被写入磁盘。您可以指定仅聚集的数据被写到磁盘(节省系统资源并查看较少的数据点)或者聚集和实例数据都被写到磁盘。聚集的数据是策略在一小时内检测到的所有响应时间的平均值,然而实例数据包含每次检测事务时收集的响应时间。TMTP 通常只收集聚集数据,除非侦听策略中指定了实例数据收集。如果事务超出了指定的阈值,TMTP还自动收集实例数据。这第二个功能非常有用,因为它意味着TMTP不需保留冗余的实例数据,但如果识别出现了事务问题,那么仍留有相关的实例数据。

基于以上对TMTP的介绍,我们已经有了这样的印象,那就是TMTP在基于web的服务和微软windows应用程序的事务性能和可用性方面具有监控能力。在SOA应用系统中,事务性能管理要求在不同的层面可以体现出来。例如,TMTP的阈值违例的报警功能就可以满足SOA应用系统的服务层和业务层要求实时生成性能数据报告,以便于统计和分析。在业务层到服务层的相关性方面,TMTP虽然不是直接提供性能监控的支持,但是通过利用TMTP的运行策略管理和扩展TMTP可以达到上述目标。下面就详细地介绍一下如何捕获并诊断由于BPEL活动失败而引起的事务和相关性问题?为了回答这个问题,首先需要解决如何发现并捕获BPEL的事务。由于TMTP不支持异步调用,而且BPEL组件(e.g. Receive, Invoke)本身并不是一个ARM检测组件,所以就不能够获得相应的标签,也不能发现BPEL的事务信息。然而,我们可以在TMTP中为每个BPEL活动定义一个策略组,并且在每个策略组中为每次调用定义一个侦听策略,这样就确定了事务的边缘,那就是每次BPEL的活动的调用都是一个事务,从而就可以侦听到并且捕获到BPEL的事务数据了。在确定了BPEL事务之后,我们就可以利用TMTP的基于ARM的相关性来自动诊断BPEL活动和服务之间的相关,它支持EJBs, Servlets, JDBC等。

TMTP还提供了多种数据实时报告形式,用来帮助用户侦测和掌握SOA系统中的事务性能。Big Board针对所有激活的策略,基于用户设定的阈值和侦测的状态提供了快速的总结视图,用户可以由此对系统事务性能有一个总体的概览,如图3所示。Topology报告则针对违例的事务响应,提供了细化的视图报告,为跟踪事务行进路径和发现问题事务源提供了有力的帮助,如图4所示。


图 3. TMTP Big Board报告
图 3. TMTP Big Board报告

图 4. TMTP Topology报告
图 4. TMTP Topology报告

上面我们分析了SOA系统中事务性能监控的必要性,并且介绍了TMTP的体系结构和应用组件,了解到TMTP对SOA系统性能管理的作用。在SOA应用系统的物理拓扑结构中,往往不只有一个或者两个计算机节点,来自不同服务提供者的服务可以存在于世界网络范围内。监控软件的部署往往需要进行多次重复性的工作,这就给客户IT部门带来了很大的运营成本。静默安装则提供了一种减轻这种工作负担的可能,下面我们就来看看什么是静默安装以及静默安装的适用性和要素。



回页首


3 静默模式的适用性与要素

首先,我们来看一看什么是静默模式?在无需用户交互的情况下通过命令行方式进行的软件安装和配置称为静默模式。SOA应用程序,尤其是大规模的应用系统,涉及到的节点往往不是一个,在如此庞大的系统网络中进行软件安装和部署,是一件费时费力的事。系统管理员需要在每台节点计算机上安装需要的软件和环境,有些安装参数和选项往往是重复的。在使用命令行方式安装产品组件时,需要设置一些安装选项,可以将这些选项直接输入到命令行或将这些选项记录在响应文件中。静默模式通过命令行的方式可以在很大程度上减轻系统管理员的工作,实现自动安装和配置。

为了达到自动地的安装和配置软件产品,需要准备安装配置数据。在TMTP中,安装选项的数据可以记录在响应文件中,也可以直接输入到命令行中。使用响应文件可以重用于多个安装和卸载,提供对多个目标计算机的有效值,方便以后识别配置的详细信息。但是在那些具有唯一性质和密码保护的选项,则需要在命令行中手工输入,以保证其唯一性和保密性。

那么什么是响应文件?响应文件具有哪些特征?

响应文件是一个包含一个或多个数据选项的纯文本文件,以 .opt为文件后缀。其包含的安装或卸载的数据选项必须遵循选项列表的规范,每个数据选项都必须存在于单独一行中,可以以任何顺序排序。在响应文件中不要包含 -silent 标志、-options 标志或 -is和任何注释行或空白行。

除了响应文件以外,我们还需要在安装命令中指定响应文件。在安装命令中可能带有一个或者多个用户参数,通常以批处理文件的形式将这些安装命令封装起来,以方便执行和调用,我们称其"执行文件"。



回页首


4 TMTP的静默安装与配置

前面我们讨论了静默安装模式的适用性和要素,在这一章我们主要介绍TMTP的静默安装与配置过程,并附以实例来解释说明响应文件和执行文件。

管理服务器的安装必须确保安装的计算机满足以下安装条件:硬件环境、软件环境、用户角色。其中软件环境要求安装的计算机上成功安装并且部署了Websphere Application Server 5.0.2 or 5.1,在安装网络中存在可用的数据库,可以是DB2或者Oracle。用户角色要求执行该过程的用户必须具有 Administrators 组的成员资格(在 Windows 上)。

管理代理程序的安装则要求在安装网络中,已经成功安装并且部署了管理服务器。

下面我们重点介绍响应文件的格式和配置选项以及安装命令格式。

清单1和清单2分别展示了管理服务器在Websphere Application Server5.1,DB2 8.1,Windows XP(SP2),无防火墙的情况下以及管理代理程序的安装响应文件。


清单 1. 管理服务器的响应文件

-P ms.installLocation="C:\Program Files\IBM\tivoli\MS"
-W sslConfig.sslValue="false"
-W sslConfig.copyKeyFiles="false"
-W sslConfig.portWithoutAuth="9081"
-W sslConfig.portWithAuth="9446"
-W sslConfig.portManagementServer="9082"
-W wasService.wasSslEnabled="false"
-W wasService.user="tmtpus"
-W wasService.password="tmtppassword"
-W wasService.cellName="wascellname"
-W wasService.nodeName="wasnodename"
-W wasService.serverName="server1"
-W wasService.soapConnectorPort="8880"
-W dbConfig.databasename="tmtp"
-W dbConfig.database_type="DB2"
-W dbConfig.user="db2admin"
-W dbConfig.port="50000"
-W dbConfig.password="db2password"
-W dbConfig.jdbcPath="C:\Program Files\IBM\SQLLIB\java"
-G replaceExistingResponse="yesToAll"
-G replaceNewerResponse="yesToAll"
-G removeExistingResponse="yesToAll"
-G removeModifiedResponse="yesToAll"
-W logSettings.logLevel="ALL"
-W logSettings.consoleOut="true"


清单 2. 管理代理程序的响应文件

-P ma.installLocation="C:\Program Files\IBM\tivoli\MA"
-W msConnection.hostName="ms_hostName"
-W msConnection.userName="tmtpus" 
-W msConnection.password="tmtppassword" 
-W msConnection.sslValue="false" 
-W msConnection.portNumber="9081" 
-W msConnection.protocol="http"
-W msConnection.maPort="1976"
-W serviceUser.user="TMTPAgent"
-W serviceUser.password="tmtpagentpassword"
-G replaceExistingResponse="yesToAll" 
-G replaceNewerResponse="yesToAll" 
-G removeExistingResponse="yesToAll" 
-G removeModifiedResponse="yesToAll"
-W logSettings.logLevel="ALL" 
-W logSettings.consoleOut="true"

在响应文件中,通过指定不同的配置选项来设置安装参数。在这里共有三个配置选项标志:-P、-W 和 -G。

  • -P 和 -W 选项指定安装中涉及的每个实体(例如,管理服务器、数据库服务器、Web 服务器和管理代理程序)的信息。-P 选项(产品选项)向系统添加文件或配置功能。-W 选项(向导面板选项)指定安装程序所需的数据。
  • -G 选项指定对弹出式确认窗口的响应,那些窗口可能在安装或卸载程序即将安装或除去文件或目录时显示。

清单3和清单4则分别展示了管理服务器和管理代理程序的安装命令文件。我们将安装命令封装在批处理文件中,通过rspFile参数指定响应文件的位置,通过installDir参数指定产品安装的可执行文件。TMTP的安装命令格式如下:




install_executable [installer_setting...] -silent [config_option...] \ [-options option_file]

其中:

  • install_executable 指定了正在其上安装产品的系统的安装可执行文件。 对于管理服务器:Windows:setup_MS_w32.exe,对于管理代理程序: Windows:setup_MA_w32.exe 。
  • installer_setting 指定确定安装程序的行为的 -is 设置。
    • -is:tempdir temp_dir 指定存储临时文件的目录。如果指定的目录不存在或不是一个目录,安装、升级或卸载程序将把临时文件写入缺省临时目录。不发出错误消息。
    • -is:log log_file_name指定启动程序初始化期间用于记录 InstallShield 发出的错误消息的文件的名称。可指定全限定路径名,也可指定相对路径名。如果只指定文件名,则程序将在当前目录中创建文件。此选项在安装、升级或卸载程序启动后就失败的情况下对确定问题特别有用。
    • -is:silent不显示本应在安装、升级或卸载开始时显示的"InstallShield 向导"消息窗口。用于静默安装或卸载的-silent 选项会显示此窗口。
    • is:javaconsole指定不仅记录错误消息,还将把它们显示到控制台窗口。显示的错误消息不需要与 -is:log 选项记录的错误消息相同。
  • -silent 指定静默安装。
  • config_option 指定一个或多个未包含在响应文件中的数据选项。
  • options 使安装程序响应文件中获取配置数据。
  • option_file 指定响应文件。

清单 3. 管理服务器的批处理文件

@echo on
Rem Install TMTP MS 5.3
rem NOTE:rspFile refers to the response file
rem NOTE:installerDir refers to directory where the 
setup_MS_w32.exe locates in. It is a whole directory path.
rem Example: installDir=F:\software\tivoli\TMTP\ITMTP_WTP_1\disk1
set rspFile=%1%
set installerDir=%2%
mkdir \ms_tmp
rem ms_tmp is a temp dir of MS installation
echo "==========Installing TMTP MS 5.3============"
%installerDir%\setup_MS_w32.exe -is:tempdir \ms_tmp -is:log 
\ms_tmp\msSetupLog.log -is:silent -is:javaconsole -silent -options %rspFile%
rmdir /s /q \ms_tmp


清单 4. 管理代理程序的批处理文件

@echo on
Rem Install TMTP MA 5.3
rem NOTE:rspFile refers to the response file
rem NOTE:installerDir refers to directory where the 
setup_MA_w32.exe locates in. It is a whole directory path. 
rem Example: installDir=F:\software\tivoli\TMTP\C8064IE\MA
set rspFile=%1%
set installerDir=%2%
mkdir \ma_tmp
rem "ma_tmp is a temp dir of MA installation"
echo "==========Installing TMTP MA 5.3============"
%installerDir%\setup_MA_w32.exe -is:tempdir \ma_tmp -is:log 
\ma_tmp\maSetupLog.log -is:silent -is:javaconsole -silent -options %rspFile%
rmdir /s /q \ma_tmp



回页首


结束语

本文分析了SOA应用系统的性能监控管理要求,介绍了TMTP的关键技术,论述了静默安装模式的必要性,以及静默安装TMTP的方法。



回页首


参考资料

  • End-to-End e-business Transaction Management Made Easy 红皮书 SG24-6080-00,2004 年 2 月,作者Morten Moeller等。

  • Managing Information Access to an Enterprise Information System Using J2EE and Services Oriented Architecture红皮书SG24-6371-00,2005 年 2 月,作者William Moore等。

  • IBM Tivoli Monitoring for Transaction Performance5.3 Administrator's Guide。

  • Transactions in J2EE 红皮书REDP-3659-00,2004 年 7 月, 作者 Jan Smolenski 等。

  • Service Level Management Using IBM Tivoli Service Level Advisor and Tivoli Business Systems Manager 红皮书SG24-6464-00,2004 年 12 月,作者Edson Manoel等。


回页首


关于作者

IBM中国软件开发实验室SOA设计中心 是IBM全球四个SOA设计中心中最大的一个,成立一年多来,已经取得了可喜的成果。我们已经在全球范围内成功地实施了多个 SOA 应用项目,为多个行业的客户成功地提供了 SOA 解决方案。我们正在实施的 SOA 项目涵盖了很多的重要行业,包括零售业、航运业、电力、银行、保险等等。通过这些不断增长的成功案例,我们不仅深入地推广了 SOA 的理念,树立了 SOA 成功实施的范例,也为我们的队伍积累了经验,培养了人才。与此同时,我们还是 IBM 开发 SOA 的软件平台 -- SOA Integration Framework -- 的主力军。该产品基于模型驱动的思想,旨在最大化地重用软件资产,它为 SOA 项目的实施提供了一整套源自成功实践的方法论,设计范式和工具集。它的出现将极大地方便 SOA 系统架构师、设计人员、开发人员快速地开发基于SOA的应用项目。
王雪 是IBM 中国软件开发实验室SOA设计中心SOA Integration Framework组的一名软件工程师。 她在J2EE,SOA,软件集成以及Semantic Web领域有4年的研发经验。目前,她主要从事SOA工具技术以及SOA性能监控、系统管理相关的工作,联系方式:xuewang@cn.ibm.com




回页首


对本文的评价

太差! (1)需提高 (2)一般;尚可 (3)不错!(4)真棒!(5)

建议?



回页首



    关于 IBM隐私条约联系 IBM