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.
Support information
To make sure that the Oracle Tuxedo sensor is compatible with your current setup, check the following support information sections:
Supported operating systems
The sensor supports the following operating systems:
- AIX 7.2
- SUSE 12 SP5 x86_64
- RHEL 7.9 x86_64
Supported versions and support policy
The following table shows the latest supported version and support policy:
| Technology | Support policy | Latest technology version | Latest supported version |
|---|---|---|---|
| Oracle Tuxedo | On demand | 22.1.1 | 22.1.1 |
For more information about the support policy, see Support strategy for sensors.
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:
- In the navigation menu, click Infrastructure.
- Locate the availability zone that you defined in the
configuration file. The availability zone is set to
Tuxedo Domainsby default. - 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 Oracle Tuxedo sensor collects the configuration and metric details of the Tuxedo domain.
Configuration data
The following table lists the configuration details of the Tuxedo domain:
| 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
The following table lists the metric details of the Tuxedo domain:
| 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 Oracle Tuxedo sensor collects the configuration and metric details of the Tuxedo machine.
Configuration data
The following table lists the configuration details of the Tuxedo machine:
| 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
The following table lists the metric details of the Tuxedo machine:
| 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 Oracle Tuxedo sensor collects the configuration and metric details of the Tuxedo IPC queue.
Configuration data
The following table lists the configuration details of the IPC queue:
| 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
The following table lists the metric details of the IPC queue:
| 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 Oracle Tuxedo sensor collects the configuration and metric details of the Tuxedo server.
Configuration data
The following table lists the configuration details of the Tuxedo server:
| 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
The following table lists the metric details of the Tuxedo server:
| 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 Oracle Tuxedo sensor collects the configuration and metric details of the Tuxedo service.
Configuration data
The following table lists the configuration details of the Tuxedo service:
| Service details | Description |
|---|---|
| name | Name of the service |
| state | State of the service |
Performance metrics
The following table lists the metric details of the Tuxedo service:
| 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 agentconfiguration.yamlfile with the parameter tuxuser.
/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
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.