RUM data collector for Tomcat light weight data collector

After you configure the Tomcat data collector, you can enable RUM data collector (RUM DC) to collect data about how actual users interact with and experience web applications. RUM data collector supports the following platforms:

Before you begin

Procedure

To enable RUM data collector after you configure the Tomcat light weight data collector, do the following steps:

  1. Open your application deployment yaml file and add the following environment variables.
    - name: IBM_APM_RUM_ENABLED
           value: "true"
    - name: TOMCAT_SERVER_WEB_APPS_PATH
           value: "<TOMCAT_HOME>/webapps"
    

where TOMCAT_HOME is Tomcat server home directory.

Note: If you want to disable RUM data collector, do not set this variable..

  1. Apply the following changes to the docker file. It will append the loader properties for catlina.properties and add rtFilter jar path so that RUM data collector gets initialized with tomcat server startup.
    WORKDIR  <TOMCAT_HOME>
    RUN mkdir sublib
    ADD <TOMCAT_DATACOLLECTOR>/rumdcjar/RTFilter-1.0.jar <tomcat_home>/sublib
    RUN grep -F "common.loader" /<tomcat_home>/conf/catalina.properties | sed -i 's/$/&,"${catalina.home}\/sublib\/*.jar"/g' /<tomcat_home>/conf/catalina.properties
    

where:

  1. Apply your application deployment yaml file.

    Note: RUM data collector and the Tomcat light weight data collector use the same yaml file. Changes in the sample setting apply to both RUM data collector and Tomcat data collector.

  2. Optional environment variables are:

    • LOGFILE_NUMBER - specifies the maximum number of log files for RUM data collector. Default number of log files are 5.
    • LOGFILE_SIZE - size for each log file. The size of each file is 5 MB. The size of the file has to be specified in MB.
    • SKIPAPPSLIST - This variable can be set as a comma separated list of web applications that are to be skipped for RUM DC monitoring. For example: /JustHTML,/docs. If this variable is not set in the yaml file, RUM data collector will be enabled for all applications present in /webapps directory of tomcat server.

      Important: ClassCastException may be observed for applications using HTTP2 Servlet protocol. For example: /examples/servlets/serverpush/simpleimage on CP4MCM UI. You will have to skip such applications for RUM data collector using environment variable SKIPAPPSLIST. Also, see Tomcat RUM DC displays IllegalStateException on the web pages

What to do next

Launch a web request, and then do the following steps to verify whether RUM data collector is successfully enabled:

  1. Go to Monitor health > Infrastructure monitoring on the console.
  2. Find Kubernetes Service from the All resource types list.
  3. Browse the Resource list, click the appropriate 'service name' that you have enabled RUM data collector, and open the resource dashboard.
  4. Use one of the following methods to verify:
    • Check whether Browser is displayed in the Service dependencies section.
    • Check whether Browser is listed in the Related resources widget. Click Browser to get detailed browser data.