Overview of BizTalk Health Monitor (BHM)


You probably already know or use “MsgBoxViewer” (aka “MBV”), a windows based application gathering all information of a BizTalk group and detecting any issues, non-critical or critical warnings. It is vital for a BizTalk administrator to have complete and detailed knowledge of a BizTalk group at any time, and detect any potential problems in advance. MBV has been perfectly achieving this task; but it remains a separated tool with its own user interface and HTML output and you have to run it periodically.

After releasing MBV as a standalone tool for several years,  the MBV project team decided to integrate it more closely with the BizTalk Administration Console to provide BizTalk administrators  a quick and complete dashboard of a BizTalk group which will help them monitor the health of their BizTalk platform.

 A new BizTalk snap-in, named “BizTalk Health Monitor” (aka “BHM”), has so been created to help you easily monitor the health of your BizTalk environment. BHM is based on the same engine as MBV. This snap-in can be added to the existing BizTalk Administration Console or can be run individually in its own MMC window. Visit this post to learn more about how to register the BHM MMC with BizTalk MMC.

 The first version of BHM is included in BizTalk 2013 R2 in the “Support tools” folder but updates will be released periodically with new features (and fixes if needed). The first update is almost ready and should be available soon.

 Following are the major features of BHM:

  • Monitor Multiple BizTalk Environments
  • Generate and View MBV reports
  • Dashboard view for overall health of BizTalk Environments
  • Schedule Report Collection
  • Send Email Notifications
  • Performance Monitor integration with pre-loaded scenario-based Performance counters
  • Report Management


Below is the detailed list of these features but we will go more in-depth for each feature in future posts.


Monitor multiple BizTalk Environments

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.

This feature allows you to monitor multiple BizTalk platforms  like Production and Pre-Production BizTalk groups from single MMC.


Generate and View MBV report

 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 of the BizTalk group, evaluating a set of rules for each of them, and raising any warnings (critical or not) if there is any.
Note: The engine, the queries, and rules repository are the same as used by MBV.


 Each time an analysis process is completed, a child node report is added in the group node. Each child report has further sub-nodes to present the collected information:

  • Critical Warnings
  • Warnings
  • Summary
  • Topology
  • Queries

This sub-nodes list details depends on the level of information you selected to display in BHM. The property page Information level of the group node settings allows you to select which sub-nodes you want to display for each generated report, and the level of information to collect during the analysis process (as shown below). The more queries you select to include in the analysis, the more information and potentially more warnings BHM will raise.

You can so customize as you want the level of information to analyze and display in BHM for each added group node.


This is for example the output of the Topology sub-node :


Dashboard view for overall health of BizTalk Environment

 The output of the “Analyze Now” action will also generate a dashboard (as shown below) presenting a quick summary all the information you need to know about the BizTalk platform. We have categorized the information under different tiles as their names suggest. Each tile will be presented with a small icon on the bottom right of the tile which represents the overall health of that category. A green right mark shows that this category is healthy. A yellow exclamation sign represents some non-critical warnings whereas a red exclamation represents some critical warnings which need immediate attention. You can click on these tiles to get additional details on the lower pane.



Schedule Report collection

 A BizTalk platform processing messages 24×7 needs to be monitored at least daily. BHM provides you a way to create a scheduled task to automate a periodic collection of BHM report.

The property page Schedule of the group node settings provides an option to enable a scheduled analyze. This schedule task can be of course modified then in the Windows Task Scheduler.



Send Email Notifications

Receiving by mail the list of warning that MBV generates is a feature that has been demanded by lot of MBV users. We have incorporated this feature in BHM where you have an option to send the dashboard and the list of warnings to an email address after a fresh analysis.

BHM provides so an option to send automatically by mail the dashboard and the list of warnings after a fresh analysis. You can enable and configure this feature from the property page of the group node settings (select the “Settings” menu item when right clicking on a group node). An email will also be sent each time if you have scheduled the BHM report collection.

 We have also provided a Test button which you can use to test the SMTP settings you have entered. It will send a test email to make sure that SMPT settings are correct.



Perfmon integration with pre-loaded scenario based Performance counters

 BizTalk provides a large number of performance counters to monitor like the state of the BizTalk databases, the BizTalk queues, the messaging and XLANG performances, the  throttling states, the adapters performances etc…There are various such counters available but they are less known and visible to the BizTalk administrators.

 BHM directly integrates Perfmon tool in its own MMC which provides a quick and easy way to monitor these counters. Furthermore, for each group node, BHM provides you a list of predefined views with pre-selected counters that you can quickly display at any time.

BHM will let you display either the current activity of the monitored BizTalk platform, or a recorded performance activity.

  • Current activity

    When the current activity node is selected, you can choose a BizTalk server belonging to the monitored BizTalk group or any server you want. BHM provides default tabs in the current activity view with default counters but you can create your own tabs with your own counters  (right-click on tab to display the context-menu and create a new one).


  • Recorded activity

BHM can also automate the recording of a perfmon activity for a given period. You can enable and configure this feature from the property page Recorded Performance activity of the group node settings (as show below).

BHM provides you a set of pre-defined scenarios with selected performance counters and you can choose the preferred scenario. You can also add your own counters if you chose the custom scenario option. The property page allows you to configure the sample interval and the duration of the recorded activity.


Once the recorded activity is configured, BHM can automate the creation, the start & stop of a performance log file corresponding to the selected scenario. When the recorded activity is completed, you can display it inside BHM by selecting the corresponding sub-node (as show below).


Comments (34)

  1. Abhishek says:

    Chirag ,

    Have u tried running the Support tool on biztalk 2013 setup (not r2 ) just curious whether it will work on bts 2013

  2. Chirag ,

    Have u tried running the Support tool on biztalk 2013 setup (not r2 ) just curious whether it will work on bts 2013



  3. JP says:


    Have u tried running the Support tool on biztalk 2013 setup (not r2 ) just curious whether it will work on bts 2013 BHM


    yes, BHM will work also on previous versions of BizTalk and can target any versions of BizTalk since 2004, like MBV.

  4. Akshay Shaha says:

    How can we get the BHM to use for BizTalk Server 2009 ?

  5. steveculshaw says:

    Is the BHM supported for BizTalk 2010?

    And if it is, how do we get hold of it, apart from downloading 2013 R2 from MSDN?

  6. JP says:

    BHM is also working perfectly for BizTalk 2010. It is sharing in fact the Healh Check framework and repository of  MsgBoxViewer (MBV) which can target any BizTalk versions since 2004.

    BHM should be very soon available (in an updated version) on a dedicated download location

  7. pregunton says:

    Is open source ? Maybe in github or codeplex ?

  8. chiragpa says:

    Sorry this is not an open source. This is part of BizTalk Product and would be available for other versions  of BizTalk Server (2010 and 2013) soon.

  9. I tried BHM in BizTalk Server 2013 and its working fine.

  10. Hi Chirag,

    BHM snap in is a great app when it comes to monitoring a single BizTalk environment. But you cannot always have a single MMC to monitor your dev, qa, pre-prod and prod environment. This would mean that the account that you use to run the snap in should have access to all the environments and it is normally not the case. There should have been way where you provide different logons to connect to different BizTalk group through the snap in.


    Sajith C P

  11. JPAUC says:

    Thanks Sajith for this remark, it is indeed a great suggestion to implement in vnext.

    Two workarounds now :

    • Schedule  a collect using the schedule feature of BHM (specific tab in the group node settings)

    You will be able then to specify the user account to run the Windows task which will be created behind.

    The task is running BHMCOLLECT.EXE using a specific profile file corresponding to the groupe node

    The only problem  with that workaround is that you can not trigger this collect task Inside BHM so you will have to start( the task manually using either a cmd or the Windows task scheduler MMC.

    • Run multiple  MMCs , one per group to analyze,  each MMC running under its own account (spawn "MMC /32" using 'runas' cmd) but you loose indeed the possibility to add different  groups to analyze in a single MMC.

    We will think how to implement that feature in vnext; your remark about the different accounts makes sense


  12. Thanks JP for the reply. Information regarding Schedule settings and the background tool (BHMCOLLECT.exe)was helpful. I don't think they are really workaround to the original concern but is definitely helpful .Also great to know that MS will provide this feature in the next version. Looking forward to it.


    Sajith C P

  13. Mathias Van Houtte says:

    Is the mail function working? Everytime I try to use it, it gives me an error that my email not formatted correctly.

    Anyone else having this issue?

  14. chiragpa says:


    Were you able to use the "Test" functionality for email notifications? Do you get the Test email to make sure your SMTP settings are correct?


  15. Ankush says:

    The BHM still shows the cumulative updates not installed for the Biztalk Adapter packages CU1, CU2, CU3 , eventhough they are installed under the warnings section of the Biztalk Servers.This is not the case with the Biztalk Hotfixes CU1, CU2, CU3, CU4 ,CU5, CU6 as it clearly tells which is installed and which is not. Is there any problem?? Kindly suggest


  16. Tobias says:

    I've installed the standalone version on a BTS2013 box.

    When I try to add a new BizTalk Group the mmc hangs.

    Windows logs an AppHangB1 of mmc.exe.

    Any ideas?



  17. JP says:


    FYI, a new major version of BHM will be available very soon which will fix crash issues found in the current version and will bring more stability to the snap-in.

    This new version will also bring new customization features (add custom tiles in the dashboard view, add custom queries and rules,etc..).

    A new post will be added soon to describe in details these new features.

    so stay tuned


  18. Jacob Jones says:

    I have installed BHM plugin for monitoring BizTalk 2010 health & performance, but facing issue with schedule analyze part.

    When we try to schedule the tool for analysis, i.e we check the checkbox 'Schedule Analyze' with the required settings, while entering the credentials , we get the following error "Launching schtasks /Create /RU <domainuserid> /RP <passowrd> /TN " BizTalk Health Monitor{ BizTalk Group} "/F/XML " CusersuseridAppDataLocalTemptmp8DF4.tmp"

    Check the status bar for pending activity

    ERROR: A specified logon session does not  exist. It may already have been terminated.

    Please let me know if there is prerequisite setting needed from network end to go through the schedule activity process.


  19. JPAUC says:


    let me investigate that  but it is possible that this issue is already fixed in V2 of BHM that we will publish in coming days. I remember to have fixed some issues creating task.

    Please send me a mail to jpierauc@microsoft.com so I can keep you informed



  20. Steve Madden says:

    This is a fantastic tool, however I have one small issue.  When I setup the email notification, ok everything, then go back to the notification tab, it sometimes forgets the password.  Is this going to be fixed in the next version (as it's a nightmare when working in a secure split password environment)?  Also do you have an eta on when the next version will be released?



  21. JP says:


    The final build of V2 is just ready (we had to fix some misc issues found recently) and we should start asap the publication process.

    Mail notification config was improved and I don't remember to have seen this issue in v2  but I'm going to  double check that. If there is an issue and too late to fix it before publication, i can send you a fixed version later. Would you have clear repro steps to provide to me ?



  22. Steve Madden says:

    That's great JP, I look forward to the new version.

    The mail issue I can reproduce with the following:

    Set up notification with correct SMTP server, account, password etc.

    Click Test (this succeeds and I receive the test email)

    Click OK (the setting now save and I receive emails from the Scheduled Task job with no problem)

    Close the BHM MMC (save the settings on close and I still get the Task Emails)

    Without logging off, re-open the BHM MMC

    Expand the BHM tree

    Right click the BizTalk Group I had setup with Email

    Select Settings

    Click on the Notifications tab

    The password will have disappeared, the password box is completely blank with no stars in.  If I click Test, the test email will fail on authentication.  If I click Ok, the Task will fail to send the email.

    This happens on all three completely separate BizTalk 2010 platforms I am testing BHM V1 on.  I’ve also tried this with a simple MMC .MSC, and a .MSC loaded using BTSMMCLauncher.exe to include the BizTalk Admin Console with exactly the same results.

    I hope this helps



  23. JP says:

    Thanks Steve for the reoro steps

    I folllowed them but could not repro that issue on BHM v2.

    if however you still have that issue in V2 (normally oublic in few days now) there is so probably another factor causing the problem so please contact me in that caae so I can investigate and fix it.



  24. chiragpa says:

    BHM v2 is released now for BizTalk Server 2010 and 2013. Refer to this link for more details: blogs.msdn.com/…/biztalk-health-monitor-v2-released.aspx

  25. Hi JP and Chirag,

    I have tried the version 2 of this snap in. But I cannot still add a new BizTalk group with different logon in the same snap in. I understand that you have provided a new Profile enhancement where I can add the option to specify a different user under which BHM should collect the report. But the mmc crashes when I try to add a profile to a different BizTalk group for which the logon user (under which the mmc is running) does not have access to. This essentially means that I cannot have a single unified view of all BizTalk groups (test, systest, qa, prod) in one snap in when the logged on user does not have access to those environments.


    Sajith C P Nair

  26. JP says:

    Hi Sajith,

    ok let me investigate that issue

    in V2 we provide indeed the possibility to run the collect under a specific account but the creation of  a new profile wil generate a connection to the Mgmt db to get the BT servers node, so it is maybe during that step that the crash occurs.

    we will come back to you


  27. JP says:


    I think I found the issue : the dialogbox to create a new profile is not providing a way to specify the user to connect to the Mgmt db of the group, like the settings dialogobx of a existing profile.

    To fix tat, we will also add the possibility to specify a user in the new profile dialogbox.

    Please contact me directly (jpierauc@microsoft.com) so I can send you a test build.

    In the meantime, I think you can workaround that issue by editing manually an XML profile file following the steps below  :

    • Duplicate an existing profile using the new "duplicate profile" menu item
    • open a CMD window under elevated admin priviledge

    • in this cmd change the folder to "c:programdataMicrosoftBizTalk Health Monitor"

    • open in notepad the XML file corresponding to this duplicated  profile

    • modify in this xml file the value of MGMTDBSERVER and MGMTDBNAME properties to specify the location of the new Mgmt db you want to target

    • modify the value of the "DEFAULTBTS" property entering the name of one BizTalk server of that new targeted group

    • modify the value of the "ALLBTS" property entering this same BizTalk server or the complete list of all your BTS of the new targeted group, ex : Value="BTSRV1:True:True:True, BTSRV2:False:False:True"

    • save the xml file

    • Open BHM console : you should see then the new profile listed

    • Display the Settings dialogbox of the new profile and specify the user to run the collect as


  28. btsdude says:

    I'm encountering following error when BHM v3 is trying to send email after running a report or when errors occur, mail settings are working fine with test email button im getting a test email.

    is there any configuration that i'm missing any pre requisites that are required for this functionality to work







  29. jpierauc says:

    Did you specify a specific account to connect to the Mgmt Db in your profile  ?

    if yes this account will be used to send the mail after a manual analyze instead of the interactive account (used to send a test mail forf example).

    If you scheduled a collect task using a specific account, be sure that this account has also permisisons to send mail, because the send mail statement will be executed under this account.


  30. Anko Pasmooij says:

    Love the BHM tool and upgrade.

    I have a question. I've configured the schedule analyze to run every 30 minutes with a account. This works without issues. Only the dashboard itself doesn't automaticly refresh the data. If I choose refresh it display the latest analyze info.

    I'd like to display the Dashboard for FLS, is there a auto refresh option somewhere I missed ?

  31. Sanjay says:


    I have installed BHM V 3.1 and I am unable to get the complete report due to some permission issues. Can anyone please help me with the required permissions to get the complete report of BHM.


  32. jpierauc says:

    Hi Sanjay,

    BHM execute SQL queries which need SYSADMIN permission on SQL.

    It also need to have biztalk admin rights.

    BHM also execute WMI queries targeting all BizTalk servers and all SQL servers of the group and so some port need to be opened if you have some firewall rules enabled, but in such case you would get different error that access denied.

    Check the status file produced for each report to see the  access  errors.