Enterprise RTView® 
User Guide


High Availability Deployment

AJAX/Flex Thin Client with Display Server and Data Server(s)

This deployment is used when a browser interface is desired and nothing need be installed on the client except a browser. Optionally, the Flash plug-in must be installed if Fx objects are used.

This high availability configuration, as shown below, is ideal for larger deployments when there are fifty or more potential concurrent users, a large usage of cache or alert definitions, and/or large amounts of data are being aggregated before they are pushed across a network to be displayed. The Display Server acts to serve client display requests, but Data Server(s) provide data access, data aggregation, data caching and alert rule execution. See the High Availability Display Servers and High Availability Data Servers sections for configuration details.

Note in the diagram below, that the load is distributed to multiple application servers running rtvservlet. Display Servers are stateless when utilized strictly for handling client requests and serving up real-time dashboards, therefore it is possible to balance the load between multiple Display Servers in order to handle large numbers of concurrent client users. Notice that each load balanced Display Server points to the same Data Server; this is to preserve the state of the data which may include Cache and Alert states.

 


High Availability Configuration with Apache and Tomcat

The diagram and example that follow detail how to configure this high-availability deployment with Tomcat 6.0.18 and Apache 2.2.9.

1. On BackendHost1, in Tomcat's server.xml file, modify the Engine entry by adding a jvmRoute attribute:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

2. On BackendHost2:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

3. On both BackendHost1 and BackendHost2, un-comment the following line in Tomcat's server.xml file:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

This enables tomcat clustering. Client session information is shared between the redundant rtvdisplay servlets. So, if the rtvdisplay login feature is enabled, clients won't need to login again if a servlet failover occurs. For more info see http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

4. In rtvdisplay/web.xml, un-comment the following line so that the rtvdisplay servlet will use clustering:

<distributable/>

5. Use make_war.bat to rebuild rtvdisplay.war, then deploy it on BackendHost1 and BackendHost2.

6. On the host running the Apache webserver (load-balancer), make the following changes to the httpd.conf file, to enable load balancing:

  • Un-comment the LoadModule line for all mod_proxy modules: proxy_module, proxy_ajp_module, proxy_balancer_module, proxy_connect_module, proxy_ftp_module, proxy_http_module.
  • Define a proxy for the balancer group of rtvdisplay servlets. The name of this proxy (rtvdisplay) is the name by which clients will access the servlets.

# proxy for rtvdisplay load balancer.
ProxyPass /rtvdisplay balancer://rtvdisplay_cluster stickysession=JSESSIONID

Note: use same name (rtvdisplay)# as actual workers, otherwise JSESSIONID path may not be found by browser.

  • Define the workers (servlets) for the rtvdisplay balancer group. The default tomcat ajp connector on port 8009 is used. Note that the value of "route" for each BalancerMember must match the entry in the corresponding server.xml entry for tomcat, as described above.

# list of actual workers for rtvdisplay_cluster
# (route must match jvmRoute in Engine entry in server.xml
# for the correpsonding tomcat instance!)
<Proxy balancer://rtvdisplay_cluster>
        BalancerMember ajp://BackendHost1:8009/rtvdisplay route=tomcat1
        BalancerMember ajp://BackendHost2:8009/rtvdisplay route=tomcat2
</Proxy>

# enable balance-manager
<Location /balancer-manager>
        SetHandler balancer-manager
</Location>

 

 
Enterprise RTView contains components licensed under the Apache License Version 2.0.

 

Treemap Algorithms v1.0  is used without modifications and licensed by MPL Version 1.1. Copyright © 2001 University of Maryland, College Park, MD

 

Datejs is licensed under MIT. Copyright © Coolite Inc.

 

JCalendar 1.3.2 is licensed under LGPL. Copyright © Kai Toedter.

 

jQuery is licensed under MIT. Copyright © John Resig,

 
JMS, JMX and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. They are mentioned in this document for identification purposes only. 

 
SL, SL-GMS, GMS, Enterprise RTView, SL Corporation, and the SL logo are trademarks or registered trademarks of Sherrill-Lubinski Corporation in the United States and other countries. Copyright © 1998-2009 Sherrill-Lubinski Corporation. All Rights Reserved.