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:
- In the navigation menu, click Infrastructure.
- Locate the availability zone that you defined in the configuration file. The availability zone is set to
Tuxedo Domains
by 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 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 agentconfiguration.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.