作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站
Tuxedo开发过程中很难找到关于监控的文章,以下内容是翻译http://e-docs.bea.com/tuxedo/tux71/html/admon15.htm,希望有人继续完成这些文档的翻译。
使用MIB来监控你的应用
基本上你可以用MIB完成两种操作:从MIB得到信息(get操作)和更新MIB中的信息(set操作),你随时能通过一套ATMI函数(例如:tpalloc,tprealloc,tpcall,tpacall,tpgetrply,tpenqueue,tpdequeue)完成以上功能。
当你通过get从MIB中查询时,MIB回应你一些批评的信息,并且指示还有多少对象满足你的请求。MIB返回一个句柄(即,游标),通过这个句柄你能取得余下的对象。取得下一个结果集的操作叫getnext。当查询跨越多个缓冲区时发生第三个操作。
限制MIB查询
当查询MIB这个虚拟的数据库时,你正在从数据库表中选择记录集。你能通过两种途径控制数据库表的大小:控制查询结果中对象的数量,或者控制每个对象的信息量。通过关键字段和过滤器,能限制符合要求的数据的范围。你指定的条件越严格,应用请求的数据越少,数据返回的越快。
查询全局和局部的数据
MIB的数据保存在几个不同的地方。分布式应用中一些数据被复制到不只一台机器上。另一些数据不被复制,而是像自然的数据或对象表现的那样存放在局部特定的机器。
全局数据是什么?
全局数据是应用中复制到每台机器上关于应用组件(或服务器)的信息。服务器的信息的大部分,如,配置状态信息,应用中被全局性复制的到处都是,特别是公告板里。BEA TUXEDO的应用能从每个地方的到这一信息。
例如,从一个称之为“顾客订单”的应用的每一机器中,管理员能找出CustOrdA机器上的1组B6服务,处���激活状态。
局部数据是什么?
另一些像某服务的统计这样的信息并被全局复制,而是局限于一个实体。局部属性的一个例子 TA_TOTREQC,定义了特定server中service被执行的次数。这个统计量同server一起保存在从属机器上。当sverver接受并处理某service请求是,计数器增长。因为这种信息被本地管理,复制将约束系统的性能。
MIB中有还有像客户端这样的一些排他性的本地数据。当一个客户端联机,BEA Tuxedo 系统在公告板上为它创建一个实例,记录实例中客户端的一切跟踪信息。MIB能随时通过检查实体来断定客户端的状态。
通过tmadmcall来存取信息
BEA Tuxedo 系统提供了直接存取MIB编程界面(即使你的应用没有运行)。这个界面,tpadmcall 函数,像应用程序提供了直接存取MIB之上的数据。tpadmcall允许你存取对那些本地于你的处理的信息子集。
当系统不处于运行状态,你需要查询系统或者做管理性的更改时使用tpadmcall,它查询代表你的请求的TUXCONFIG文件。提交和接收的数据缓冲(包含查询和回复)都精确的相象。