The BizTalk Health Monitor (BHM) is a tool that can be used to analyze and fix issues in the BizTalk server environment. The predecessor of the BHM tool, the MessageBox Viewer (MBV), was initially built as a hobby project by one of the Microsoft Support Persons. BHM can identify potential issues in the BizTalk environment and let the administrators know, amongst others:
- Whether the BizTalk databases are at their optimum levels in terms of size
- Whether backup jobs are configured properly
- Whether default throttling settings are changed
- Performance issues
- Problems with custom configuration
BHM has over 400 rules to verify different things on the BizTalk server environment and gathers the results that provide information on the health of the environment. BizTalk360 takes advantage of the power of BHM and comes with a first-class integration into its architecture. So, what's different in BizTalk360? By integrating with BHM:
- Perform scheduled execution of BHM
- Reports categorized in a nicer way
Once the BHM is installed and configured in the server where BizTalk360 is running, the reports will start getting generated depending on the value set in the "Message Execution" section under "Settings". For instance, if the schedule execution value is set to 'Monday to Friday at 0900 hrs", the background monitoring service (sub-service) "BMH Schedule" will run the BMH every day from Monday to Friday at 9 AM, gather the report, persist the information in the BizTalk360 database, and display the report in a user-friendly format in the user interface. The reports will be available in a drop-down in the BizTalk Health Monitor - Reports page. When the result is selected, you can see the list of:
- Critical Errors
- Non-Critical Errors
- Header Information
- Summary Report
Configuring BHM in BizTalk360 standalone setup
BizTalk360 does not bundle BHM during installation due to the Microsoft BizTalk Health Monitor licensing restrictions. Therefore, you must manually install BHM separately in the server where BizTalk360 is installed.
Follow the steps as shown below to configure BHM:
- Download BHM Version 4.0 from this link
- Extract the files to your preferred location in the server where BizTalk360 is installed
- Run BHMSetup.exe
- Once the Installation is complete, Run the BizTalkHealthMonitor.msc file from the installed folder
- Click Analyse Now button in the BizTalk Health Monitor MMC Snap-in window
BHM Snap-in allows monitoring multiple BizTalk environments from a single MMC. When you register BHM on a BizTalk server, by default it will add a “group” node representing the current BizTalk group configured for this server. You can, however, add additional nodes corresponding to different BizTalk groups by specifying its name, the location of its Management database and the output folder.
Each group node will have its own customized settings in term of its level of information to collect, its level of information to display, its type of notifications to enable, or its type of performance data to collect.
Once a group node is added in the BHM hierarchy, you can start immediately to analyze its corresponding BizTalk group by right-clicking on the node and select the “Analyze now” menu item. The analysis consists of running a number of queries to collect all important information about the BizTalk group, evaluating a set of rules for each of them, and raising any warnings (critical or not).
Note: The engine, the queries, and rules repository are the same as used by MBV.
Once BHM is installed in the server where BizTalk360 is running, the administrator needs to configure the integration with BizTalk360. You need to run the BHM from BizTalk360 under "BizTalk Health Monitor (Reports)" section once you have configured BHM in the Settings screen.
Follow the steps as shown below to set up the integration:
- Log into the application (as a Superuser)
- Click the 'Settings' icon at the top of the page
- Click 'BizTalk Health Monitor' from the left menu bar:
- BizTalk Health Monitor Download Directory - Mention the path (the path used in 'Run' to open)
- Schedule Execution - Select the environment from the drop down for which the BHM execution has to be scheduled
- Day/Time - Select the day and time when the BHM should run automatically. For example, selecting Monday to Sunday at 0500 hrs means that the BizTalk Health Monitor will run every day at 0500 hrs
- Click 'Save'
- Select BizTalk360 Health, navigate to 'Monitoring Service Status' and observe if any exception is appearing in the exception column for BHM Schedule
- If any EULA related exception appears in the process, go to the below section and install the BHM_EULA.reg in the server where BHM is installed
- Verify once again the exception is not appearing on the BHM Console
- Restart the BizTalk360 Monitoring service under services.msc. Now the BHM data will automatically be collected
Run BHM Now
In addition to scheduled execution of BHM, BizTalk360 allows you to run BHM whenever they want to get the information on the status of the environment. When the 'Run BHM Now' button is clicked, the BizTalk Health Monitor will be scheduled to run in the next cycle (which is usually within the next 60 seconds since the BHM Schedule monitoring service is scheduled to run every 1 minute). BizTalk360 will display a message as BizTalk Health Monitor is scheduled to run in next cycle, normally within a minute or so. Check back after some time. Depending on the time taken to retrieve the result from BHM, the results will be made available in BizTalk360 within a minute or few minutes. After few minutes, you can click the Refresh button to view the results in the drop down.
Viewing the BHM Reports
Follow the steps as shown below to view the BHM Reports:
- Log into the BizTalk360 application
- Click 'Operations' tab in the Navigation panel
- Click the expand button against 'Health Check Tools' tab and select 'BizTalk Health Monitor' link.
- In the BizTalk Health Monitor - Reports page, choose the report from the drop-down
The example shows you to view BHM Reports (critical errors, non-critical errors, header information, summary report. You can select the report from the drop-down and click the export excel button to download the BHM Report.
Setting up monitoring for BizTalk Health Monitor
BizTalk360 integrates with BHM to provide administrators the ability to monitor the amount of critical and non-critical errors identified in the report. As an administrator, you can set alerts to be notified when the BizTalk Health Monitor reports critical/non-critical errors exceed a specific value, say 5 and 10 respectively. BizTalk360 can trigger a notification to your preferred communication channel (SMS, Email or any other configured notification channels) when there is a threshold violation.
- Log into the BizTalk360 application
- Click 'Monitoring' tab in the Navigation panel
- Click the expand button against 'Manage Mapping' tab and select 'BizTalk Environment' link
- Select the Alarm name (see Creating an alarm) for which you would like to associate the alerts
- In the list of system resources at the top, select BizTalk Health Monitor. You will see the Current Configuration information that was retrieved from the latest BHM Report. The system will display the current max. critical errors and max. non-critical errors
- Select the values for error threshold (Critical Errors and Non-critical errors)
- Click 'Save' to save the BizTalk Health Monitor alerts
Click the video, the example shows you to "Set up monitoring for BizTalk Health Monitor" with critical errors more than 10 and non critical errors more than 20
This issue mainly happens on a 64-bit machine. When you accept the EULA displayed by BHM, it writes the acceptance setting in the 64-bit registry hive.
But BizTalk360 is 32-bit due to restrictions imposed by dependency objects like ExplorerOM, hence it always looks at the 32-bit hive (WoW64 in a 64-bit machine). To fix this issue, please create following entry in the registry.
You can either create the above keys manually by opening regedit.exe ("Run as Administrator") or download this .reg file (unzip first) and then double-click to import.