Chapter 4. Resource Registration

Table of Contents

4.1. Overview
4.2. Pre-Registration Tasks for Each Resource
4.2.1. Updating Compressed File (*.zip) for Each Resource
4.2.2. Adding Compressed Web UI File(Console) for Each Resource
4.3. WAS Resource Registration
4.3.1. Registering Resources in Web Admin
4.3.2. Configuring Environment File
4.3.3. Modifying JEUSMain.xml File (JEUS 6 or Earlier)
4.3.4. Modifying domain.xml (JEUS 7 Version) File
4.3.5. Configuring Other WAS Products
4.3.6. Restarting WAS and Agent
4.3.7. Troubleshooting

This chapter describes how to register resources that are the monitoring targets of SysMaster.

4.1. Overview

After SysMaster has been installed, the target resource is registered to notify the Master and Agent to start monitoring the resource.

Resource registration is done through the Web Admin. Normal operation of the Master and Agent and binary update of the target resource must be verified before starting the registration.

The following is a summary of the resource registration process.

  1. Performing Pre-Registration Tasks for each Resource.

    • Updating compressed file for each resource (reboot the Master server for initial registration)

    • Adding compressed Web Admin file(Console) for each resource

  2. Installing WAS Provider DC(Data Collector)

Note

Currently, SysMaster 5.0 supports only WAS Provider.

4.2. Pre-Registration Tasks for Each Resource

The following tasks must be verified before registering each resource.

Note

If WAS provider is installed during Master installation, pre-registration tasks for the resource are performed automatically.

4.2.1. Updating Compressed File (*.zip) for Each Resource

The file is not required for initial installation. The compressed file for each resource must be copied to the following directory when applying a patch for the resource.

$MASTER_HOME/update/provider

Unzip and copy the compressed file (*.zip) in each folder (provider).

The following shows the result of copying the zip files for the WAS Provider to the provider folder.

[apmqam@tmaxi7:/data1/apmqam/master_5x/update/provider]$ls
sysmaster-provider-was_aix5L_32.zip
sysmaster-provider-was_aix5L_64.zip
sysmaster-provider-was_aix6L_32.zip
sysmaster-provider-was_aix6L_64.zip
sysmaster-provider-was_hpux11_32.zip
sysmaster-provider-was_hpux11_32_ia64.zip
sysmaster-provider-was_hpux11_64.zip
sysmaster-provider-was_hpux11_64_ia64.zip
sysmaster-provider-was_linux2.x.zip
sysmaster-provider-was_linux2.x_ia64.zip
sysmaster-provider-was_solaris10_32.zip
sysmaster-provider-was_solaris10_64.zip
sysmaster-provider-was_solaris7_32.zip
sysmaster-provider-was_solaris7_64.zip
sysmaster-provider-was_solaris8_32.zip
sysmaster-provider-was_solaris8_64.zip
sysmaster-provider-was_solaris9_32.zip
sysmaster-provider-was_solaris9_64.zip
sysmaster-provider-was_solaris_32_x86.zip
sysmaster-provider-was_win32.zip
sysmaster-provider-was.zip

4.2.2. Adding Compressed Web UI File(Console) for Each Resource

Web UI file must be installed in order to use resource-specific monitoring in SysMaster. The file is not required during initial installation. Copy each compressed Web UI file (zip) under the 'update/console' directory when applying a patch.

$MASTER_HOME/update/console

The following shows the result of copying the Admin, Sysmon and WAS Web Admin files to the console directory.

[apmqam@tmaxi7:/data1/apmqam/master_5x/update/console]$ls -al
total 7584
drwxr-xr-x    2 apmqam   rnd             256 Nov 21 15:26 .
drwxr-xr-x    6 apmqam   rnd             256 Nov  7 20:47 ..
-rw-r-----    1 apmqam   rnd          102303 Nov 21 15:26 sysmaster-ui-admin.zip
-rw-r-----    1 apmqam   rnd          276637 Nov 21 15:26 sysmaster-ui-was.zip
-rw-r-----    1 apmqam   rnd         3127893 Nov 21 15:26 sysmaster-ui.zip

4.3. WAS Resource Registration

This section describes how to register WAS resources. Basic registration information is given based on JEUS, and the configurations for other WAS products are also described for reference.

WAS resource registration process mostly involves installing the DC. No separate updates are required for the Agent, but Agent-related settings are available.

The following is a summary of the DC installation process.

  1. Registering Agent in Web UI

    Agent registration will be omitted here since it was already covered in "3.4.2. Agent Registration".

  2. Registering WAS Resources

    Register resources in the following order.

    • Register WAS Resource

    • Add Node

    • Add Container

  3. Configuring Environment File (sm.properties)

  4. Creating sminst_rt.jar File

  5. Copying libdcagent Library File

  6. Modifying JEUSMain.xml File

    Modify the environment file, JEUSMain.xml, that will be registered when WAS starts up

  7. Restarting WAS and Agent

    Verify normal monitoring status in Web UI after restarting WAS

Note

This guide describes resource registration method for JEUS, a WAS product from Tmax.

The following are the files required for registering the WAS DC. They are provided as a separate library.

  • sminst14.jar(JDK 1.4), sminst15.jar(JDK 1.5)

  • smrtcvt(executable file)

  • libdcagent library file(separate library files for JDK 1.4 and 1.5)

  • sm.properties

The files are in the following path.

MASTER_HOME/provider/was/dc

The DC binary file can be found in the provided 'dc_binary/was_dc' directory.

4.3.1. Registering Resources in Web Admin

If the Agent is currently running, stop the Agent before registering WAS.

  1. Right-click on the registered Agent from [ADMIN] > [SysMaster] > [Resource] and [Add Resource] menu will appear. Select [Add Resource] to go to the following input screen.

    [Figure 4.1] WAS Resource Registration (1)

    WAS Resource Registration (1)


    Enter the 'Resource Name(*)' and select 'WAS' as the 'Resource Type'. The following properties will appear below. Enter all the required fields and click [Save]. The result of resource registration can be seen from the Working Set menu on the left.

    [Figure 4.2] WAS Resource Registration (2)

    WAS Resource Registration (2)

    The following is description of the fields. Required fields are marked with (*).

    FieldRequiredDefault ValueDescription
    Resource IDONONEAutomatically assigned by the system. (Cannot be modified)
    Agent NameONONERegistered Agent name. (Cannot be modified)
    Resource name(*)ONONEIdentification name for the Working Set.
    Resource Type(*)OsysmonWAS or sysmon. Select WAS.
    Version(*)ONONE

    Version of the target WAS to monitor. Version syntax: JEUS 4.x / 5.x / 6 or later use the actual number instead of 'x'.

    (e.g., 6.0 ~ 6.6 ~... WebLogic 8.x / 9.x / 10.x Oracle AS 9.x / 10.x)

    User Name(*)ONONEUser name of the target WAS account.
    Host Name(*)ONONEHostname of the target system.
    Product Name(*)OJeus

    Select the target WAS vendor.

    • Jeus

    • Oracle AS

    • WebLogic

    • WebSphere

    • Jboss

    DescriptionXNONEDescription of the resource.
    was.account(*)OadministratorAdmin account. (e.g., admin)
    was.password(*)O*********Admin account password.
    was.host(*)O127.0.0.1IP address of the server where WAS is installed. (e.g., 192.1.1.1)
    was.base.port(*)O9736WAS admin port.
    was.node(*)Onode nameNode name of the server where WAS is installed.
    was.pool.enable(*)OY

    Option to enable DB pool monitoring.

    If the WAS collects pool information like WebLogic or Oracle AS, enter the MBean connection information. Otherwise, the analysis/infra/Java pool information will not be displayed.

    When WAS DC collects pool information (set dc.pool.stat.enable to 'true' in sm.properties). Set to 'N' to disable the Agent server from collecting pool information.

    was.home(*)ONONEWAS Home Directory
  2. Right-click on the registered resource and click [Add Node] to display the following input screen.

    [Figure 4.3] WAS Resource Registration (3)

    WAS Resource Registration (3)

    The following is description of the fields. Required fields are marked with (*).

    FieldRequiredDefault ValueDescription
    Alias(*)ONONENode identification name displayed on the screen.
    Path(*)ONONEPath used to register the container.
    Node Name(*)ONONEName of the Node to add.
    StatusONot ReadyNode status. (Ready or Not Ready) (Cannot be modified)
    Resource IDONONEResource ID. (Cannot be modified)
    Resource TypeOoracleSet to Oracle. (Cannot be modified)
    TypeOinstanceSet to instance. (Cannot be modified)

  3. Right-click on the registered resource and click [Add Container] to display the following input screen.

    [Figure 4.4] WAS Resource Registration (4)

    WAS Resource Registration (4)

    Enter all the required fields and click [Save] to register each one. In the previous versions, the user was able to choose any Container name. Starting from SysMaster 3.2 SP2, the following Container name syntax must be used to support the added functionality of JEUS Admin. Up to 30 Containers can be added.

    Full name of the Container (Node Name_Container Name) must be used for registration.

    Container Name = Node_Container
    FieldDescription
    Alias(*)Container Name that will be used for identification from the monitoring screen.
    Path(*)When registering a Node, ".{ContainerName}" must be appended to the Path for it to be recognized. (tmaxi7.container1).
    Node Name(*)Node Name used to register the Node. (Cannot be modified)
    StatusNode status. (Ready or Not Ready) (Cannot be modified)
    Resource IDResource ID. (Cannot be modified)
    Resource TypeWAS. (Cannot be modified)
    Typewas.container. (Cannot be modified)

4.3.2. Configuring Environment File

This section describes the environment file that is configured during WAS resource registration process.

The following environment configuration files must be configured.

  • Modify config/sysmaster.properties of the Master to monitor ProFrame WAS

  • Modify sm.properties

  • Create sminst_rt.jar by using sminst14.jar or sminst15.jar file according to the JDK version

  • Copy libdcagent library file

MASTER_HOME/config/sysmaster.properties

To monitor ProFrame WAS, add the following setting to config/sysmaster.properties of the Master. After adding the setting, [ProFrame] tab will appear in the [Analysis] > [Service] screen when starting the Master.

was.master.pfwas.enable=true

Note

Only use this setting to monitor ProFrame WAS.

sm.properties

The following are the steps for configuring the sm.properties file.

  1. Copy the was_dc folder to a desired path (generally in 'AGENT_HOME/was_dc')

  2. If sm.home directory is used, create as many sm.properties files as the number of containers in the 'sm.home/sm_properties' directory. Each sm.properties file name should be unique. (e.g., sm.properties1, sm.properties2, etc.)

  3. Configure each sm.properties file according to its container environment.

    The following is an example that shows the properties that must be modified for each sm.properties file.

    ################################################################################
    # Sysmaster home
    #       - Data Collector's Home directory
    ################################################################################
    # sm.home=/data1/apmqam/agent_5x/sm1007/dc_was/sm_properties/extendbci.propertie
    sm.home=/data1/apmqam/agent_5x/sm1007/dc_was
    
    
    ################################################################################
    # Network config
    #
    #       - Data Collector's network properties
    #       - net.master.host    : Master's ip
    #       - net.master.port    : Master's socket port
    #       - net.collector.host : Collector's ip
    #       - net.history.port   : Collector's history socket port
    #       - net.stat.port      : Collector's statistic socket port
    #
    ################################################################################
    
    # Master Network Config
    net.master.host=192.168.1.87
    net.master.port=22002
    
    # Collector Network Config
    net.collector.host=192.168.1.87
    net.history.port=22007
    net.stat.port=22006
    
    ################################################################################
    # Container props
    #
    #       - Set Resource id
    #       - Set cfg path "sm3.properties" 240 lines, 8837 characters
    #       - Set Resource id
    #       - Set cfg path
    #       - Set OutOfMemory Error detect enable : defaule true
    #       - Set Socket Trace enable       : defaule true
    #       - Set File Trace enable         : defaule true
    #       - Set sun's thread cpu time bug enable (linux & sun jdk1.4.x)
    #       - Set ClassLoader Trace enable  : defaule true
    #
    ################################################################################
    resource.id=R012
    container.path=tmaxi7_was.container3
    
    #oomerror.detect.enable=false
    #socket.trace.enable=false
    #file.trace.enable=false
    #sun.threadtime.bug.enable=false
    #bci.classloader.enable=false
    .... continued

    The following is description of the properties.

    PropertyDescription
    sm.home

    Path to the home directory for data collection.

    When monitoring a user specified Java class, the class that is not included in the J2EE specifications must be manually specified.

    net.master.hostIP address of Master server. Default communication port of DC.
    net.master.portMaster Server BasePort+2.
    net.collector.hostIP Address of Master server.
    net.history.portMaster server BasePort+7. Transfer port for history data.
    net.stat.portMaster server BasePort+6. Transfer port for statistical data.
    resource.idResource ID registered through Web ADMIN.
    container.pathResource Container Path value registered through Web ADMIN.
    dc.tx.thresholdResponse time threshold for DC to collect tx information. Collects the service stacktrace information when the threshold is exceeded.
    dc.tx.rateRate at which the service that exceeds the threshold value is executed.
    exception.collect.enableOption to collect trace information about the server when an exception occurs.
    logging.enableOption to enable logging.
    logging.levelLogging level.
    bci.using.genidIf set to false, the user will be checked based on the URL instead of '_smVisitorID' set in the cookie when accessing the target WAS from a web browser. (The visitor ID might be different from actual value.)

    bci.jsp.appid

    (Priority 1)

    App ID extracted from a query parameter in the HTTP Request URL.

    If there are multiple values, separate them as in 'serviceId:menuId'.

    (e.g., bci.jsp.appid=dsname)

    bci.jsp.appid.header

    (Priority 2)

    HTTP header name used to collect appname.

    If there are multiple values, separate them as in 'serviceid1:serviceid2'.

    (e.g., bci.jsp.appid.header=serviceid)

    bci.jsp.appid.uri.suffix

    (Priority 3)

    URI extension name used to collect appname.

    If there are multiple values, separate them as in 'extension1:extemsion2'.

    (e.g., bci.jsp.appid.uri.suffix=biz)

    bci.cookie.userid

    Value to extract from a cookie.

    If there are multiple values, separate them as in 'bci.cookie.userid=a:b'.

    (e.g., bci.cookie.userid=JSESSIONID:__smGlobalId:__smVisitorID)

    container.pfwas.enable

    pfwas.user.stat.enable

    Option to monitor ProFrame WAS.
    dc.pool.stat.enable

    Option to collect pool information from WAS DC. To prevent duplicate collection of pool information, set was.pool.enable to 'N' in the WAS resource properties using Web Admin.

    For JEUS, pool information collection is enabled regardless of the jeusadmin encryption option.

    WAS that uses jdk 1.4 or previous version does not collect pool information.

    (e.g., Jeus4, WebLogic8, etc.)

    dc.jdbc.sqllen.max

    Maximum full SQL length to collect.

    If there is a SQL that has been truncated, it must be deleted from the SMB_META_STRING_ID and SMB_META_STRING_ID_EXT tables.

    full.url.enableOption to display the full URL information of the service in the service trace.

Creating sminst_rt.jar File

By using the smrtcvt executable file in the sm.home directory, create the sminst_rt.jar file from the rt.jar or core.jar file of the JDK. The * rt.jar or core.jar file can be found in the 'JAVA_HOME/jre/lib' directory that is configured in SysMaster.

The following are the purposes for creating the sminst_rt.jar file.

  • Support of JDK 1.4

    While JVM supports the application of BCI using Premain-Class in JDK 1.5 or later, the classloader must be modify to add BCI configuration in JDK 1.4 or earlier.

  • Applying BCI for the Classes in rt.jar File

    BCI can be applied to classes inside an application or WAS, but not to classes in the rt.jar file. This is because the rt.jar files are loaded before other classes.

    To apply BCI to the classes in rt.jar file, modify the classes and specify the classes in the Xbootclasspath. The applicable classes are collection, file I/O, and socket classes.

Note

Among the distributed files, sminst14.jar is for JDK 1.4 and sminst15.jar is for JDK 1.5 or later.

The smrtvt command internally uses sminst15.jar. If the JDK1.4 is used, open smrtcvt and replace sminst15.jar with sminst14.jar.

The following is the command syntax for executing the smrtcvt executable file.

By using the which java command, verify the location of the Java file before executing the command. (If a different account from WAS is used for installation, check the location of the Java file used by WAS)

USAGE: smrtcvt(.bat) <rt.jar(or core.jar)> <Expected Name> <Vendor> <jdk version> <current sminst path>

Examples of command usages can be displayed by executing the following smrtcvt command.

[daehun2:/home/daehun2/sysmaster/agent5/was_dc]$ ./smrtcvt
USAGE : smrtcvt(.bat) <rt.jar(or core.jar)> <Expected Name> <Vendor> <jdk version> <current sminst path>
 ex) smrtcvt(.bat) /usr/jdk14/jre/lib/rt.jar sminst_rt.jar SUN 1.3 /home/apmtest/dc/sminst.jar
 ex) smrtcvt(.bat) /usr/jdk14/jre/lib/rt.jar sminst_rt.jar IBM 1.4 /home/apmtest/dc/sminst.jar
 ex) smrtcvt(.bat) /usr/jdk14/jre/lib/rt.jar sminst15_rt.jar JROCKIT 1.5 /home/apmtest/dc/sminst15.jar
 ex) smrtcvt(.bat) /usr/jdk14/jre/lib/rt.jar sminst16_rt.jar SUN 1.6 /home/apmtest/dc/sminst15.jar

Note

For AIX(IBM) J9 1.4, use core.jar instead of rt.jar.

The following is an example of creating the sminst_rt.jar file. Use the sminst15.jar file for Java 1.5 or later, and use the sminst14.jar file for Java 1.4.

The following log can be displayed.

        ***************************************************
                        SysMaster Provider(WAS DC) 5.0 
        ***************************************************


SYSMASTER Patch Classes...
        java/io/FileInputStream.class : patch...
        java/io/FileOutputStream.class : patch...
        java/util/HashMap.class : patch...
        java/util/ArrayList.class : patch...
        java/util/HashSet.class : patch...
        java/util/IdentityHashMap.class : patch...
        java/util/LinkedList.class : patch...
        java/util/TreeSet.class : patch...
        java/net/Socket.class : patch...

SYSMASTER /usr/java5_64/jre/lib/vm.jar processed
SYSMASTER Patch Classes...
        java/util/Hashtable.class : patch...
        java/util/Vector.class : patch...

SYSMASTER /data1/apmqam/agent/sm1007/dc_was/sminst15_rt.jar created

The CheckEnv.class can be used to verify the library files that are registered in the WAS environment configuration file with the created sminst_rt.jar file. (e.g., IBM J9)

Note

In an HP-UX ia64 environment, if 'java [option] CheckEnv' is executed, it will be recognized as 32 bit, and if java '-d64 [option] CheckEnv' is executed it will be recognized as 64 bit. Use the '-d64' option according to the environment.

The following are the steps for verification.

  1. Check that the library file that retrieves the Java Resource information executes successfully.

    apmqam@dc_home]$ java -agentlib:/data1/apmqam/agent/sm1007/dc_was/dcagent/jvmti/aix6L_64/dcagent64 CheckEnv
    success jvmti_interface=110206288
    sun.boot.library.path:/usr/java5_64/jre/bin

    * Enter the path of the folder that contains the libdcagent file. For 64 bit machines, use the 'dsagent64' notation for testing.

  2. Check that the DC environment information has been properly applied to the built sminst JAR file.

    apmqam@dc_home]$ java -javaagent:/data1/apmqam/agent/sm1007/dc_was/sminst15_rt.jar CheckEnv
    
    [SMDC] All stdout,stderr will be redirect to: /data1/apmqam/resourceid_node.container1/logs/smlog_resourceid_node.container1
    
            **************************************************************
                   SysMaster Provider(WAS DC) 5.0 
            **************************************************************
    
             - Property path       : /data1/apmqam/agent/smagent/dc_was/sm_properties/sm2.properties
             - Extend BCI path     : 
             - Resource ID         : R012
             - Container PATH      : tmaxi7_was.container2
             - Master IP           : 192.168.1.87
             - Collector IP        : 192.168.1.87
             - Req Port            : 22002
             - Tx  Port            : 22007
             - Mon Port            : 22006
             - OOM Detect          : true
             - SQL PARAM TRACE     : true
             - Thread Command      : true
             - Socket Trace        : true
             - TX His threshold    : 3000 ms
             - TX View threshold   : 100 ms
             - TX His send rate    : 0.05
             - TX view send rate   : 0.2
             - TX header send rate : 0.2
             - User profile enable : true
             - User profile filter : included packages and classes
    
    sun.boot.library.path:/usr/java5_64/jre/bin
  3. Check that the built library file has been successfully loaded.

    apmqam@dc_home]$java -Xbootclasspath/p:/data1/apmqam/agent/sm1007/dc_was/sminst15_rt.jar:
    /data1/apmqam/agent/sm1007/dc_was/sminst_15.jar CheckEnv
    sun.boot.library.path:/usr/java5_64/jre/bin
  4. Check that the configured properties file has been successfully loaded.

    apmqam@dc_home]$java -Dsm.property=/data1/apmqam/agent/sm1007/dc_was/properties/sm1.properties CheckEnv
    sun.boot.library.path:/usr/java5_64/jre/bin

Copying libdcagent library File

The libdcagent library is required for monitoring the JVM CPU and memory status. For JDK 1.4, copy the library file to the corresponding WAS library path.

  • JDK 1.5 or later

    System specific libdcagent library is under the following location, and it does not need to be copied manually.

    sm.home/dcagent/jvmti
  • JDK 1.4

    Copy the system-specific libdcagent library file from the following location to the 'JEUS_HOME/lib/system' directory (for JEUS).

    sm.home/dcagent/jvmpi

Note

For 64 bit machines, change the file name from 'libdcagent64' to 'libdcagent' when copying the file.

4.3.3. Modifying JEUSMain.xml File (JEUS 6 or Earlier)

Specify the absolute path for the bootclasspath, which is referenced when executing the sminst.jar and sminst_rt.jar files, in the command-option property of each container section in JEUSMain.xml. The path of the sm.properties file, which will be referenced by each container, must also be specified.

Caution

When configuring the libdcagent.so file, for JDK1.4, the file must be saved under the 'JEUSHOME/lib/system/' directory or the library path. For JDK1.5, the file is saved under the DC Home(in general) directory and the path must be specified. For JDK 1.5, avoid saving the file under the 'JEUSHOME/lib/system/' directory or other library paths.

The following is an example of configuring JEUSMain.xml for each JDK version.

  • JDK 1.4

    <engine-container>
    <name>container1</name>
    <command-option>
    -Xbootclasspath/p:/data1/apmqam/sysmaster/agent5/was_dc/sminst15_rt.jar 
    -Dsm.property=/data1/apmqam/sysmaster/agent5/was_dc/sm_properties/sm.properties
    </command-option>
  • JDK 1.5 or later

    <engine-container>
    <name>container1</name>
    <command-option>
    -agentpath:/data1/apmqam/sysmaster/agent5/was_dc/dcagent/jvmti/hpux11_64_ia64/libdcagent64.so
    -javaagent:/data1/apmqam/sysmaster/agent5/was_dc/sminst15_rt.jar
    -Xbootclasspath/p:/data1/apmqam/sysmaster/agent5/was_dc/sminst15_rt.jar
    -Dsm.property=/data1/apmqam/sysmaster/agent5/was_dc/sm_properties/sm.properties
    </command-option>
  • JDK 1.5 IBM J9

    The following is an example of installing for JDK 1.5 IBM J9.

    -agentlib:/data/daehun/sysmaster/agent5/was_dc/dcagent/jvmti/aix5L_64/dcagent64
    -javaagent:/data/daehun/sysmaster/agent5/was_dc/sminst15_rt.jar
    -Xbootclasspath/p:/data/daehun/sysmaster/agent5/was_dc/sminst15_rt.jar
    -Dsm.property=/data/daehun/sysmaster/agent5/was_dc/sm_properties/sm.properties2
    -Dsysmaster.master.trace.sql=3

Note

Since JEUSMain.xml settings can vary depending on the JDK type and version, consult with the administrator to determine the proper options for the installation environment. Note that the settings specified in JEUSMain.xml vary depending on the JDK version.

4.3.4. Modifying domain.xml (JEUS 7 Version) File

Specify the absolute path for the bootclasspath, which is referenced when executing the sminst.jar and sminst_rt.jar files, in the jvm-option property of each server section in the domain.xml file. The path of the sm.properties file, which will be referenced by each Managed server, must also specified.

The following is an example of configuring JEUSMain.xml for each JDK version.

  • JDK 1.5 or later

    <listener>
      <name>http-server1</name>
      <jvm-config>
        <jvm-option>-Xmx512m -XX:MaxPermSize=128m</jvm-option>
        <jvm-option>-agentlib:/data/daehun/sysmaster/agent_20140305/was_dc/dcagent/jvmti/aix5L_64/dcagent64</jvm-option>
        <jvm-option>-javaagent:/data/daehun/sysmaster/agent_20140305/was_dc/rt_15.jar</jvm-option>
        <jvm-option>-Xbootclasspath/p:/data/daehun/sysmaster/agent_20140305/was_dc/rt_15.jar</jvm-option>
        <jvm-option>-Dsm.property=/data/daehun/sysmaster/agent_20140305/was_dc/sm_properties/sm.properties</jvm-option>
    </jvm-config>
  • JDK 1.5 IBM J9

    The following is an example of installing for JDK 1.5 IBM J9.

    -agentlib:/data/daehun/sysmaster/agent_20140305/was_dc/dcagent/jvmti/aix5L_64/dcagent64
    -javaagent:/data/daehun/sysmaster/agent_20140305/was_dc/rt_15.jar
    -Xbootclasspath/p:/data/daehun/sysmaster/agent_20140305/was_dc/rt_15.jar
    -Dsm.property=/data/daehun/sysmaster/agent_20140305/was_dc/sm_properties/sm.properties
    -Dsysmaster.master.trace.sql=3

Note

Note that the settings specified in JEUSMain.xml vary depending on the JDK version.

4.3.5. Configuring Other WAS Products

The following lists the files that contain the DC settings for other WASs.

WASConfiguration File
WebLogicstartWebLogic.sh
Oracle ASOpmn.xml
WebSphere

$WEBSPHERE_HOME/profiles/AppSrv02/config/

cells/tmaxi7Node02Cell/nodes/tmaxi7Node02/servers/server1/server.xml

Tomcat$TOMCAT_HOME/bin/startup.sh Resin : {resin home}/conf/resin.xml
JBoss

$JBOSS_HOME/bin/run.conf(6.x)

Standalone mode: $JBOSS_HOME/bin/standalone.conf(7.x)

Domain mode: sysmaster and jeus modules must be added (7.x)

JettyJetty.sh

Modifying the WebLogic(startXXXX.sh) File

The startXXXX.sh file is generally created as startWebLogic.sh, but the name of executed shell varies depending on the site. The startXXXX.sh file is located in the following directory or can be in another location depending on the production site.

-Xbootclasspath/p:PATH /sminst.jar:PATH /sminst_rt.jar
-Dsm.property=PATH/sm. properties1

When there are two or more containers, add a command-option for each container and also create sm*.properties for each container in '$AGENT_HOME/dc/properties'.

  • WebLogic 8.x (JDK 1.4)

    Configure the following in JAVA_OPTIONS of the WebLogic startup shell script.

    -Xbootclasspath/p:PATH /sminst.jar:PATH /sminst_rt.jar
    -Dsm.property=PATH/sm. properties1
  • WebLogic 9.x & WebLogic 10.x (JDK 1.5)

    Configure the followings in JAVA_OPTIONS of the WebLogic startup shell script.

    -javaagent:PATH/sminst.jar
    -Xbootclasspath/p:PATH/sminst.jar:PATH/sminst_rt.jar
    -Dsm.property=PATH/properties/sm.properties2
  • libdcagent.so File Configuration

    • JDK 1.4

      Copy the file to the 'WEBLOGIC_HOME/bin' directory.

    • JDK 1.5

      -agentpath:PATH/libdcagent.so

    The following is an example of the libdcagent.so configuration file.

    # START WEBLOGIC
    .
    .
    if [ "${SERVER_NAME}" = "server1" ] ; then
    JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/home/weblogic/sysmaster/agent/dc/sminst.jar
    -Xbootclasspath/p:/home/weblogic/sysmaster/agent/dc/sminst.jar:
    /home/weblogic/sysmaster/agent/dc/sminst_rt.jar
    -Dsm.property=/home/weblogic/sysmaster/agent/dc/properties/sm1.properties"
    else if [ "${SERVER_NAME}" = "server2" ] ; then
    JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/home/weblogic/sysmaster/agent/dc/sminst.jar
    -Xbootclasspath/p:/home/weblogic/sysmaster/agent/dc/sminst.jar:
    /home/weblogic/sysmaster/agent/dc/sminst_rt.jar
    -Dsm.property=/home/weblogic/sysmaster/agent/dc/properties/sm2.properties"
    else if [ "${SERVER_NAME}" = "server3" ] ; then
    JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/home/weblogic/sysmaster/agent/dc/sminst.jar
    -Xbootclasspath/p:/home/weblogic/sysmaster/agent/dc/sminst.jar:
    /home/weblogic/sysmaster/agent/dc/sminst_rt.jar
    -Dsm.property=/home/weblogic/sysmaster/agent/dc/properties/sm3.properties"
    fi

WebSphere

Add the setting to the Server xml (1), or configure properties in webadmin (2 & 3).

  1. Add to server xml

    Add settings in C:\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\starkohNode01Cell\nodes \starkohNode01\servers\server1\server.xml

    ...
    genericJvmArguments="-Dwas.vendor=websphere -javaagent:C:\TmaxSoft\SysMaster\agent\was_dc\sminst16_rt_ws85.jar -Dsm.property=C:\TmaxSoft\SysMaster\agent\was_dc\sm_properties/sm.properties_ws85 -agentpath:C:\TmaxSoft\SysMaster\agent\was_dc\dcagent\jvmti\win64\dcagent64.dll" executableJarFileName="" disableJIT="false">
          <bootClasspath>C:\TmaxSoft\SysMaster\agent\was_dc\sminst16_rt_ws85.jar</bootClasspath>
    ...

  2. Configure the webadmin property: configure the JVM boot class path.

    Select [Application Server] > [server Name] > Server Infrastructure – Manage Java and Process – Define Process > JVM. Configure directory information in the 'Boot Class Path' field of the General Features section.

    $WEBLOGIC _HOME/server/bin

    [Figure 4.5] WebSphere Web Console – General JVM Property Configuration

    WebSphere Web Console – General JVM Property Configuration

  3. Configure the webadmin property: configure the values in sm.properties.

    Select [Application Server] > [server Name] > Server Infrastructure – Manage Java and Process – Define Process > JVMUser Defined Features. Set the sm.properties path to the 'Value' field of the General Features section.

    PATH/sm.properties

    [Figure 4.6] WebSphere Web Console – sm.properties Path Configuration

    WebSphere Web Console – sm.properties Path Configuration

    [Figure 4.7] WebSphere Web Console – sm.properties Configuration

    WebSphere Web Console – sm.properties Configuration

JBoss

The following describes how to configure JBoss.

  1. JBOSS AS 7.0 and 7.1

    Pool information cannot be collected because the pool information is not exposed through MBean.

  2. Add java options to JBOSS AS 7.3 $JBOSS_HOME/bin/standalone.conf as in the following.

    ...
    JAVA_OPTS="$JAVA_OPTS -agentpath:/home/gmrcb/sysmaster/jboss/was_dc/dcagent/jvmti/linux2.x/libdcagent64.so 
    -javaagent:/home/gmrcb/sysmaster/jboss/was_dc/sminst_rt.jar -Xbootclasspath/p:/home/gmrcb/sysmaster/jboss/was_dc/sminst_rt.jar 
    -Dsm.property=/home/gmrcb/sysmaster/jboss/was_dc/sm_properties/sm.properties2 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
    ...
  3. Add a package to JBOSS AS 7.3

    • Configure the following under $JBOSS_HOME/bin/standalone.conf when in the standalone mode.

      if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
         JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,sysmaster,jeus"
      fi
      
    • When in the domain mode

      Modify domain.xml by assuming that -Djboss.domain.default.config is set to domain.xml.

      <system-properties>
       <property name="jboss.modules.system.pkgs" value="org.jboss.byteman,com.javaservice,sysmaster,jeus"/>
      </system-properties>

      Modify host.xml by assuming that -Djboss.host.default.config is set to host.xml.

      <server name="server_01" group="group_01" auto-start="true">
       <system-properties>
        <property name="testprop" value="this is test value"/>
       </system-properties>
       <socket-bindings port-offset="2000"/>
       <jvm name="default" debug-enabled="false">
        <jvm-options>
        ….
         <option value="-Djboss.modules.system.pkgs=org.jboss.byteman,com.javaservice,sysmaster,jeus"/>
        ….
        </jvm-options>
       </jvm>
      </server>
      

OracleAS

The following describes the configurations in Oracle 9i & 10g (JDK 1.4 & 1.5).

  1. OracleAS can execute a multi-process instance. The following shows how to configure a single-instance for a single process and a multi-instance for multiple processes.

    • Single-Instance

      Specify the following for the java-options of ias-component in the Opmn.xml file.

      -Xbootclasspath/p:PATH/sminst.jar:PATH/sminst_rt.jar
      -Dsm.property=PATH/sm.properties
    • Multi-Instance

      Specify the following for the java-options of ias-component in the Opmn.xml file.

      -Xbootclasspath/p:PATH/sminst.jar;PATH/sminst_rt.jar
      -Dsm.autoconfig=true
      -Dsm.conids=1:2
      -Dsm.configpath=PATH/properties
      

      When using multi-instance, the '-Dsm.autoconfig' setting must be set to true and the range of the IDs used by the instances must be specified. In the previous example, the instances will use 1 or 2 as ID.

  2. Specify the directory that contains the property files used by the DC.

    Similar to other configurations, 'PATH' represents an absolute path and 'properties' is the directory that contains the configuration file. The 'properties' directory contains property files that use the following naming conventions.

    sm.propertiesID  e.g., sm.properties1, sm.properties2
  3. Configure the libdcagent.so file. Place the libdcagent file according to the JDK as shown in the following.

    • JDK 1.4

      Copy to 'ORACLE_HOME/bin' directory
    • JDK 1.5

      agentpath:PATH/libdcagent.so

4.3.6. Restarting WAS and Agent

JEUS and Agent must be restarted in order to apply the configuration changes.

  1. Restart WAS

    • WAS Termination

      $jeusadmin <HOSTNAME> -U{administrator-id} -P{passwd} jeusexit
    • WAS Start

      $ jeus -U{administrator-id} -P{passwd} &
  2. Restart the SysMaster Agent. For more information about restarting the agent process, refer to "3.5. Starting and Terminating Agent".

4.3.7. Troubleshooting

If the following error occurs while registering a WAS resource, check the configurations in the following order.

java.lang.UnsatisfiedLinkError: sysmaster/was/datacollector/profile/JVMPIManager5.getCurrentThreadCpuTime()
  at sysmaster.was.datacollector.profile.JVMPIManager5.getThreadCpuTime(JVMPIManager5.java:55)
  at sysmaster.was.datacollector.data.MethodTrace.startTraceAux(MethodTrace.java:107)
  at sysmaster.was.datacollector.data.EnterpriseTraceProxy.startTrace(EnterpriseTraceProxy.java:440)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
  at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java:313)
  at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:214)
  at jeus.servlet.engine.HttpRequestProcessor.run(HttpRequestProcessor.java:283)
  1. Check if libdcagent.so generates an error, and then execute the following command from the directory of the sminst.jar file and verify that the cputime is correctly displayed.

    • JDK 1.5

      $java –agentpath:PATH/libdcagent.so –classpath sminst.jar sysmaster.was.datacollector.profile.JVMPIManager5
    • IBM JDK J9 1.5

      Use the agentlib option instead of the agentpath option.

      $java -agentlib:PATH/dcagent -classpath ./sminst.jar sysmaster.was.datacollector.profile.JVMPIManager

  2. If CPU Time is displayed correctly, it means that the libdcagent.so executes normally. Hence, check the DC settings inside WAS section for issues.