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应用系统体系结构图
为了保证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体系结构图
四个主要的物理组件分别是:管理服务器(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报告
图4. TMTP Topology报告
上面我们分析了SOA系统中事务性能监控的必要性,并且介绍了TMTP的体系结构和应用组件,了解到TMTP对SOA系统性能管理的作用。在SOA应用系统的物理拓扑结构中,往往不只有一个或者两个计算机节点,来自不同服务提供者的服务可以存在于世界网络范围内。监控软件的部署往往需要进行多次重复性的工作,这就给客户IT部门带来了很大的运营成本。静默安装则提供了一种减轻这种工作负担的可能,下面我们就来看看什么是静默安装以及静默安装的适用性和要素。
3 静默模式的适用性与要素
首先,我们来看一看什么是静默模式?在无需用户交互的情况下通过命令行方式进行的软件安装和配置称为静默模式。SOA应用程序,尤其是大规模的应用系统,涉及到的节点往往不是一个,在如此庞大的系统网络中进行软件安装和部署,是一件费时费力的事。系统管理员需要在每台节点计算机上安装需要的软件和环境,有些安装参数和选项往往是重复的。在使用命令行方式安装产品组件时,需要设置一些安装选项,可以将这些选项直接输入到命令行或将这些选项记录在响应文件中。静默模式通过命令行的方式可以在很大程度上减轻系统管理员的工作,实现自动安装和配置。
为了达到自动地的安装和配置软件产品,需要准备安装配置数据。在TMTP中,安装选项的数据可以记录在响应文件中,也可以直接输入到命令行中。使用响应文件可以重用于多个安装和卸载,提供对多个目标计算机的有效值,方便以后识别配置的详细信息。但是在那些具有唯一性质和密码保护的选项,则需要在命令行中手工输入,以保证其唯一性和保密性。
那么什么是响应文件?响应文件具有哪些特征?
响应文件是一个包含一个或多个数据选项的纯文本文件,以.opt为文件后缀。其包含的安装或卸载的数据选项必须遵循选项列表的规范,每个数据选项都必须存在于单独一行中,可以以任何顺序排序。在响应文件中不要包含 -silent标志、-options标志或-is和任何注释行或空白行。
除了响应文件以外,我们还需要在安装命令中指定响应文件。在安装命令中可能带有一个或者多个用户参数,通常以批处理文件的形式将这些安装命令封装起来,以方便执行和调用,我们称其”执行文件”。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突