IBM Tivoli Composite Application Agent for J2EE, Version 7.1

Configure Tomcat Data Collector with Java Service Wrapper

To support Tomcat Data Collector with Java™ Service Wrapper, perform the following steps:

  1. Follow the installation and customization guide to install and configure the Tomcat Data Collector as usual. The purpose of this step is to obtain the configuration settings defined in the catalina.sh by the Data Collector Configuration Tools. In the next step, we will move the configuration settings from catalina.sh to the wrapper configuration file (wrapper.conf).
  2. Using a text editor, move the configuration settings from catalina.sh to wrapper.conf. There are three types of settings to be moved:
    1. Environment settings

      In catalina.sh, they are defined as follows. Please remove these lines from the file. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.

      PRODUCT_HOME=/export/gqwang/tomcatdc
      export PRODUCT_HOME
      MS_HOME=%2Fopt%2FIBM%2Fitcam%2FWebSphere%2FMS
      export MS_HOME
      APPSERVER=wrapper_tomcat_server
      export APPSERVER
      NODENAME=tivsun06.cn.ibm.com
      export NODENAME
      PLATFORM=tomcat55
      export PLATFORM
      QUALDIR=tivsun06.cn.ibm.com.wrapper_tomcat_server
      export QUALDIR
      CCLOG_COMMON_DIR="/var/ibm/tivoli/common"
      export CCLOG_COMMON_DIR
      LD_LIBRARY_PATH=/export/gqwang/tomcatdc/toolkit/lib/solaris2:${LD_LIBRARY_PATH}
      export LD_LIBRARY_PATH
      When the settings are moved to wrapper.conf, they should be defined as follows. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.
      set.PRODUCT_HOME=/export/gqwang/tomcatdc
      set.MS_HOME=%2Fopt%2FIBM%2Fitcam%2FWebSphere%2FMS
      set.APPSERVER=wrapper_tomcat_server
      set.NODENAME=tivsun06.cn.ibm.com
      set.PLATFORM=tomcat55
      set.QUALDIR=tivsun06.cn.ibm.com.wrapper_tomcat_server
      set.CCLOG_COMMON_DIR="/var/ibm/tivoli/common"
      set.LD_LIBRARY_PATH=%PRODUCT_HOME%/toolkit/lib/solaris2:%LD_LIBRARY_PATH%
      wrapper.java.library.path.append_system_path=true
    2. JAVA options
      In catalina.sh, they are defined as follows. Please remove these lines from the file. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.
      JAVA_OPTS="-Xbootclasspath/p:$PRODUCT_HOME/toolkit/lib/bcm-bootstrap.jar:
        /export/gqwang/tomcatdc/toolkit/lib/jiti.jar:$PRODUCT_HOME/itcamdc/
        lib/ppe.probe-bootstrap.jar
      -Djava.rmi.server.RMIClassLoaderSpi=com.ibm.tivoli.itcam.tomcat.sdc.
        DCRMIClassLoaderSpi
      -Dam.appserver=$APPSERVER 
      -Dam.nodename=$NODENAME 
      -Dappserver.platform=$PLATFORM 
      -Dam.home=$PRODUCT_HOME/itcamdc 
      -Ditcam61.home=$PRODUCT_HOME
      -Xrunam_sun_15:/export/gqwang/tomcatdc/runtime/tomcat55.tivsun06.cn.
        ibm.com.wrapper_tomcat_server/jiti.properties 
      -Djlog.propertyFileDir.CYN=$PRODUCT_HOME/toolkit/etc
      -Dcom.ibm.tivoli.itcam.toolkit.util.logging.qualDir=$QUALDIR
      -Djlog.propertyFile=cynlogging.properties 
      -Djlog.qualDir=$NODENAME.$APPSERVER
      -DArm40.ArmTransactionFactory=com.ibm.tivoli.itcam.toolkit.arm.j2.
        transaction.Arm40TransactionFactory 
      -DITCAMfJ2=true
      -DArm4EventListener.0=com.ibm.tivoli.itcam.dc.event.
        ARM4TransactionDataHandler
      -Dcom.ibm.tivoli.transperf.instr.probes.impl.was.Globals.traceLevel=0
      -Dcom.ibm.tivoli.jiti.injector.IProbeInjectorManager=com.ibm.tivoli.
        itcam.toolkit.ai.bcm.bootstrap.ProbeInjectorManager
      -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.ibm.tivoli.itcam.
        dc.orbinterpretor.Initializer
      -Dibm.common.log.dir=/var/ibm/tivoli/common 
      -Djlog.common.dir=/var/ibm/tivoli/common
      -Djlog.qualDir=tivsun06.cn.ibm.com.wrapper_tomcat_server"
      When the settings are moved to wrapper.conf, they should be defined as follows. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.
      wrapper.java.additional.1=-Xbootclasspath/p:%PRODUCT_HOME%/toolkit/lib/
        bcm-bootstrap.jar:/export/gqwang/tomcatdc/toolkit/lib/jiti.jar:
        %PRODUCT_HOME%/itcamdc/lib/ppe.probe-bootstrap.jar
      wrapper.java.additional.2=-Djava.rmi.server.RMIClassLoaderSpi=com.ibm.
        tivoli.itcam.tomcat.sdc.DCRMIClassLoaderSpi
      wrapper.java.additional.3=-Dam.appserver=%APPSERVER%
      wrapper.java.additional.4=-Dam.nodename=%NODENAME%
      wrapper.java.additional.5=-Dappserver.platform=%PLATFORM%
      wrapper.java.additional.6=-Dam.home=%PRODUCT_HOME%/itcamdc
      wrapper.java.additional.7=-Ditcam61.home=%PRODUCT_HOME%
      wrapper.java.additional.8=-Xrunam_sun_15:/export/gqwang/tomcatdc/runtime/
        tomcat55.tivsun06.cn.ibm.com.wrapper_tomcat_server/jiti.properties
      wrapper.java.additional.9=-Djlog.propertyFileDir.CYN=%PRODUCT_HOME%/
        toolkit/etc
      wrapper.java.additional.11=-Dcom.ibm.tivoli.itcam.toolkit.util.logging.
        qualDir=%QUALDIR%
      wrapper.java.additional.12=-Djlog.propertyFile=cynlogging.properties
      wrapper.java.additional.13=-Djlog.qualDir=%NODENAME%.%APPSERVER%
      wrapper.java.additional.14=-DArm40.ArmTransactionFactory=com.ibm.tivoli.
        itcam.toolkit.arm.j2.transaction.Arm40TransactionFactory
      wrapper.java.additional.15=-DITCAMfJ2=true
      wrapper.java.additional.16=-DArm4EventListener.0=com.ibm.tivoli.itcam.
        dc.event.ARM4TransactionDataHandler
      wrapper.java.additional.17=-Dcom.ibm.tivoli.transperf.instr.probes.impl.
        was.Globals.traceLevel=0
      wrapper.java.additional.18=-Dcom.ibm.tivoli.jiti.injector.
        IProbeInjectorManager=com.ibm.tivoli.itcam.toolkit.ai.bcm.bootstrap.
        ProbeInjectorManager
      wrapper.java.additional.19=-Dorg.omg.PortableInterceptor.
        ORBInitializerClass.com.ibm.tivoli.itcam.dc.orbinterpretor.Initializer
      wrapper.java.additional.20=-Dibm.common.log.dir=/var/ibm/tivoli/common
      wrapper.java.additional.21=-Djlog.common.dir=/var/ibm/tivoli/common
      wrapper.java.additional.22=-Djlog.qualDir=tivsun06.cn.ibm.com.
        wrapper_tomcat_server
    3. JAVA CLASSPATH
      In catalina.sh, they are defined as follows. Please remove these lines from the file. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.
      CLASSPATH=$PRODUCT_HOME/itcamdc/lib/ext/tomcat/loader/ppe.
        probe_tomcat.loader.jar:$CLASSPATH
      CLASSPATH=$PRODUCT_HOME/toolkit/lib/ext/tk_jdbc_aspects.jar:
        $PRODUCT_HOME/toolkit/lib/ext/tk_cl_aspects.jar:$CLASSPATH
      When the settings are moved to wrapper.conf, they should be defined as follows. Note that some of the values should be defined differently, depending on the environment the Data Collector is running on.
      wrapper.java.classpath.6=%PRODUCT_HOME%/toolkit/lib/ext/tk_jdbc_aspects.jar
      wrapper.java.classpath.7=%PRODUCT_HOME%/toolkit/lib/ext/tk_cl_aspects.jar
      wrapper.java.classpath.10=%PRODUCT_HOME%/itcamdc/lib/ext/tomcat/loader/
        ppe.probe_tomcat.loader.jar
  3. Restart the Tomcat server after the configuration changes.
Note: Avoid making the following mistakes when editing wrapper.conf:
  • Repetitive sequence number. For example:
    wrapper.java.additional.36=...
    wrapper.java.additional.37=...
    wrapper.java.additional.37=...
  • Missing sequence number. For example:
    wrapper.java.additional.35=...
    wrapper.java.additional.37=...
    wrapper.java.additional.38=...
  • Double quotation marks on the wrapper.java.additional settings.


Feedback