Manually configuring the data collector to monitor dynamic cluster servers

You can configure the data collector to monitor application server instances in a dynamic cluster by adding some data collector configuration parameters to the server template that was used to create the dynamic cluster server instances. This is an alternative method to configure dynamic cluster server instances to creating the server templates specific for the WebSphere® Applications agent.

About this task

To configure the data collector for dynamic cluster monitoring, you must create two settings files, and then manually add settings in the WebSphere administrative console to modify the dynamic server template. The runtime directory is created automatically when the data collector is started for the application server instance. Note that any upgrade to the server template will erase these changes that you made in this way.

Important:
  • The cluster name cannot contain a space.
  • You must make manual changes to the WebSphere Application Server configuration for data collectors as the WebSphere administrative user.
  • You must be an experienced WebSphere administrator to make manual changes to the WebSphere Application Server for data collection. Any error in the manual configuration change can result in the application server not starting.
  • If you manually configure the data collector to monitor application server instances, you cannot use the unconfiguration utility to unconfigure the data collector. To unconfigure the data collector, you must manually change the settings back.

Procedure

  1. Create the dcManualInput.txt file in the data collector runtime directory.
    Follow the instructions in Creating the dcManualInput.txt file.
  2. Create the itcam_wsBundleMetaData.xml file in the data collector wsBundleMetaData directory. Follow the instructions in Creating the itcam_wsBundleMetaData.xml file.
  3. Use WebSphere administrative console to modify the dynamic server template by adding the data collector configuration parameter. Follow the instructions in Adding settings with the WebSphere administrative console.
    Tip: The dynamic cluster member name is used as the middle qualifier of the WebSphere Applications agent instance name that is displayed on the Cloud APM console. Sometimes, the cluster member name might be truncated due to the length limit on the agent instance name. In this case, you can modify the dynamic server template by adding a variable named ${MEP_NAME} and setting the value to the JVM name for each server instance. Then, you can distinguish each cluster member by the actual JVM name on the Cloud APM console. For instructions, see Optional: Showing actual JVM name to distinguish cluster members.

Creating the dcManualInput.txt file

About this task

The dcManualInput.txt file contains some values that are required for initial configuration of the data collector.

Procedure

To create the dcManualInput.txt file, complete the following steps:

  1. Check whether a file named platform_Template.DCManualInput.txt exists in the following directory. If it does not exist, create it.
    • Linux or AIXinstall_dir/yndchome/7.3.0.14.08/runtime
    • Windowsinstall_dir\dchome\7.3.0.14.08\runtime

    The platform variable in the file name indicates the operating system architecture, for example, aix32, xLinux64.

    You can name the file anything that you want. However, platform_Template.DCManualInput.txt follows the standard naming convention when the file is created by running the configtemplate.sh script. You will need to specify this file for the server template with WebSphere administrative console in the subsequent step.

  2. Copy the contents of the following file to the .txt file that you found or created in the previous step.
    • Linux or AIXdc_home/itcamdc/etc/was/dcInput_manual.properties
    • Windowsdc_home\itcamdc\etc\was\dcInput_manual.properties
  3. Edit the contents of the .txt file. You must set the parameters in section 1 of the file according to the descriptions provided in Table 1.
    Remember:
    • Do not change the parameters in section 2.
    • Some of the configuration parameters that are used by the data collector to create runtime directories are always set to none. It is because in dynamic cluster monitoring, the data collector uses the WebSphere server instance configuration to create the directories when JVM starts.
    Table 1. Configuration Parameters for Section 1
    Parameter Value
    local.hostname The IP address or fully qualified domain name of the local system.
    was.profile.home The profile home directory.

    Always set it to none for dynamic cluster server

    was.version A short version number.

    Always set it to none for dynamic cluster server

    itcam.home The data collector home directory.

    Example: /opt/ibm/apm/agent/yndchome/7.3.0.14.08

    was.nodename Node name.

    Always set it to none for dynamic cluster server

    was.servername Server name.

    Always set it to none for dynamic cluster server

    was.profilename WebSphere profile name.

    Always set it to none for dynamic cluster server

    am.camtoolkit.gpe.dc.operation.mode Operation mode of the data collector. Valid values are any combination of WR, TT, and DE, where:
    WR
    Integrates the data collector with the WebSphere Applications agent.
    TT
    Integrates the data collector with ITCAM for Transactions.
    DE
    Integrates the data collector with ITCAM Diagnostics Tool. The tool is previewed in the ITCAM for Application Diagnostics beta.

    You must specify only the operation modes required. For example, if you are connecting the data collector to the WebSphere Applications agent only, specify WR.

    Separate multiple operation modes with a comma.

    Example: am.camtoolkit.gpe.dc.operation.mode=WR, DE

    interp Platform code.

    Example: interp=win64 or interp=lx6266

    kwj.serveralias WebSphere Application Server alias name.

    Always set it to none for dynamic cluster server

    temagclog.path (Optional) Garbage Collection log file path name. Enter a unique file name with full path. The path name must not include spaces.
    tema.host Host name or IP address of the WebSphere Applications agent. Mandatory if the operation mode includes WebSphere Applications agent (WR). Usually, the monitoring agent is installed on each system where the data collector is running and the loopback address can be specified.

    Example: tema.host=127.0.0.1

    tema.port Port to use for communicating with the WebSphere Applications agent. Mandatory if the operation mode includes WebSphere Applications agent (WR). The default value is 63335.

    Example: tema.port=63335

    tt.connection.string Host name or IP address and the port number of the transaction collector component of ITCAM for Transactions in the format of tcp:host_name(IP):port. Mandatory if the operation mode includes ITCAM for Transactions (TT).

    Example: tt.connection.string=192.38.234.77:5455

  4. Add the following lines to the section 1 of the .txt file.
    bcm.helper=com.ibm.tivoli.itcam.was.bcm.websphere.DefaultWASBCMHelper
    BCM_HELPER=@{bcm.helper}
  5. Save and close the file.

Creating the itcam_wsBundleMetaData.xml file

About this task

The itcam_wsBundleMetaData.xml file contains some of the values that are required initial configuration of the data collector.

Procedure

To create this file, complete the following steps:

  1. Create a directory that is named wsBundleMetaData under the following directory:
    • Linux or AIXinstall_dir/yndchome/7.3.0.14.08/runtime
    • Windowsinstall_dir\dchome\7.3.0.14.08\runtime
  2. Create a file that is named itcam_wsBundleMetaData.xml and copy the contents of the following file into it:
    • Linux or AIXinstall_dir/yndchome/7.3.0.14.08/itcamdc/etc/was/itcam_wsBundleMetaData_template.xml
    • Windowsinstall_dir\dchome\7.3.0.14.08\itcamdc\etc\was\itcam_wsBundleMetaData_template.xml
  3. In the itcam_wsBundleMetaData.xml file, replace the @{CONFIGHOME} variable with the full path to your data collector home directory.
    The data collector home directory on each operating system is as follows:
    • Linux or AIXinstall_dir/yndchome/7.3.0.14.08
    • Windowsinstall_dir\dchome\7.3.0.14.08
  4. Place the itcam_wsBundleMetaData.xml file to the wsBundleMetaData directory that you created in Step 1.

Adding settings with the WebSphere administrative console

Procedure

Complete the following steps to modify the dynamic server template with the WebSphere administrative console.

  1. Log in to the WebSphere Administrative Console.
  2. Click Servers.
  3. Expand Clusters and select Dynamic Clusters.
  4. Click the name of the dynamic server cluster that you want to configure with the data collector.
  5. Under the Additional Properties section, click Server template.
  6. Under the Server Infrastructure section, expand Java and Process Management and click Process Definition.
  7. Under the Additional Properties section, click Java Virtual Machine.
  8. In the Generic JVM arguments field, add the following entries.
    -agentlib:am_$jvm-vendor_$jvm-version=${WAS_SERVER_NAME} -Xbootclasspath/p:${ITCAMDCHOME}/toolkit/lib/bcm-bootstrap.jar -Djava.security.policy=${ITCAMDCHOME}/itcamdc/etc/datacollector.policy -verbosegc -Dcom.ibm.tivoli.itcam.ai.runtimebuilder.inputs=${ITCAMDCHOME}/runtime/$platform_Template_DCManualInput.txt -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.transport.connectionTimeout=300000 -Dws.bundle.metadata=${ITCAMDCHOME}/runtime/wsBundleMetaData –Ditcamdc.dyncluster=true
    When you are adding the entries, take note of the following things:
    • All entries must be on a single line.
    • Separate different arguments by spaces before the - sign, do not use spaces anywhere else.
    • Replace the following variables with the actual names:
      • $jvm-vendor: The JVM vendor that is used.
      • $jvm-version: The JVM version information, such as 15 based on Java™ 5, 16 based on Java 6, or 17 based on 7.
      • $platform_Template_DCManualInput.txt: The .txt file that you created in the previous step.
      Example:
      -agentlib:am_ibm_16=${WAS_SERVER_NAME} -Xbootclasspath/p:${ITCAMDCHOME}/toolkit/lib/bcm-bootstrap.jar -Djava.security.policy=${ITCAMDCHOME}/itcamdc/etc/datacollector.policy -verbosegc -Dcom.ibm.tivoli.itcam.ai.runtimebuilder.inputs=${ITCAMDCHOME}/runtime/aix64_Template_DCManualInput.txt -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.transport.connectionTimeout=300000 -Dws.bundle.metadata=${ITCAMDCHOME}/runtime/wsBundleMetaData –Ditcamdc.dyncluster=true
  9. Click Apply.
  10. In the Messages dialog box, click Save.
  11. In the Save to Master Configuration dialog box, complete the following steps:
    • If you are under a Network Deployment environment, ensure that Synchronize changes with Nodes is selected and then click Save.
    • If you are not under a Network Deployment environment, click Save.
  12. Go back to expand Clusters, click Dynamic clusters, and click the same server name.
  13. In the Configuration tab, go to Server Infrastructure > Java and Process Management > Process Definition > Environment Entries.
  14. Depending on the operating system, the hardware platform, and the application server JVM, set the following environment entry:
    Table 2. Environment entry
    Platform Environment Entry name Environment Entry value
    AIX® R6.1 (32-bit JVM) LIBPATH /lib:${ITCAMDCHOME}/toolkit/lib/aix533:${ITCAMDCHOME}/toolkit/lib/aix533/ttapi
    AIX R6.1 (64-bit JVM) LIBPATH /lib:${ITCAMDCHOME}/toolkit/lib/aix536:${ITCAMDCHOME}/toolkit/lib/aix536/ttapi
    AIX R7.1 (32-bit JVM) LIBPATH /lib:${ITCAMDCHOME}/toolkit/lib/aix533:${ITCAMDCHOME}/toolkit/lib/aix533/ttapi
    AIX R7.1 (64-bit JVM) LIBPATH /lib:${ITCAMDCHOME}/toolkit/lib/aix536:${ITCAMDCHOME}/toolkit/lib/aix536/ttapi
    Linux® x86_64 R2.6 (64-bit JVM) LD_LIBRARY_PATH /lib:${ITCAMDCHOME}/toolkit/lib/lx8266:${ITCAMDCHOME}/toolkit/lib/lx8266/ttapi
    Linux Intel R2.6 (32-bit JVM) LD_LIBRARY_PATH /lib:${ITCAMDCHOME}/toolkit/lib/lx6263:${ITCAMDCHOME}/toolkit/lib/lx6263/ttapi
    Linux ppc R2.6 (32-bit JVM) LD_LIBRARY_PATH /lib:${ITCAMDCHOME}/toolkit/lib/lpp263:${ITCAMDCHOME}/toolkit/lib/lpp263/ttapi
    Linux ppc R2.6 (64-bit JVM) LD_LIBRARY_PATH /lib:${ITCAMDCHOME}/toolkit/lib/lpp266:${ITCAMDCHOME}/toolkit/lib/lpp266/ttapi
    Windows (32-bit JVM) PATH /lib;${ITCAMDCHOME}/toolkit/lib/win32;${ITCAMDCHOME}/toolkit/lib/win32/ttapi
    Windows (64-bit JVM) PATH /lib;${ITCAMDCHOME}/toolkit/lib/win64;${ITCAMDCHOME}/toolkit/lib/win64/ttapi
  15. Set the NLSPATH environment entry name to the following value:
    ${ITCAMDCHOME}/toolkit/msg/%L/%N.cat
  16. Click Apply and click Save.
  17. In the Save to Master Configuration dialog box, complete the following steps:
    • If you are under a Network Deployment environment, ensure that Synchronize changes with Nodes is selected and then click Save.
    • If you are not under a Network Deployment environment, click Save.
  18. Go back to expand Clusters, click Dynamic clusters, and then click the same server name.
  19. In the Configuration tab, go to Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine > Additional Properties: Custom Properties.
  20. Click New to add the following name and value pairs, and then click Apply.
    • Create an am.home property and set its value to the following directory:
      • Linux or AIXinstall_dir/yndchome/7.3.0.14.08/itcamdc
      • Windowsinstall_dir\dchome\7.3.0.14.08\itcamdc
    • Create an am.orig.wascell property and set its value to the cell directory. For example, am.orig.wascell =cellname1.
    • Create a com.ibm.tivoli.itcam.toolkit.ai.runtimebuilder.enable.rebuild property and set its value to true.
    • Create an ITCAM_DC_ENABLED property and set its value to true.
    • Create a TEMAGCCollector.gclog.path property. If the generic JVM verlogsegclog argument is set, set the value of the TEMAGCCollector.gclog.path property to the same value. Otherwise, set the TEMAGCCollector.gclog.path property to None.
      Tip: To identify the value of the verlogsegclog property, in the Configuration tab, click Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine. The verlogsegclog value is in the Generic JVM arguments field.
  21. In the Messages dialog box, click Save.
  22. In the Save to Master Configuration dialog box, complete the following steps:
    • If you are under a Network Deployment environment, ensure that Synchronize changes with Nodes is selected. Click Save.
    • If you are not under a Network Deployment environment, click Save.
  23. In the Navigation Pane, click Environment > WebSphere Variables.
  24. Set the following variables. For each variable, you must choose the appropriate scope level, depending on the data collector installation directory on various systems. If different systems have different installation directories for the data collector, these variables must be set correctly for each node-level scope. If they all have the same installation directory, the scope can be higher, such as at the cluster level.
    • Set ITCAMDCHOME to following directory:
      • Linux or AIXinstall_dir/yndchome/7.3.0.14.08/itcamdc
      • Windowsinstall_dir\dchome\7.3.0.14.08\itcamdc
    • Set ITCAMDCVERSION to the version of the data collector, for example, 7.3.0.14.08.
  25. Click Apply and click Save.
  26. In the Save to Master Configuration dialog box, complete the following steps:
    • If you are under a Network Deployment environment, ensure that Synchronize changes with Nodes is selected and then click Save.
    • If you are not under a Network Deployment environment, click Save.
    After the template is modified, the values are synchronized with all the server instances in the dynamic cluster. Any new server that is dynamically created will also have the same data collector configuration parameters.
  27. Restart the application server instance for the data collector to be activated. The data collector reads the settings files and creates the runtime directory.

Optional: Showing actual JVM name to distinguish cluster members

About this task

On the Cloud APM console, the WebSphere Applications agent instance name takes the form of host_name::was_server_name:KYNS and has a maximum length of 32 characters. In the dynamic cluster environment, dynamic cluster member names are used for the middle qualifier was_server_name.

Sometimes, the cluster member names are truncated due to the character length limit. In this case, you can specify the actual JVM name to be used for the middle qualifier in the agent instance name.

Procedure

Perform the following steps to show actual JVM name in the agent instance name:

  1. Log in to the WebSphere Administrative Console to update the generic JVM arguments by adding a new environment variable ${MEP_NAME} as follows:
    -agentlib:am_$jvm-vendor_$jvm-version=${MEP_NAME}${WAS_SERVER_NAME} -Xbootclasspath/p:${ITCAMDCHOME}/toolkit/lib/bcm-bootstrap.jar -Djava.security.policy=${ITCAMDCHOME}/itcamdc/etc/datacollector.policy -verbosegc -Dcom.ibm.tivoli.itcam.ai.runtimebuilder.inputs=${ITCAMDCHOME}/runtime/$platform_Template_DCManualInput.txt -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.transport.connectionTimeout=300000 -Dws.bundle.metadata=${ITCAMDCHOME}/runtime/wsBundleMetaData –Ditcamdc.dyncluster=true
    Example:
    -agentlib:am_ibm_16=${MEP_NAME}${WAS_SERVER_NAME} -Xbootclasspath/p:${ITCAMDCHOME}/toolkit/lib/bcm-bootstrap.jar -Djava.security.policy=${ITCAMDCHOME}/itcamdc/etc/datacollector.policy -verbosegc -Dcom.ibm.tivoli.itcam.ai.runtimebuilder.inputs=${ITCAMDCHOME}/runtime/aix64_Template_DCManualInput.txt -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.transport.connectionTimeout=300000 -Dws.bundle.metadata=${ITCAMDCHOME}/runtime/wsBundleMetaData –Ditcamdc.dyncluster=true
  2. Save and apply the changes.
  3. In the Navigation Pane, click Environment > WebSphere Variables to define the ${MEP_NAME} variable for each dynamic cluster member. Set the value to the actual JVM name of the cluster member.
  4. Save and apply the changes.
  5. Restart the application server instance.

    On the Cloud APM console, a new WebSphere Applications agent instance whose name contains the ${MEP_NAME} value that you just specified is displayed.