This documentation supports the 22.1 version of Action Request System.
To view an earlier version, select the version from the Product version menu.

Setting up Smart Reporting as a cluster

Important

BMC has announced the end-of-life plan for BMC Helix ITSM: Smart Reporting for BMC Helix ITSM and BMC Helix Innovation Suite   by April 28, 2022. For more information, see Deprecated and discontinued features.

When installing  BMC Helix ITSM: Smart Reporting in a clustered environment, consider the following points:

  • Install primary BMC Helix ITSM: Smart Reporting  server with a new or existing database.
  • Install secondary server with the database used by the primary node.
  • Two types of clusters are available: Dynamic and Repository. The Dynamic cluster stores the node information in the memory, and the Repository cluster stores the node information in the centralized database. From version 18.08, the ClusterType parameter is set to Repository.

If you have already performed the Onboarding process before the installation of the secondary server, 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 Repository Database details Open link .

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

Click to view a quick video (3:55) for an example on setting up Remedy Smart Reporting as a cluster.

To set up  BMC Helix ITSM: Smart Reporting  as a cluster (Tomcat only)

  1. Ensure that all the severs in cluster are in same time zone and are in sync.
  2. Install the BMC Helix ITSM: Smart Reporting  on each node. Make sure all nodes point to a primary node repository.
  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>REPOSITORY</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>
      <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>
       <load-on-startup>11</load-on-startup>
      </servlet>

      If the AutoTaskDelegation parameter is set to true, the background tasks are automatically delegated to the next available node if the server goes down.

    2. 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>
    3.  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>
    4. Perform this step if HTTPS traffic is offloaded at the 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 the server.xml file is ARSystemInstallationDirectory\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).

    5. (For Dynamic cluster type only) Add the following lines of code:

      Operating SystemFile nameCode
      Linux catalina.sh
      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"
      Windowscatalina.bat
      set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true
      set JAVA_OPTS=%JAVA_OPTS% -Djgroups.udp.mcast_addr=228.0.0.5 
      set JAVA_OPTS=%JAVA_OPTS% -Djgroups.udp.mcast_port=5555

      Note

      • Ensure that the multi-cast IP Address that you specify is available and the multi-cast Port is listening.
      • When you configure tomcat to run as a windows service, update the JAVA_OPTS based on the local tomcat configurations.

  4. After the cluster is set up, onboard the tenant. 

    For more information, see  Onboarding Open link . Also see the following video (1:44) about the Smart Reporting Onboarding process:


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

Comments