Monitoring Oracle Tuxedo

Oracle Tuxedo (Transactions for Unix, Extended for Distributed Operations) is an enterprise application server for various systems and programming languages. Instana uses the Oracle Tuxedo sensor to monitor Oracle Tuxedo.

The Oracle Tuxedo sensor supports only local monitoring, so you must install the Instana agent on your Tuxedo server. After you install the Instana host agent, the Oracle Tuxedo sensor is automatically installed. You can view metrics that are related to Oracle Tuxedo in the Instana UI after you complete the configuration as outlined in the Configuring section.

Supported information

Supported operating systems

The Oracle Tuxedo sensor supports AIX 7.2, SUSE 12 SP5 on x86_64, and RHEL 7.9 on x86_64.

Supported Oracle Tuxedo versions and platforms

Instana supports metrics and configuration data for Oracle Tuxedo 12.1.3 or later. The supported platforms are the same as the supported operating systems for Tuxedo sensor.

Configuring

The Oracle Tuxedo sensor monitors the Tuxedo runtime application by querying data from the Management Information Base (MIB). The data is queried from the MIB with the ud32 and tmadmin command-line utilities.

To collect monitoring data from Oracle Tuxedo, update the agent configuration file <agent_install_dir>/etc/instana/configuration.yaml as shown in the following example:

com.instana.plugin.tuxedo:  
  # Oracle Tuxedo
  enabled: true
  poll_rate: 60 # The mininum poll rate is 60 seconds, the default is 60 seconds.
  tuxdir: <INSERT_TUXEDO_SERVER_INSTALL_DIR_HERE> # The default full qualified path of Oracle Tuxedo installation directory
  tuxuser: <INSERT_OS_ACCOUNT_OF_TUXEDO_DOMAIN_HERE> # The default Unix/Linux account of the Tuxedo domains
  availabilityZone: <INSERT_AVAILABILITYZONE_HERE> # The default availability zone of the Tuxedo Domains 
  domains:
    - tuxconfig: <INSERT_TUXCONFIG_OF_FIRST_DOMAIN_HERE> # The full qualified path to the binary configuration file of the Tuxedo domain
      tuxdir: <INSERT_TUXEDO_SERVER_INSTALL_DIR_HERE> # The optional parameter to specify the Tuxedo installation directory if it is different from the default setting.
      tuxuser: <INSERT_OS_ACCOUNT_OF_TUXEDO_DOMAIN_HERE> # The optional parameter to specify the Unix/Linux account of the Tuxedo domain if it is different from the default setting.
      availabilityZone: <INSERT_AVAILABILITYZONE_HERE> # The optional parameter to specify a zone for this Tuxedo domain if it is different from the default setting.
    - tuxconfig: <INSERT_TUXCONFIG_OF_SECOND_DOMAIN_HERE> # The full qualified path to the binary configuration file of the Tuxedo domain

Viewing metrics

To view the metrics, complete the following steps:

  1. In the navigation menu, click Infrastructure.
  2. Locate the availability zone that you defined in the configuration file. The availability zone is set to Tuxedo Domains by default.
  3. Click the domain pillar in the availability zone.

You can see the domain dashboard with all the collected metrics for the selected Tuxedo domain.

Tuxedo domain

The following tables list the configuration and metric details of the Tuxedo domain:

Configuration data

Domain details Description
Domain Name The name of the domain. The name must be unique.
Domain Id The identifier of the domain.
TUXCONFIG The binary configuration file of the Tuxedo domain.
IPCKEY The numeric key of the well-known address in the system bulletin board.
TUXDIR The installation directory of the Tuxedo server.

Performance metrics

Domain metric Description
numOfSvrs Number of servers
numOfSvcs Number of services
numOfReqQue Number of request queues
numOfSrvGrps Number of server groups
numOfIntfs Number of interfaces
totalIPCQnum The total number of IPC messages in the queues

Tuxedo machine

The following tables list the configuration and metric details of the Tuxedo machine:

Configuration data

Machine details Description
pmid Physical machine identifier
lmid Logical machine identifier
state State of the machine in the domain
role Role of the machine in the domain

Performance metrics

Machine metric Description
stateMetric The state of the machine: 1 - ACTIVE, 2 - INACTIVE, and 3 - PARTITIONED
currLoad The current service load enqueued on this machine.
curAccessers The count of clients and servers that are currently accessing the application.
hwAccessers The high water number of clients and servers that are accessing the application.
numReq The count of the tpacall() or tpcall() operations that are performed from this machine.
wkCompleted Total service loads that are dequeued and processed successfully by servers running on this machine.
wkInitiated Total service loads that are enqueued by clients or servers running on this machine.
numDequeue The count of the tpdequeue() operations that are performed from this machine.
numEnqueue The count of the tpenqueue() operations that are performed from this machine.
totalQnum The total number of IPC messages that are currently in the queues.

Tuxedo IPC queue

The configuration and metric details of the IPC queue are listed in the following tables:

Configuration data

IPC queue details Description
id Identifier of the UNIX system message queue
senderSrv Name of the last process that wrote to the queue
receiverSrv Name of the last process that read from the queue
senderPID Identifier of the last process that wrote to the queue
receiverPID Identifier of the last process that read from the queue

Performance metrics

IPC Queue details Description
cbyte Number of bytes currently in the queue
qnum Number of messages in the queue
usage Queue usage in percentage

Tuxedo server

The following tables list the configuration and metric details of the Tuxedo server:

Configuration data

Server details Description
Id Unique identifier of the server within the group
name Name of the server executable file
grpName Group name that is associated with the group of the server
grpNo Group number that is associated with the group of the server
lmid Identifier of the logical machine on which the server is running
PID Process identifier of the server
state State of the server

Performance metrics

Server details Description
stateMetric State of the server: 1 - ACTIVE, 2 - INACTIVE, 3 - MIGRATING, 4 - CLEANING, 5 - RESTARTING, 6 - SUSPENDED, 7 - EXITING, 8 - PARTITIONED, and 9 - DEAD
numCompleted Total number of requests completed by this server
numQueued Number of requests initiated by this server that are still active

Service

The configuration and metric details of the Tuxedo service are listed in the following tables:

Configuration data
Service details Description
name Name of the service
state State of the service
Performance metrics
Service details Description
stateMetric The state of the service: 1 - ACTIVE, and 2 - INACTIVE
numCompleted The count of service requests that are completed. The service requests are returned only when LDBAL is set to Y.
numQueued The count of requests that are currently enqueued to this service. These requests are returned only when LDBAL is set to Y.

Running Tuxedo sensor as a non-root user

You can run the Tuxedo sensor with the non-root Instana agent user on Tuxedo sensor 1.0.2 and later. The tuxedo sensor requires the permission to switch from the agent user to the Tuxedo user. To grant this permission for Tuxedo sensor, update the settings in the /etc/sudoers file if the agent user is not set to root. The agent user runs the tuxedoShell.sh script with different Tuxedo users as shown in the following snippet:

_agentuser_ ALL=(_tuxuser1_)       NOPASSWD:SETENV:/home/agentuser/instana-agent/data/tmp/*/tuxedoShell.sh
_agentuser_ ALL=(_tuxuser2_)       NOPASSWD:SETENV:/home/agentuser/instana-agent/data/tmp/*/tuxedoShell.sh
_agentuser_ ALL=(_tuxuser3_)       NOPASSWD:SETENV:/home/agentuser/instana-agent/data/tmp/*/tuxedoShell.sh

where:

  • _agentuser_ is the Instana agent user.

  • _tuxuser1_, _tuxuser2_, and _tuxuser3_ are Tuxedo users that are defined in the agent configuration.yaml file with the parameter tuxuser.

If multiple Tuxedo users are there for multiple Tuxedo domains, then all these users must be added in /etc/sudoers file to monitor the corresponding Tuxedo domains.

The Instana agent user can run the tuxedoShell.sh script as any other users with the setting (ALL) in /etc/sudoers file as shown in the following snippet:

_agentuser_ ALL=(ALL)       NOPASSWD:SETENV:/home/agentuser/instana-agent/data/tmp/*/tuxedoShell.sh

Use the absolute path of the Instana agent tmp directory and a wildcard as the path of the tuxedoShell.sh script. Usually, the Instana agent tmp directory is in the data directory of the directory where the Instana host agent is installed.