Administration Guide

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Introduction to BEA TSAM

This topic contains the following sections:

 


Overview

BEA TSAM (Tuxedo System and Application Monitor), is a BEA Tuxedo add-on product. Tuxedo is widely used by enterprises that develop and use in mission-critical applications. It acts as the infrastructure layer in distributed computing environments. The complexity of Tuxedo and the applications running on top of it makes performance measurement extremely complex.

BEA TSAM monitors the major performance sensitive areas of a Tuxedo-supported enterprise computing environment. It can be used to monitor real-time performance bottlenecks and business data fluctuations, determine service models, and provide notification when pre-defined thresholds are violated.

 


BEA TSAM Features

The following is a list of BEA TSAM features:

 


BEA TSAM Components

BEA TSAM includes two components:

BEA TSAM Agent: Performs Tuxedo-side data collection.

BEA TSAM Manager: Performs data storage, aggregation, computing and representation.

BEA TSAM Agent

The BEA TSAM Agent handles all Tuxedo-side back-end logic. It works in conjunction with the BEA TSAM Manager, and includes the following sub-components:

For more information, see BEA TSAM Agent.

BEA TSAM Manager

The BEA TSAM Manager is built on standard J2EE technology. It includes following components:

For more information, see BEA TSAM Manager.

TSAM Architecture Diagram

Figure 1-1 TSAM Architecture

TSAM Architecture

 


BEA TSAM Concepts

Call Path Monitoring

Tuxedo is typically used by a client program (not necessarily a Tuxedo client process) that calls a service to perform a business computing logic scenario. The service implementation is completely transparent to the caller. This type of middleware transparency provides many benefits for development, deployment, and system administration. However, from a monitoring perspective, it is difficult for the end user or administrator to figure out what happens “behind the scene”. BEA TSAM call path monitoring helps to alleviate this problem.

Call Path Tree Definition

A simple Tuxedo application call triggers a set of service invocations. The involved services constitute a tree (call path tree”). A call path tree strictly defines the following factors:

Monitoring Initiator

A “monitoring initiator” is a process that “initiates” tracking a call path tree. The process can be a Tuxedo client, application server, or client proxy server (WSH/JSH). A typical scenario is when a tpcall/tpacall is invoked by the monitoring initiator; call path monitoring begins. All the back-end services involved in this call are displayed on the call path tree representation in the BEA TSAM Console.

Note: Currently only tpcall/tpacall can trigger a call path monitoring. Other communication models are not supported.

A Tuxedo application server performs two functions:

Service Monitoring

Service monitoring focuses on pure Tuxedo service execution status. It does not care about call correlation, as call path monitoring does. Service monitoring can be used with call path monitoring together or performed independently.

System Server Monitoring

Tuxedo has two important system servers: BRIDGE and GWTDOMAIN. BRIDGE connects multiple Tuxedo machines in a Tuxedo domain. GWTDOMAIN connects one Tuxedo domain with another. The system server monitoring tracks message throughput, pending sent messages, and awaiting reply messages on each network link.

Transaction Monitoring

A critical use of Tuxedo is transaction monitoring. Tuxedo coordinates activities in a distributed transaction with an XA compliant resource manager, such as a database. BEA TSAM transaction monitoring tracks each XA call triggered in a transaction allowing you to clearly identify where a global distributed transaction is bottle necked.

Monitoring Policy

Monitoring policy controls monitoring behavior.

Performance Metrics

BEA TSAM performance metrics are listed as follows:

Note: DOMAINID:MASTERHOSTNAME:IPCKEY LMID PROCESSNAME PID TID COUNTER

Listing 1 shows an example of a Correlation ID. The monitored call is started by the program “bankclient” with process ID 8089 and thread ID 1 on machine “SITE1” on Tuxedo domain “TUXDOM1”. The master is “bjsol18” and IPCKEY in TUXCONFIG is “72854”.

Listing 1 Correlation ID Example
TUXDOM1:bjsol18:72854 SITE1 bankclient 8089 1 99

 


BEA TSAM Use Cases

BEA TSAM is built on top of Tuxedo and has unique service, call, and transaction tracking capabilities. Enterprise organization usually have many widely distributed services deployed and one client request that requires complex back-end service coordination to perform the processes.

It can be difficult for an administrator to figure out what exactly is happening during these interactions. BEA TSAM call path monitoring helps to alleviate this problem.

The followings are FAQs will help you to better understand how BEA TSAM works with your applications:

Understanding Your Applications

What happens behind a simple call?

Enabling call path monitoring for a Tuxedo client or application server allows you to find out all the information behind a simple tpcall/tpacall. The tracking points span multiple machines and multiple domains. You can clearly see the following information in the call path tree:

What about my services?

Service monitoring enables you to measure your service response time, IPC queue length, and execution status. Service monitoring provides the following information:

Is my network busy?

BEA TSAM allows you to monitor the network connection attached to your local domain gateways. You can easily find which link is busy and its data fluctuation trend. You have more in-depth understanding of the business data flow model between departments and organizations.

Who participates in my transaction?

BEA TSAM monitors the transaction XA calls. Transaction participants are listed on the transaction monitoring page. For a large distributed transaction, a slow branch can result in the entire transaction being slowly completed. BEA TSAM lets you know who the transaction participants are, and how much time is used during XA calls.

Solving Application Performance Problems

Why is the service response time is slow recently?

Turn on the call path monitoring for a particular call to investigate the following:

My back-end services failed, but I don’t know which one.

Turn on call path monitoring. You can find the service execution status for this call.

How many kinds of call paths are in my application?

Turn on call path monitoring using an adequate sampling policy. BEA TSAM will tell you how many call paths (a “call pattern”) exist in your application.

Why is my global distributed transaction completed slowly?

Turn on BEA TSAM transaction monitoring. You can see the execution time used by the transaction participants.

I want to correlate local transactions with remote transactions.

Turn on BEA TSAM transaction monitoring for all involved processes and GWTDOMAIN. The BEA TSAM Console shows you the transaction mapping between local and remote transactions.

I want to know what is the peak time that my local domain uses resources from the remote domain, and how busy it is.

Use BEA TSAM system server monitoring on the GWTDOMAIN. BEA TSAM records the information for you, and shows you the throughput trends.

Can I check program request information?

Turn on call path monitoring with the proper monitoring policy and then use “tpgetcallinfo”. The following information is provided.

The monitoring initiator process, tpgetcallinfo(), can also tell you the total time used.

Improving Application Performance

Are my services too fine grained?

In some cases, too many services supporting a request may add to performance overhead. Use call path tree to investigate. The service number and the tree depth are key analysis factors.

Are my services deployed properly?

Some services are called more frequently than others. Use call path monitoring to gather the information, and re-consider the service deployment. It is best to have the most used services located on the local machine and LAN. Services across domain services should be used carefully.

Do I have too many servers configured?

BEA TSAM provides a central view of your Tuxedo applications with multiple domain support. Using BEA TSAM Console allows you to easily see how many domains, machines, servers and services are configured.

I want to be notified when a service execution fails or the response time exceeds a pre-defined threshold

You have two ways to do this. One is using BEA TSAM plug-in level event trigger; the other is to define alerts using the BEA TSAM Manager console.

 


Quick Start

To add BEA TSAM functionality to an existing Tuxedo application, do the following steps:

  1. Install BEA TSAM
  2. Install the BEA TSAM Agent and the BEA TSAM Manager. For more information, see the BEA TSAM Installation Guide.

  3. Deploy BEA TSAM Manager
  4. For more information, see the BEA TSAM Deployment Guide.

  5. Deploy TSAM Agent
  6. For more information, see the BEA TSAM Deployment Guide

  7. Find Your Tuxedo Configuration
  8. Login to the BEA TSAM Manager Console (for example: http://localhost:8080/tsam).

    Note: The first time you login to the TSAM console you must set the admin password.

    Go to BEA TSAM > Administration > Tuxedo Configuration to find your Tuxedo configuration. For more information, see the BEA TSAM Console User Guide.

  9. Configure Monitoring Policy
  10. Monitoring policy defines what and how you want to monitor. The monitoring policy can be configured at either TSAM Manager side or TSAM Agent side.

    For more information, see Monitoring Policy Management and Configuring Monitoring Policies in the “BEA TSAM Agent User Guide.”

    For more information, see Policy Management in “BEA TSAM Console User Guide.”

    • Typical Monitoring Policy

    Go to BEA TSAM > Administration > Policy Management, click “Create” to enter the “Policy Specification” page. Input “tsampolicy” in the “Name:” input field.

    Monitor call path initiated from a particular server

a. Click “New” button to show the “Policy Definition” page.
b. In the left panel “Tuxedo Component”, select the “Domain”, “Machine”,”Group” and “Server” in the drop down lists.
c. In the right panel “Policy Management Definition” select the “Enable” checkbox of “Call path
d. Click “Add” button
e. Select that policy entry just created in “Monitoring Policy Set” table and click “Enable” button.

• Check BEA TSAM Agent results from Tuxedo

If you want to monitor a call path from a particular client process, you must use the TSAM Agent TMMONITOR environment variable for that client.

• Monitor services of a particular server

Same steps as call path monitoring policy set, except you must select the Services Enable” check box.

• Monitor a Domain Gateway

Same steps as call path monitoring policy set but
- Select GWTDOMAIN you want in the “Tuxedo Component” panel
- Select System Servers Enable” check box.

• Monitor XA calls in transaction for a particular group

Same steps as call path monitoring policy set but
- Select the GROUP you want in the “Tuxedo Component” panel
- Select the TransactionEnable” check box
  1. Start to Monitor Tuxedo
  2. Login to TSAM Console, and start to monitor Tuxedo system and application.

    Go to TSAM > Call Path to monitor call path.

    Go to TSAM > Service to monitor service.

    Go to TSAM > System Server to monitor system server.

    Go to TSAM > Transaction to monitor transaction.

    For more information, see the BEA TSAM Console User Guide.


  Back to Top       Previous  Next