General requirements

Before configuring WebSphere and DB2 to issue ARM calls, ensure that you have checked here first.

Required software

ARM-supported applications:
  • DB2
  • IBM HTTP Server
  • On Demand Router (ODR)
  • Robotic Response Time (T6)
  • WebSEAL
  • WebSphere Application Server
  • Web servers running the WebSphere web server plug-in, such as:
    • Apache HTTP Server
    • IBM HTTP Server
    • Lotus Domino
    • Microsoft Internet Information Services (IIS)
    • Sun Java System Web Server

See Compatible Software prerequisite information in the required version of ITCAM for Transactions Information Center on Documentation Central for further information.

Native ARM libraries

All native libraries required by ARM can be found in the tusupport directory, which is created when the Transaction Collector agent is installed. The subdirectories 32 and 64 contain the 32-bit and 64-bit libraries respectively.
  • For Windows systems, %CANDLE_HOME%\tmaitm6\tusupport\32|64

    For example, c:\ibm\ITM\TMAITM6\tusupport\32.

  • For UNIX systems, $CANDLE_HOME/platform/tu/tusupport/32|64
Note: When installing the Transaction Collector on a 64-bit platform, the ARM libraries that are put in the $CANDLE_HOME/platform/tu/tusupport folder are 64-bit. When using these libraries in an application, you need the 64-bit TTAPI library. This is available in the platform/tu/tusupport/sdk/platform-64.tar.gz package. Alternatively, configure the ARM-instrumented application to use the subdirectory 64, which contains both the 64-bit ARM and TTAPI libraries.

Table 1 lists the libraries that must be in the library path of the ARM-instrumented application.

Table 1. Native libraries required by ARM
Platform Library files
Windows 32-bit platforms
  • libarm32.dll - ARM 2 only
  • libarm4.dll
  • ttapi.dll
  • pthread.dll
  • kbb.dll (optional, used for RAS1 logging)
Windows 64-bit platforms
  • libarm_64.dll - ARM 2 only
  • libarm4_64.dll
  • ttapi.dll
  • pthread.dll
  • kbb.dll (optional, used for RAS1 logging)
AIX 32-bit and 64-bit platforms
  • libarm.a - ARM 2 only
  • libarm4.a (archive containing both 32-bit and 64-bit shared objects)
  • libttapi.a
  • libkbb.a (optional, used for RAS1 logging)
All other UNIX and Linux 32-bit platforms
  • libarm.so - ARM 2 only
  • libarm4.so
  • libttapi.so
  • libkbb.so (optional, used for RAS1 logging)
Note: substitute .sl for .so on HP-UX.
All Other UNIX and Linux 64-bit platforms
  • libarm_64.so - ARM 2 only
  • libarm4_64.so
  • libttapi.so
  • libkbb.so (optional, used for RAS1 logging)
Note: substitute .sl for .so on HP-UX

For Java applications, the following jar files must be included in the application's classpath:

  • armjni.jar - ARM 2 only
  • armjni4.jar

Configuration files

Both ARM and filter configuration files must be installed on the computer whose web server you are monitoring. If the Transaction Collector is installed remotely, you may need to add these files manually.

armconfig.xml

If your installation does not include an ARM configuration file you can create an XML file named armconfig.xml and add it to $CANDLE_HOME/tmaitm6/arm/.

For versions of ITCAM for Transactions up to and including V7.1.0.2 add the following lines to armconfig.xml:
<configuration>
	<performancelogging>-1</performancelogging>
   <resetperfonlog>false</resetperfonlog>
   <traceenabled>true</traceenabled>
   <filebuffersize>32767</filebuffersize>
   <queuesize>10</queuesize>
   <perfdetaillevel>0</perfdetaillevel>
   <ttconnectionstring>tcp:TU_host:TU_port</ttconnectionstring>
</configuration>
Note: When traceenabled is set to true, logging is enabled and messages are saved to /opt/IBM/ITM/tmaitm6/logs/trace-armdebug.log.
For newer versions of ITCAM for Transactions from V7.2 onwards, add the following lines to armconfig.xml:
<configuration>
	<performancelogging>-1</performancelogging>
	<resetperfonlog>false</resetperfonlog>
	<filebuffersize>32767</filebuffersize>
	<queuesize>10</queuesize>
	<perfdetaillevel>0</perfdetaillevel>
	<ttconnectionstring>tcp:TU_host:TU_port</ttconnectionstring>
</configuration>
Ensure you add the location of the remote Transaction Collector to ttconnectionstring. For IPv6, use the format tcp:[TU_host]:TU_port, for example, tcp:[::1]:5455.
Note: In newer versions of ITCAM for Transactions, traceenabled is replaced by the KBB_RAS1_LOG and KBB_RAS1 environment variables. These environment variables enable KBB logging. If a process such as a web server creates a child process, the environment variables may not be inherited. To enable logging in this situation, create a file named KBBENV in the current working directory of the process and add the following lines:
KBB_RAS1_LOG=path to log files
KBB_RAS1=ERROR (COMP:ARM ALL)

Tracking_defaults.xml

Filter configuration files are created by the Application Management Configuration Editor (T3 agent) and transmitted to the Transaction Collector via the Tivoli Enterprise Monitoring Server. The Transaction Collector saves the files locally to the computer on which it is installed. The ARM DLL loads the filter configuration files when there are changes.

If the Transaction Collector and web server are installed on different computers, the ARM DLL is therefore also remote from the Transaction Collector and cannot access the filter configuration files. You must either install the Transaction Collector on the computer with the web server, or copy the *_Tracking_Defaults.xml files to that computer manually.

The location of the filter configuration files read by the ARM library is determined by the value of the CANDLE_HOME environment variable, and whether the ARM library is loaded by the Robotic Response Time (T6) agent:
  • If the ARM library is loaded by the Robotic Response Time agent, the ARM library reads the XML files in $CANDLE_HOME/tmaitm6/camconfig/T6
  • Otherwise the ARM library reads the XML files in $CANDLE_HOME/tmaitm6/camconfig/TU