This documentation supports the 9.1 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.

Setting up BMC Remedy Smart Reporting as a cluster and onboard users

This topic describes the procedure to set up BMC Remedy Smart Reporting as a cluster.

Consider the following points for installing BMC Remedy Smart Reporting in a clustered environment:

  1. Install primary BMC Remedy Smart Reporting server with a new or existing database.
  2. Install Secondary server with the database used by the primary node.

If you have already performed the Onboarding process before the installation of the secondary server, then do not install the secondary node with the same database. Instead, create a blank or dummy database for the secondary server installation. After the successful installation, change the secondary node database details. For more information, see  How To Change Smart Reporting Repository Database HostName On Existing Deployment.

The installation may overwrite the existing tables. Hence, BMC recommends installing the secondary node with a dummy database. If it is not possible to create a dummy database, then you can clone the primary server. 

Click to view a quick video for an example on setting up BMC Remedy Smart Reporting as a cluster.

  1. To set up BMC Remedy Smart Reporting as a cluster (Tomcat only), perform the following steps:

    Note

    Before you configure the cluster, ensure that all the severs in cluster are in same time zone and are in sync. Also, ensure that BMC Remedy Smart Reporting is installed on all the nodes pointing to primary node repository.

  2. Install the BMC Remedy Smart Reporting on each node.

  3. On each node update the web.xml file located at <SmartReportingInstallDir>/appserver/webapps/ROOT/WEB-INF:  

    1. Update and add the following: 

      <!-- Cluster Management --> 
      <servlet> 
      <servlet-name>ClusterManagement</servlet-name>
       <servlet-class>com.hof.mi.servlet.ClusterManagement</servlet-class>
       <init-param>
                  <param-name>ClusterType</param-name>
                  <param-value>DYNAMIC</param-value>
       </init-param>
       <init-param>
                  <param-name>SerialiseWebserviceSessions</param-name>
                  <param-value>true</param-value>
       </init-param>
       <init-param>
                  <param-name>CheckSumRows</param-name>
                  <param-value>true</param-value>
       </init-param>
       <init-param>
                  <param-name>EncryptSessionId</param-name>
                  <param-value>true</param-value>
       </init-param>
       <init-param>
                  <param-name>EncryptSessionData</param-name>
                  <param-value>true</param-value>
       </init-param>
       <init-param>
                  <param-name>AutoTaskDelegation</param-name>
                  <param-value>true</param-value>
       </init-param>
       <load-on-startup>11</load-on-startup>
      </servlet>

      If you are upgrading to Remedy Smart Reporting version 19.02, then in the web.xml file,  under Cluster Management, add the following code:

      <init-param>         
      	<param-name>TaskTypes</param-name>         
      	<param-value>      
      	REPORT_BROADCAST_BROADCASTTASK,
      	FILTER_CACHE,  
      	REPORT_BROADCAST_MIREPORTTASK,     
      	SOURCE_FILTER_REFRESH,
      	SOURCE_FILTER_UPDATE_REMINDER,
      	ORGREF_CODE_REFRESH,
      	THIRD_PARTY_AUTORUN     
      	</param-value>
      </init-param>
      <init-param> 
         <param-name>MaxParallelTaskCounts</param-name>
      	<param-value>            
      	5,        
      	5,
      	5,
      	5,
      	5,          
      	5,
      	5
      	</param-value>
      </init-param>
    2. On the MIStartup Servlet block, update the following: 

      <init-param>   
      	<param-name>DisableTaskScheduler</param-name>   
      	<param-value>TRUE</param-value>
      </init-param>

      Note

      In a clustered environment, each Smart Reporting node is configured by default to run background tasks that also includes publishing reports. This could result in sending the reports multiple times. Thus, it is recommended that you enable the background tasks on only one node. You can do this by changing the param-value to FALSE and save the web.xml file. Additionally, if the AutoTaskDelegation parameter is set to true, the background tasks are automatically delegated to the next available node if the server goes down.

    3. Comment the following: 

      <servlet>              
      <servlet-name>SystemTaskManager</servlet-name>             
      <servlet-class>com.hof.servlet.SystemTaskManager</servlet-class>             
      <load-on-startup>8</load-on-startup> 
      </servlet>
    4.  Add <distributable/> tag
      The following is a sample snippet: 

      <web-app>             
      <distributable/>              <!-- System Event and Debug classes -->             
      <listener>                         
      <listener-class>com.hof.servlet.SysSessionListener</listener-class>                               
      </listener>
    5. Perform this step if HTTPS traffic is offloaded at Load Balancer and Smart Reporting is configured to run on HTTP:

      In the server.xml file (Tomcat configuration file), set the HTTP Connector proxyPort and scheme to the values displayed in the following code snippet. The path of server.xml file is <AR Installation Path>\SmartReporting\appserver\conf\server.xml

      <Connector 
       port="8080"
      protocol="HTTP/1.1"
      connectionTimeout="20000"
      proxyPort="443"
      scheme="https"
      disableUploadTimeout="true"/>

      proxyPort is the port of the LB (F5)


    6. Add the following lines of code to the catalina.sh file:

      JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
      JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_addr=<multi-cast IP Address>"
      JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_port=<multi-cast Port>"
      Example:
      JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
      JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_addr=228.0.0.5"
      JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_port=5555"
  4. After the cluster is set up, on board the tenant.
    For more information, see  Onboarding users and importing content in BMC Remedy Smart Reporting .  

Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Worawut Ekarat

    Reading the note at 3.b but got confused which param to edit actually. Thanks.

    Apr 19, 2016 06:31
    1. Prachi Kalyani

      Hello,

      In the web.xml file update the value for DisableTaskScheduler parameter to True in the MIStartup Servlet block.

      Hope that helps!

      Thanks,

      Prachi

      Apr 20, 2016 02:13
  2. Doug Blair

    These instructions appear to be written for an installation that uses the tomcat bundled with SmartReporting running on Linux (assumed because of the catalina.sh instead of .bat file). Our F5 team requires our own tomcat so we can control the context part of the URL, which is what the F5 uses to route requests to our SmartReporting cluster. On our Windows VM, using our own tomcat, it's not clear where these changes should be made.  I've got a couple of web.xml's, but no WEB-INF in the reporting application. Have any guidance for users trying to cluster SmartReporting using a non-bundled tomcat?

    May 11, 2017 09:19
    1. Anagha Deshpande

      Hello Doug,

      Sorry for responding late. I will check this with the SME and will inform you.

      Regards,

      Anagha 

      Jun 15, 2017 04:17
      1. Anagha Deshpande

        Hello Doug,

        Yes, this document is specific to bundled Tomcat. We are working on updating the same. Following are the paths for correct paths for the web.xml and server.xml files.

        Web.xml:
        <Tomcat Directory>\webapps\SmartReporting\WEB-INF

        Server.xml :
        <Tomcat Directory>\conf

        Catalina.bat :
        <Tomcat Directory>\bin

        Regards,

        Anagha

        Jun 16, 2017 12:17
  3. Daniele Conigliaro

    Hello. Could you please give some more information about point "f"?

    In a typical configuration with two Smart Reporting instances in a cluster under a load balancer, what's the multicast IP address and port to be used for each of the nodes?

    Thanks

    Aug 14, 2017 06:58
    1. Surabhee Kulkarni

      Hello Daniele,

      Sorry for the delay in responding.

      There is a standard range of Mcast address and ports that are not generalized. However, the only condition is that the IP and port should not be in use for other processes. In a typical scenario, if you have one Smart Reporting cluster with two nodes, then the IP and port should be same for that cluster. Using this IP and port, the SR nodes communicate with each other, So this IP and port is cluster specific and not node specific.

      Thanks and regards,
      Surabhee 

      Sep 08, 2017 08:12
  4. Allen Morgan

    Hi,

    Regarding point c. - do we comment the SystemTask block on all servers in the cluster or all but 1 ? It is not clear?

    c.Comment the following:


    SystemTaskManager
    com.hof.servlet.SystemTaskManager
    8

    Sep 25, 2017 10:21
    1. Anagha Deshpande

      Hello Allen,

      I will check this with the SME and will respond to you.

      Regards,

      Anagha

      Sep 25, 2017 11:23
    1. Vrishali namdev Galinde

      Hi Allen,

      You need to comment it only for one node.

      Regards,

      Vrishali

      Mar 19, 2019 01:09
  5. Andreas Mitterdorfer

    Please can you also document on how to disable cluster configuration?

    Nov 02, 2017 07:30
  6. Christopher Hutson

    For Step F - Add the following lines of code to the catalina.sh file:

    JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_addr=" JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_port=" Example: JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_addr=228.0.0.5" JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_port=5555"

    What do and = refer to, and where do we find these values? Do we use the values provided in the example or are they unique to our installation?

    Feb 21, 2018 01:32
    1. Anagha Deshpande

      Hello Christopher,

      I will check your query with the SME and will write back to you.

      Regards,

      Anagha

      Feb 21, 2018 09:55
  7. Sarah Winthorpe

    I have questions regarding the inputs, as i dont believe they should be added to the end. The video doesn't show this information.:

    A) does it matter where in the file I put this update B) If this is not in the file do we need add it in C) my web.xml has this set already D) where in the file should this be added e) where should this be added in the file, does it matter where it is added

    regard to the catalina.sh f) where abouts in the file should this be added

    Aug 31, 2018 07:16
    1. Vrishali namdev Galinde

      Hi Sarah,

      I will check with the SMEs and get back to you on this.


      Regards,

      Vrishali


      Sep 02, 2018 11:40
    1. Vrishali namdev Galinde

      Hello Sarah,

      In the web.xml file, you can add the xml tags anywhere. However, it is recommended that you add the tags at the bottom of the file. For specific tags, we have mentioned the servlet names where the tags need to be added/updated. For eg, see Step 3b.

      Hope this helps.

      Regards,

      Vrishali

      Mar 19, 2019 01:05
  8. Marcel Martins

    Hello,

    I'd like to see an example that how I setting a LB for smart reporting cluster, I didn't find anywhere.

    Regards,

    Oct 29, 2018 02:33
    1. Vrishali namdev Galinde

      Hello Martins, I will check with the SMEs if we can come up with an example and get back to you soon.

      Regards, Vrishali

      Oct 30, 2018 12:29
    1. Vrishali namdev Galinde

      Hello Marcel, I checked this with my SMEs. Load balancer is not a part of application clustering. Since it is more of an infrastructure level configuration, it is not covered under product documentation.

      Regards, Vrishali

      Mar 19, 2019 01:00