A couple of weeks ago one of our consultants in EMEA set up the Operations Center Dashboard for a customer in a clustered configuration. By this I mean, the customer wanted to ensure as much "up-time" as possible for their end users who access the Dashboard. In order to do this, multiple Dashboard instances were set up with a Load Balancer in front of it to direct users.
I am providing this post for informational purposes only, this is not something that you can call into support and request asisstance on, you will need to engage Consulting. Additionally, the details provided to me were from the Consultant and I have not verified the specific details.
To start with, the core pieces of setting up clustering for the Operations Center Dashboard is around the underlying technology we leverage, Liferay. The consultant researched the set up details on the Liferay site.
The example below uses a two node example, ie: one main NOC server and two Dashboard servers. The customer the consultant was doing the work for elected to use the F5 Network Load Balancer which the customer did the actual configuration on that side.
The first step towards clustering two dashboard servers is to create the Dashboard configuration database on a database server. Currently NetIQ supports either Microsoft SQL Server or Oracle for these configuration databases. Depending on which database used, you first need to create an empty database on the database server. Before you set up Dashboards to use a database the Dashboard server has to have been started at least one time to initialize the hypersonic database.
This example will cover setting up a database for MS SQL Server. Perform these actions on both Dashboard servers in your environment.
1. Create a database on your MSSql server.
2. SQL Server: Run the following scripts against your SQL Server database.
NovellOperationsCenter_install_path/Dashboard/data/scripts/create-sqlserver.sql
NovellOperationsCenter_install_path/Dashboard/data/scripts/init-sqlserver.sql
3. Add the following content to \NovellOperationsCenter_install_path\Dashboard\server\webapps\ROOT\WEB-INF\classes\portal-ext.custom.properties
#
# SQL Server
#
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://<db server hostname>:<port>/<database>
jdbc.default.username=<username>
jdbc.default.password=<password>
This will set up the connection to the database.
4) Next step is to set the QUARTZ jobStore to be cluster aware. Add the following lines to \NovellOperationsCenter_install_path\Dashboard\server\webapps\ROOT\WEB-INF\classes\portal-ext.custom.properties
#
# Set QUARTZ jobStore to Clustered
#
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
5. The final step is to enable a cluster aware cache for both servers. This is needed to assure that if the contents changed on one server, the other server will refresh its cache as well.
5a. Create a directory called \NovellOperationsCenter_install_path\Dashboard\server\webapps\ROOT\WEB-INF\classes\myehcache
5b. Extract \NovellOperationsCenter\Dashboard\server\webapps\ROOT\WEB-INF\lib\portal-impl.jar into a temporary directory and copy the following two files
ehcache\hibernate-clustered.xml
ehcache\ liferay-multi-vm-clustered.xml
to
\NovellOperationsCenter_install_path\Dashboard\server\webapps\ROOT\WEB-INF\classes\myehcache\
5c. Add the following lines to \NovellOperationsCenter_install_path\Dashboard\server\webapps\ROOT\WEB-INF\classes\portal-ext.custom.properties
#
# Enable ehCache
#
net.sf.ehcache.configurationResourceName=/myehcache/hibernate-clustered.xml
ehcache.multi.vm.config.location=/myehcache/liferay-multi-vm-clustered.xml
Start up the Dashboard servers and login as user with admin rights. Add a portlet on one of the servers. Login to the other Dashboard server and verify that the changes have been applied to this one as well.
With anything, there potentially are other things that need to be configured and/or setup. One example is setting up the Load Balancer. The final steps to set up Clustering for the Operations Center Dashboard is to configure the Load Balancer. The Load Balancer needs to be set up to monitor the dashboard server to determine if it is up and running. One simple (and not 100% the only way to determine "up") is to have the Load Balancer monitor the web port of the Dashboard. There are other indications such as the Dashboard log file and potentially even writing a small utility to make Web Services calls to the specific server to validate proper responses.
This concludes the set up overview for configuring the Operations Center Dashboard within a Clustered environment. The steps provided above have not been certified but should be accurate. Additional details on configuring the clustering can be found on the liferay site within their documentation as well as the forums. Lastly, our Consulting team can be leveraged to assist you in a more formal capacity to understand the full set of requirements and propose solution options.
Posted
Sep 12 2012, 08:35 AM
by
Tobin Isenberg
Filed under: sql server, tips, NetIQ, IT management, Availability, Microsoft, BSM, Business Service Management, Operations Center, Novell, Oracle, Business Services, Load Balancer, Clustering, High Availability, NOC, Tobin Isenberg, Dashboard, Liferay, Database, Consulting, F5 Networks, Data Center Solutions