Monitoring Load Balancing & Fault Tolerance in BW with Hawk
Fault tolerance options can be set only for TIBCO BusinessWorks processes. TIBCO Adapter services cannot be assigned fault tolerant options. You can start one or more process engines in the FT group. If more than one engine has started, only one is displayed as Running and all other engines are displayed as Standing By.
Monitoring Failover situation in BW through Hawk:
I have deployed the same bw process instance twice on my machine which are available in admin as shown below:
The Primary server is showing “Running” and the secondary server is showing “Standing by” in the admin.
The BW microagent method getHostInformation is showing the Application status as STANDBY for the secondary server bw microagent.
The BW microagent method getProcessStarters is showing the ProcessStarter status as INACTIVE for the secondary server bw microagent.
Based on this 2 methods, we can develop a hawk rulebase to monitor the failover situation from primary to secondary server. When the primary server goes down, the rulebase will trigger a mail that the process starter of FT secondary server is ACTIVE, which means the secondary bw process is in running status in admin.
Monitoring Failover situation in EMS through Hawk:
We can use the JMS_Controller:getServerInfo method to monitor the FT failover and develop a rulebase which triggers the mail.
Fault Tolerance in Tibco Adapters:
Tibco support doesn’t provide best practices to implement FT in Tibco adapters but advice to use Hawk to implement this. In this case you can send messages on the bus under certain circumstances on one server and on the other server you can get such messages to trigger your local hawk rules. About cross referencing engines deployed on different servers we have messaging microagent in hawk. As we know, a hawk agent can use and invoke only the microagents available on its own machine. To create dependencies across several servers we need extra methods like for example messaging microagent.
Advanced rules for Component Restarts
The common way is, to use a script that run the the application and you could execute this script from Hawk as part of the action part,( invoke the script with custom microagent) by testing for that specific application process count == 0.
Another way if your application can run like a service in Win platform, start the service (form Services microagent)