My Biztalk Tools blog

MsgboxViewer blog

My Biztalk Tools blog

  • BizTalk Health Monitor v2 is now available

    Hello,

    I'm pleased to inform you that BizTalk Health Monitor (BHM) v2 is now available for download on the  Microsoft Download Link Center : http://www.microsoft.com/en-us/download/details.aspx?id=43716

    The BHM team improved drastically this MMC snap-in to make it more reliable and very customizable.
    In this new version you will be able so to customize completly the dasboard view by creating your own tiles to display custom warnings, specific summary reports entries, or even queries output.
    You will be also able to add quickly custom queries and rules. These features were expected by lot of BHM users to provide more flexibility in this health check console and to use it as a centralized health application. 

    In BHM v2, you can so complete easily the query repository of BHM adding  your custom queries executing WMI, .VBS, PowerShell, .CMD or .BAT scripts.
    These queries will be stored per group node (renamed "profile" node in BHM v2).

    You can also create your own rules in addition to the native BHM rules, using a declarative method to define your own conditions and triggered actions.
    These custom rules can target existing native BHM queries but also your own custom queries of course.
    These custom rules will also be stored per profile node.

    The BHM team will continue to update periodically this MMC Snapin, adding new features of course but also completing its repository of queries and rules to be sure its output remains always pertinent in term of health check and meet the BizTalk administrators expectations.

    We will create a post in BHM blog containing a Q&A and listing some known issues met with BHM and you wil be able to report your comments and questions.

    You can visit the BHM blog for all details about this new version and its new features  : http://blogs.msdn.com/b/biztalkhealthmonitor/archive/2014/11/24/biztalk-health-monitor-v2-released.aspx



    Thanks

    JP

  • BizTalk Health Monitor v2 soon available : more reliable and completly customizable

    Hello,

    I'm pleased to inform you that BizTalk Health Monitor (BHM) v2 is finished and will be available very soon on the  Microsoft Download Link Center.

    The BHM team improved drastically this MMC snap-in to make it more reliable and very customizable.
    In this new version you will be able so to customize completly the dasboard views by creating your own tiles to display custom warnings, specific summary reports entries, or even queries output.
    You will be also able to add quickly custom queries and rules.
    These features were expected by lot of BHM users to provide more flexibility in this health check console and to use it as a centralized health application. 

    In BHM v2, you can so complete easily the query repository of BHM adding  your custom queries executing WMI, .VBS, PowerShell, .CMD or .BAT scripts.
    These queries will be stored per group node (renamed "profile" node in BHM v2).

    You can also create your own rules in addition to the native BHM rules, using a declarative method to define your own conditions and triggered actions.
    These custom rules can target existing native BHM queries but also your own custom queries of course.
    These custom rules will also be stored per profile node.

    Stay tuned so, BHM availability will be announced on the BHM blog but also on my MBV one.



    Thanks !

    JP

  • "BizTalk Health Monitor" now available in BizTalk 2013 R2

    Hello,

    As mentioned in my previous post, I inform you that a new BizTalk Health application named "BizTalk Health Monitor" is now available in BizTalk 2013 R2
    After releasing MBV as a standalone tool for several years,  the MBV project team decided indeed 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 and can be added to the existing BizTalk Administration Console or can be run individually in its own MMC window.

    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.

    Note that BHM will work also with previous versions of BizTalk targeting any versions of BizTalk groups since BizTalk 2004 ;-) 

     

    A dedicated blog was specifically created by the BHM team to provide all details about this new BizTalk health check application, how to install it in its own MMC or in the existing BizTalk console (prefered method) and how to use it, so instead to write here a long post about it, I let you read the posts below about BHM.

    Feel free to let your comments on the BHM blog.

     

    Thanks

     

    JP

     

    Overview of BizTalk Health Monitor (BHM)
    http://blogs.msdn.com/b/biztalkhealthmonitor/archive/2014/06/26/overview-of-biztalk-health-monitor-bhm.aspx

     

    Getting started with BizTalk Health Monitor (BHM)
    http://blogs.msdn.com/b/biztalkhealthmonitor/archive/2014/06/26/getting-started-with-biztalk-health-monitor-bhm.aspx

     

  • MBV updated to support upcoming BizTalk 2013 R2

    Hello,

    BizTalk 2013 R2 should be available this month.

    Even if this new BizTalk version is not a major one with really new core features, MBV had to be updated to be able to first detect a BizTalk 2013 R2 group, and second to check that the OS and SQL versions of a BizTalk 2013 R2 group are correct and so well supported.

    I had also to change some existing queries and rules related to BizTalk Cumulative Updates which assumed a BizTalk 2013 group instead of a 2013 R2 one.

    This new version is available for download as usual on my blog at the same location :

    http://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx

    I will go more in depth in a next post about the integration of MBV with BizTalk 2013 R2 with some details about the new "BizTalk Health Monitor" MMC snap-in soon available.
    so stay tuned...

    Thanks

    JP Auconie

  • MBV 13.870 is available - updated rules, dashboard and sizable UI.

    Hello,

    sorry for my silence, I recognized I have not updated MBV for a long time.

    In fact I update it frequently for our internal usage at Microsoft or for some specific customers scenarios that I meet  during my visits on customer sites, but I did not take the time until now to fix some remaining issues and publish it for public usage.

    It is the good time so to publish a new build.

    New features:

    As for each new version of MBV, this version brings new queries and updated some existing rules to check for latest CUs of BizTalk for example

    It provides also now the possibility to compress in a zip the output report and send it automatically by mail if needed (Cf my last post on version 13.662 for more details on this mail notification feature:

    http://blogs.technet.com/b/jpierauc/archive/2013/10/28/msgboxviewer-13-662-is-released-and-provides-great-new-features.aspx)

    The Dashboard section was also improved with additional information reported and provides now a complete view of all the important information of your BizTalk group.

    Finally, the main window of MBV (in its UI version so) can now be resized  to any size you want to adapt to any resolution of your analyzed  server.

    You can downbload this latest version here :

    http://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx

    Feel free to contact me if you meet some issues or have any questions regarding that version or MBV usage in general

    JP

     

  • MsgBoxViewer 13.662 is released and provides great new features

    Hello,

     

    I'm happy to make public the latest version of MsgBoxViewer which provides lot of great new features that I detail below.

    For those who don’t  dont know yet the tool, MsgBoxViewer (aka ”MBV”) is a known tool to do a complete analysis of a BizTalk group, whether it is in Production or not and supporting all versions of BizTalk since BizTalk Server 2004.
    The tool is generating friendly HTML reports containing lot of information about a BizTalk group but also raising non-critical and critical warnings.

     

    Key points of MBV :
     

    • Provided  in BizTalk 2013 and each next CU.
    • Support all BizTalk versions since BizTalk 2004
    • Safe to run in Production
    • No setup, just copy and run
    • Embeds hundreds of queries and rules coming from PG, CSS  and the Field
    • Frequently used by both customers and MS engineers (CSS, MCS, PFE) to check for the good health and integrity of a BizTalk group, and to retrieve a complete topology of the BizTalk Platform
    • Used by BizTalk PFEs to deliver Health Checks
    • Checks the integrity of BizTalk Databases and propose immediate remediation tasks to famous “Terminator” tool  (http://www.microsoft.com/en-us/download/details.aspx?id=2846
    • Provided as both a GUI and a console application. The console  version is used more  and more as a custom monitoring tool to be scheduled as a task , generating  periodically HTML reports but also sending periodically raised warnings in the
      App journal, and the warnings and dashboard in emails. It can so complement  ideally SCOM and the BizTalk Mgmt Pack to provide a complete monitoring of a Production BizTalk platform

     

    New Topology Diagram :

    MBV is drawing now a topology driagram if you choose to generate the Topology Report.
    This diagram is quite basic in its first version  but  makes easier the understanding of the topology.it will be richer in the futur versions.
    The idea is to represent graphically the topology of the BizTalk group analyzed and present the BizTalk Servers  and the SQL Servers hosting the BizTalk databases , but also the servers source or destination of messages.
    Each BTS or SQL server in the diagram provides a hyper link to display the details of the server.


    Dashboard and Warnings report can now be sent automatically by mail after a collect

    This feature was demanded by many users who wanted a periodic monitoring solution of their BizTalk Platform and be auto-alerted of warnings detected.
    MBV, in its GUI versions, provides so a profile option to enable that feature and additional options to configure a SMTP server, port, user, pwd, subject, recipients,etc.. .
    All these options are saved in an MBV profile so you can configure different values depending of the selected profile.

    Once enabled, that feature will automatically send by mail to the recipient(s) of your choice the Dashboard and the Warnings report.You do not have anymore so use a third party solution to send MBV reports by mail.
    The subject of the mail will inform if critical warnings were detected (thanks to Stephane Aubonnet, one of my customers I'm working with, for that suggestion).
    To keep sending small mails, the full MBV report is not attached to the mail knowing that the dashboard and warnings reports are enough to have a good quick view on the health of the Platform; Maybe in a next version I will provide an extra option to attach it.




    MBV GUI version provides some additional global settings

    MBV provides two more options to allow disabling the dialogbox displayed at the end of a collect and disabling the automatic open of the generated HTML report.

    Note: These options are saved in the registry and so are independant of MBV profiles.

     

     

    Header, Dashboard, and Summary/Warnings can now be saved into a SQL Database

    I found useful the possibility to store into a SQL database each main sections of an MBV report to be able then to make some statistics and be ble to compare the state of the platform between dates.

    MBV provides so, still in an MBV profile, a such option.
    Once this option enabled, MBV at the end of a collect will store in a SQL Db of your choice and on a SQL Server of your choice the Header report, the Summary Report, the Warnings report, and finally the Dashboard report.
    This process is fast, transparent for you and done automatically at the end of each collect if the MBV profile used enable that feature of course.

    The schema of the database to store these reports is quite simple and creates only 4 tables, one for each report to be saved.
    Each row of each table represents an entry in the corresponding HTML report and a "Date" column store the date of the report generation.
    You can so make simple queries to extract information about a report generated at a specific date for example.
    Querying the dasboard table can be so very interesting to compare the size of the BizTlak databases at different dates, and then using Reporting services, you can really generate nice reports about the evolution of your BizTlak platorm.


     

     

     

    MBV GUI can reload existing Header, Dashboard, and Summary/Warnings from a SQL database

    MBV, in its GUI version, provides the possibility to re-load from the MBV SQL database the main reports of an existing collect.
    The main tab "Reports" provides at the bottom a combobox which will list all the dates of the reports found in the MBV store SQL database.
    Selecting a date in the combobox will re-load so the reports and display them in the corresponding tabs of MBV.

    Note: The SQL server and SQL database used to search for these dates and reports are saved in the registry and are independant of the MBV profiles.

     

     

    You can download this new version here:

    http://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx

     

    I think really that these additional features can help you implementing a complete monitoring solution of your BizTalk platforrm, complementing SCOM  and its BizTalk Mgmt Pack,  and reduce so the risks to have critcal issues raised .
    Furthermore, the possibility to store in SQL Db the important sections of each MBV reports collected will help you to follow the evolution of your BizTalk Platform.

     

    As usual, feel free to report me your comments  & issues about the tool and any suggestions are welcome if they are useful for the all the BizTalk community

    Thanks !

     

    JP

     

     

  • MBV Customization - Options and Profiles

    Hello,

     

    When  I discuss about MBV with my customers, I notice that they are very interested by the possibility to customize MBV so I would like to start a set of posts around the MBV customization.

     

    In that post, I will talk first about MBV options and the notion of Profiles :

     

    MBV options

     

    MBV, in the "Global properties" tab (renamed '"Options" tab in the upcoming build 13.30) of its UI version,  provides a list of global options that you can  modify to change some MBV settings.

    Some of these options are common to the custom Health Check framework that MBV is using, like the "SQL , WMI, or VBS Timeout", "Report Title" ,etc..and others are specific to the Repository currently loaded.

    Remember that MBV is somewhere a generic Health Check application  loading a product repository (BizTalk in the case of MBV) containing some queries and rules to process, and using a common Health Check Framework (running the queries and processing the rules).

    The options specific to the BizTalk repository are for example "BizTalk Mgmt DB server", "BizTalk Mgmt DB Name", or the option "Log Msg Flow Report".


    This is a list of available MBV options as they appear in the UI version of MBV :

     

     

    Some of these global options allow to customize the output of the MBV report :

     

    - Log Query Reports

    - Log Topology Report

    - Log Summary Report

    - Log Dashboard Report

    These options allow indeed to include or not some reports in the MBV output files.

    By default they will be all included but you can for example decide to not include the Topology Report in the output files (because you have it already) .

    You can also decide to not include the result of the queries executed and keep only the Warnings, Summary, and Dashboard Report so you can disable the query report generation.

    You can even keep only the Warnings and Dashboard reports.


    This customization allows you to generate more compact output files which will be more easy then to analyze. 

     

     

    MBV Profiles

     

    MBV has a notion of profile than you can load to reuse a set of options and queries.

    All the MBV options described above, the selected  queries, the custom query properties, the selected rules and any created custom rules are saved in the current loaded profile when exiting MBV.

    A profile is physically saved in a file named "MBVSettings_<profilename>.xml ".

    You can see quickly the available profiles in the combobox "Current Profile" in the right pane of MBV UI :

    A

     

    - That Profile combobox contains the default profile, some predefined profiles '"Minimum" and "Full", and also the available custom profiles :

    The "Default" profile is managed physically by the file MBVSettings.xml and is the profile loaded when MBV is started.Any change in that profile will be reflected at the next MBV Startup.

    When selected, the Minimum profile selects only the queries of the "Important" category  and the Full profile selects ALL the queries of all query categories. These predefined profiles provides so a quick way to do a quick collect or a complete one.

    The created custom profiles available in the MBV current folder will appear then in the combobox.


    - The button "Save As" allows to save the current profile under a new named  profile.

    You can so define your own custom profile selecting the queries you need, definining your own values fore some query properties, and even creating your own rules, and then save this selection in a custom profile than you can reload after.


    - A custom profile or a predefined one can be selected quickly via the combobox in UI version of MBV but can also be used with the Console version of MBV using the "-PROFILE:" parameter :

     

    Ex:

    "MBVConsole -PROFILE:MBVSettings_DailyCheck"

    "MBVConsole -PROFILE:MINI"

    "MBVConsole -PROFILE:FULL"

     

     

    Profile and Header report

     

    The header section of a report generated by MBV will contain the name of the profile used for the collect  :

     

     

     

    Profile scenario sample 

     

    A good example of profiles usage is if you decide to Schedule MBV periodically (daily, weekly,etc...).

    If you want to schedule MBV every day morning and evening for example, you can use the Windows Scheduler to start periodically MBVConsole.exe using a specific custom profile to load.

    In that case, when entering the program to start in the Action of the Scheduled MBV task, you can specify in the "Add Arguments" field the profile to load  :

     

    Ex:

      -PROFILE:MINI

    or

    - PROFILE:MBVSettings_MyProfile 

     

     

     

     Summary

     

    Both MBV UI and Console versions are sharing a same Health Check framework that provies a profile mecanism to reuse a set of settings.

    An MBV profile is just a settings file keeping all the global options of MBV, a set of selected queries and rules, custom query properties and custom rules.

    MBV UI allows to change the global options and select the queries and rules to execute and allows to save such selection in a reusable profile, and both MBV UI and MBV Console can then load either the default profile, a predefined profile (Mini or Full), or any custom profile.

     

     

     

    I hope really that this post will push you to play with MBV options and profiles to customize MBV according to your own needs.

     

    In a next  post, I will talk more about some specific global options wihch are intresting to change in some specific scenarios.

     

    Thanks

     

    JP 


     

     

     

     

     

  • MsgBoxViewer 13.20 is available : Improved UI, new Dashboard report, predefined profiles

    Hello BizTalk community,

      

    I continued  to work on MBV since its recent version 13, improving its UI and updating again its repository (queries and rules).

    I also fixed some issues that were reported to me and I added some interesting features :

     

    1) MBV provides now a new section named "Dashboard report".
    This section contains in fact all indicators considered as critical for the good health of a BizTalk group  and will allow you to have a very quick view of the state of your BizTalk System.
    This view was missing from my experience spent with some BT admins; indeed, the existing “Summary Report” section contains already lot of important information but we don’t know obviously what is crucial to monitor among that volume of information  and what is reflecting the good health of a BT System.
     This Dashboard section takes so only some important entries of the Summary Report  and isolate them in a specific section.
    Idealy I would appreciate to have also a such view in one tab of the Hub  page of the BizTalk console, showing quickly the number of total messages in all MsgBox queues, the used space of the BizTalk databases, the state of the jobs,etc... ;-)


    This is a sample view of that section :

     

    Dashboard Report   

    Item Caption Item Value
    BizTalk Databases - Sizes  
    Total DB Space Used  for MGMT DB "BizTalkMgmtDb" on MJPAUCLT 12.00 MB
    Total DB Space Used  for MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 8.84 MB
    Total DB Space Used  for DTA DB "BizTalkDTADb" on MJPAUCLT 7.66 MB
    Total DB Space Used  for BAM PRIMARY IMPORT DB "BAMPrimaryImport" on MJPAUCLT 6.69 MB
    Total DB Space Used  for RULEENGINE DB "BizTalkRuleEngineDb" on MJPAUCLT 3.22 MB
    Total DB Space Used  for SSO DB "SSODB" on MJPAUCLT 5.67 MB
    BizTalk Host Instances  
    Total Host Instances 2
    Total Host Instances Running 1
    Total Tracking Host Instances Running 1
    MJPAUCLT: BizTalkServerApplication (PID:4524.000) Memory = 73863170.000 bytes, Thread Count = 76.000
    Ports, Pipelines & Orchs  
    Total Receive Locations 3
    Receive Locations disabled 2
    Total Send Ports 2
    Send Ports stopped 0
    Total Orchestrations Deployed 4
    Orchestrations stopped 0
    BizTalk Jobs  
    Backup BizTalk Server (BizTalkMgmtDb) State=Disabled,Sched=15m,No History Found
    CleanupBTFExpiredEntriesJob_BizTalkMgmtDb State=Enabled,Sched=12h,Last Status=Succeeded,Last Duration (hhmmss)=000000
    DTA Purge and Archive (BizTalkDTADb) State=Disabled,Sched=1m,No History Found
    MessageBox_DeadProcesses_Cleanup_BizTalkMsgBoxDb State=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
    MessageBox_Parts_Cleanup_BizTalkMsgBoxDb State=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
    MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb State=Enabled,Not Running,Sched=1m
    MessageBox_Message_Cleanup_BizTalkMsgBoxDb State=Disabled,Last Status=Succeeded,Last Duration (hhmmss)=000000
    PurgeSubscriptionsJob_BizTalkMsgBoxDb State=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
    TrackedMessages_Copy_BizTalkMsgBoxDb State=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
    MessageBox_UpdateStats_BizTalkMsgBoxDb State=Enabled,Sched=5m,Last Status=Succeeded,Last Duration (hhmmss)=000001
    Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDb State=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
    Longer job's duration (except 'Message_ManageRefCountLog') 000001 Sec (MessageBox_UpdateStats_BizTalkMsgBoxDb)
    DTA Tables  
    Larger table "dta_Services" - 1016 KB -59 Rows
    MsgBox Tables  
    Larger table - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT "Fragments" - 1064 KB - 33 Rows
    Total in MsgBox TrackingData table(s) - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 96 KB - 0 Rows
    Total in Tracking Body tables - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 0 KB - 0 Rows
    Total in Q tables (Work + Suspended) - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 112 KB - 10 Rows
    MsgBox Queues  
    Total Suspended Messages - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 10
    Total Suspended Resumables Messages - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 10
    Total Pending Messages in Work Q - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 0
    "BizTalkServerApplicationQ_Suspended" has most Suspended Messages 10
    MsgBox Database Integrity  
    Message Refs w/out Spool rows 0
    Messages w/out RefCounts 0
    Message Refs w/out Instances 0
    Subscriptions w/out Instances 0
    InstanceState w/out Instances 0
    Messages with RefCount = -1 0
    Messages processed  
    Today Sent = 0, Received = 0
    Service Instances  
    Ready To Run - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 0
    Active - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 1
    Suspended Non-Resumable - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 5
    Suspended Resumable - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 5
    Dehydrated - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT 0

     

    2) I also changed a little bit the size and orientation of the frames of the generated HTML files to clarify again the output.

     This is a sample of the new output :

     

     

     3) I  added finally the possibility to change more quickly the current profile in both UI and console version of MBV and added some two predefined profiles "Minimum" and "Full".

    I recall that  a profile stores the selected queries, the query custom properties, and all the MBV global options, and each profile is stored in a file prefixed by "MBVSettings_".
    At MBV UI startup a combobox is populated by all the profile files enumerated in the current MBV folder. 
    You can  so select in one click your current profile in the combobox visible on the main page of MBV UI (or as argument in MBVConsole), and also select the predefined "Minimum" or "Full" profile.
    Selecting the Minimum profile will select only the queries of the "Important" category as opposed the Full profile selecting all the queries of all the categories.

    This quick selection of a predefined profile is mush faster than checking/unchecking manually the queries in each category.

     

     
     
    This version of MBV is available as an attachment in that post.

     

     

    I look forward to have your feedbacks on that version and you can contact me of course if you want to report issue or suggestions.

     

    in next posts I will discuss more about the global options of MBV to cutomize the report according to your own needs .
    You have indeed the possibility to keep only the sections you are interested by, just by changing some global options. Stay tuned so !
     

    Thanks !

     

     

    JP

     

     

  • MBV 13 is now available and fully compatible with BizTalk 2013 !

    Hello to the BizTalk community !

     

    The last time I updated that blog to provide a new version of MBV is far but it took me a while to update MBV for BizTalk 2013 and collect ideas of new queries and rules to add.

    For your information, a first version of MBV 13 is already provided in the support Tools folder of BizTalk 2013 !
    I worked indeed with my US peers (a big thank to Mike Shea who is BizTalk Escalation Engineer in US) to produce that new version and we collaborated with the BizTalk Product group to integrate MBV in BizTalk 2013.

    A first release of MBV 13 was so sent to the Product group well before the BizTalk  2013 release and since that time we continued to update the tool with additional queries and rules, and we had to fix some queries to make MBV fullly compatible with the final version of BizTalk 2013.
    It is this last version of MBV 13 which is now available on my blog, and new update of MBV should be also available in each next BizTalk CUs.

     

    MBV 13 provides the new features below :

     

    MBV is now fully compatible with BizTalk 2013

    MBV detects the new adapters provided and the additional BizTalk version, checks the build number features specific to BizTalk 2013.


    New simplified UI

    The graphic version of MBV was refreshed and its main window was reorganized to be smaller and easier to use.
    The interface is more "flat" than before and provides so better clarity.

     

    The format of output files changed

    MBV is generating now by default a subfolder for each collect containing HTML files (and the XML and TXT ones depending of the selected options).
    The output file named "MBVOutputMAINPAGE.html" is the main file to open to start the analyse of an  MBV report and is composed of four frames : two of them present the list of the main report sections and the query categories, and the two remaining present the content of the selected section or query category.
    This new format makes much more easy the analyze of an MBV report.

     
    Additional queries and rules

    Additional queries were added in MBV 13 about CUs, SQL, BAM, ESB, EDI, etc...
    These queries and rules come from all the BizTalk community at Microsoft and my experience working with my own customers, but also from customers themselves who suggested me some ideas. 
    You are of course welcome to contact me to suggest queries and rules if I think they are pertinent for all the BizTalk community.

     

    You can find this new version attached in that post.

     

     

    I will continue updating MBV  and its query repository,following the CUs update cycle and adding some critical rules when needed. The pertinence of MBV analyze is the key of success of that tool and comes from its queries and rules.

    As usual, feel free to report me your feedbacks or submit any issues,questions or suggestions you could have about MBV.

    Thanks !

     

    JP

    Jean-Pierre Auconie
    Premier Mission Critical Engineer and BizTalk Escalation Engineer
    MCROSOFT FRANCE
    jpierauc@microsoft.com l

  • MsgBoxViewer 12 is available !

    Hello BizTalk community !

     

    long time I did not write a post on my MBV blog and update the tool ! I was indeed quite busy in my new role helping SharePoint developers but I always kept an eye on the BizTalk business and maintained strong relationships inside MS with BizTalk Support and Field/Consultants engineers.

    Some of them reported me some MBV warnings about SQL versions which were not anymore accurate because of new SQL updates.
    I also found myself  the need to update rules checking the Cumulative Upates presence for BizTalk itself, BizTalk Adapter Pack, or HIS layer. 
    Finally, I received also requests to reduce some latency when opening large MBV report files in IE.

    I decided so to work on a new major MBV version, implementing first a mechanism to generate multiple output files, updating its repository (rules and queries), its warning event mechanism , and finally fixing an issue with the MBV MMC Snapin :

    1) This new version provides now a global option (in MBV GUI)  allowing to split the output report into sub-reports file and using frames for .HTML files; that option is disabled by default  to keep generating a single report file (like in previous MBV versions).
    When that option is enabled , MBV will create a sub-folder for each new collect with the current date/time as name and will generate in that folder several .HTML files (also  .TXT  and .XML if you selected to also produce them).
    Each .HTML file corresponds to a section of a single MBV report and they will be loaded in the MAINPAGE.HTML containing 4 frames :

    - top left frame to diplay a list of main sub-reports to load in the top right frame
    - top right frame which can change depending of which sub-report you selected in the top left frame
    - bottom left frame to diplay the query categories list to load in the bottom right frame
    - bottom right frame which will contain all the time the queries report.

    By default  I display in the top right frame the Warnings sub-report and when we click in a warning to be redirected to a query report, I just expand the corresponding query in the bottom right rame so it is a very fast link and make the analyze more comfortable.
    A text status file containing all the collect activity and the errors met.will also be generated in the sub-folder.
    Console version of MBV, MBVConsole.exe,  provides now two options, /MRF and /SRF to produce either Multiple Report Files or a Single Report File.
    If you need so to generate multiple output files and analyze the output using the frame-based page, just set the global option “Generate Multiple Files” to True in MBV GUI or use MBVConsole with the option /MRF   (Multiple Report File)

    2) As requested by a major customer using MBV to monitor their BizTalk group, I updated the MBV rule engine to implement Event IDs for each warning generated as an event.
    MBV provides indeed a global option (in its GUI version) to generate Application events for its warnings, but until now all the events generated had 0 as ID value; this MBV update will generate now for each warning raised a unique ID with a base event ID range that you can choose in the GUI version of MBV.

    3) Finally I fixed an important issue occuring with the MBV MMC Snapin.
    I recall that MBV MMC is an MMC snapin to start the BizTalk "MsgBoxViewer" tool from an MMC console and display directly inside the console the generated reports with their different sections.
    MBVMMC would allow for example a BizTalk administrator to have his own custom MMC console (.MSC) integrating both the BizTalk Snap-in and the MBV one.
    If yoo look indeed at the file behind the BizTalk Administration console, you can see that it is an .msc file  containing both the Microsoft BizTalk Server MMC Snap-in and the Event Viewer one, so if you add in a same .msc both the Biztalk MMC snapin and the MBV one and save the MMC into the existing file “BTSmmc.msc” in the BizTalk install folder, you will see the MBV MMC in the BizTalk Admin console ;-)

     

    This is below so a summary of the main changes made in that MBV version :

    -  Possibility now to generate multiple output file and display the reports in a frame-based maain page
    -  Updated the BizTalk CUs rule
    -  Updated the BizTalk BAP CUs rule
    -  Added  rukes to check for  HIS kinstalltion and HIS Cumulative Updates
    -  Added more  KB rules in the events query (select the ”Max Events..”  query to see all its rules)
    -  The “Max events.. »  query targets now ALL the BTS in the group and not only the  server where MBV is running
    -  The “Network drivers »  query targets now also the BTS servers
    -  Added a query to get the operation history of BAM
    -  Added a rule checking for the failure of the BizTalk monitor job and suggesting to install CU 1 if not installed
    -  Updated the query to get versions of important dlls to get version of MQSeries, mqagent2, mqac.sys, etc…
    -  Adding two optional queries (in the “BT DBs Details” category)  to get DTA tracking info per orch and per port
    -  Generate now a unique ID for each rule raising a warning in the Event log
    -  MBV MMC Snapin was fixed

     

     you can find this new version here :

    http://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx


     

    Even if BizTalk is not anymore my core business, I want to continue updating the tool at least to follow the CUs update cycle and adding some critical rules when needed

    As usual, feel free to report me your feedbacks or submit any issues or questions you could have about MBV

    Thanks !

     

    JP

    Jean-Pierre Auconie
    EMEA SharePoint Development Escalation Engineer
    Former EMEA BizTalk Technical lead &  BizTalk Escalation Engineer
    MCROSOFT FRANCE
    jpierauc@microsoft.com 

  • Integrate or Schedule MBV reports

    Hello BizTalk users !

     

    long time I did not write a post on my MBV blog ! ;-)

    Indeed, as mentioned in my previous blog I moved one year ago to SharePoint development business assisting my customers in their development around SharePoint, and also debugging and interacting with our SharePoint Product group to push for some hotfixes when needed, and I was very busy with that new job . Another wide product so for me to learn but the same type of challenges than for BizTalk ! ;-)

    Coming back to MBV blog and this post, I thought it was needed to update more frequently my blog and talk for example today about the way to automate or schedule MBV reports, and also discuss about its possible integration with other products.


    Schedule MBV reports

    Maybe you don't know but MBV is provided in two modes : a GUI mode and a console one.

    The filename for the GUI application is MsgBoxViewer.exe, just like the name of my tool, and the filename for the Console application is MBVConsole.exe and, as the name implies, represents the console version of MBV tool.

    Knowing that the console version starts immediatelty by executing its queries and rules (without so pressing any button or validation process), you can realize that it is easy to spawn or trigger MBV from another tool, or even to schedule MBV to start it periodically using for example the Windows Scheduler or any other scheduler tool.

    MBVConsole.exed provides some optional parameters to specify for example the output directory, or if you want also generate .XML file,etc...
    Just type "MBVConsole /?" to display the list of possible options.


    Let me clarify now the way MBV manages its settings :

    MBV is keeping all its settings (global options) and also the list of selected queries and rules in a file named MBVSettings.xml.
    Both Console and GUI applications will generate this file on their exit but only the GUI MBV application allows in its UI interface to modify MBV options (listed in the tab "global properties") and allows to choose the query and rules to execute.
    Open that file to give you an idea of the type of properties MBV is keeping there.

    Because both the Console version and the GUI one load the same settings file when found in the MBV folder, you can use so GUI application to configure the options and select the queries you want and updating the MBVSettings.xl file, and then MBVConsole can reuse it to run only the queries you selected ;-) just be sure howeever that the MBVSettings.xml file is present in the same folder than MBVConsole.exe so it can find and load it.

    As I said above, you can so now start MBV from a parent tool or include MBV execution in some batch file, or even schedule it.

    Read for example the interesting blog of Richard Hallgren http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-reports-via-e-mail/ to receive scheduled MBV reports via e-mail. 
    At the time Richard wrote his post, MBV console filename was btsdbcollect.exe so you will have to replace it with its new name MBVConsole.exe

     

    Integrate MBV reports

    I notice that there is some more and more demand to integrate MBV output (the Warning sections of its html report for example) in other tools.

    - If you don't use already that option, I would like to let you know that MBV offers you the posibility to generate all its warnings in the Application Event log of the server executing MBV, just read one of my previous posts detailing that option :

    HOW TO use MBV as a periodic Monitoring tool alerting user of warnings
    http://blogs.technet.com/b/jpierauc/archive/2009/03/23/mbv-how-to-use-mbv-as-a-periodic-monitoring-tool-alerting-user-of-warnings.aspx
     

    - Using the "Generate XML" global option of MBV, you can ask MBV (in both the GUI and Console Applications) to generate also its reports in .XML format using a specific schema, and you can then develop any parsing tools you want to parse the .XML and produce the output you want in your own tool.
    If you want to see now a great example of a such nice integration of MBV reports in another tool, I would personnally recommend to have a look on BizTalk360 product :  http://www.biztalk360.com  and read specially this article from Saravana :

    Message Box Viewer - BizTalk360 Integration
    htttp://blogs.digitaldeposit.net/saravana/post/2011/10/11/Message-Box-Viewer-BizTalk360-Integration.aspx


     

    Well, I finished that post and I hope that it can help you or give you some idea in some possible MBV integration or MBV automation.

    I admit that I did not touch my blog for a while but keep an eye on it as I will inform you there of an upcoming next build of MBV with some additional rules

    Thanks !

    JP 

  • MsgBoxViewer 11 - Compatible for BizTalk 2010

    Hello

    A long time I did not update my blog to announce a new version of my tool !  :-)

    One of the reason is that I just changed of business to become an Escalation Engineer in SharePoint Developement Support; a lot of work and topics to learn in perspective so but I wanted to enlarge my skills set.
    I change of business but I still continue to have an eye on BizTalk of course :-)

    I also spent some time these past months with my former BizTalk colleagues to try to identify  a process and people responsible for futur MBV updates, and help for quick and easy next updates of MBV.
    I had so to change the MBV architecture and redesign completly my tool MBVQueryBuilder to make the query or rules update a task much more easy.
    Next MBV updates might be done so mainly by the Biztalk Support team with my contribution.

    Finaly I spent time to  update MBV to make it compatible for BizTalk 2010 (the Class Settings query reported indeed wrong changes for example) and this is this new version that I put here


    This version  brings also two major changes :

     
    1) MBV is compiled now to target .NET 2

    You can ask yourself why MV was targeting until now only .NET 1.x ?? it is for the simple reason that MBV remained always compatible for BizTalk 2004 and that it should be able to run on BizTalk Server 2004 Servers where only .NET 1.x could be installed

    This change means so that it can not run anymore on a BT 2004 box with ONLY .NET 1.X installed, but honestly do we meet frequently such configs now  ? :-)  and anyway you know that you can run MBV on any type of Servers and not only BT ones
     
     
    2) MBV is not anymore a single .EXE but it is composed now of the following files:

    o   MYHC.DLL : Implement my custom Health Check engine

    o   MYHCQUERIES_MBVQUERIES.DLL : Contains the entire MBV repository and custom Query functions to analyze a BizTalk Group      

    o   MSGBOXVIEWER.EXE : GUI MBV Client tool

    o   MBVCONSOLE.EXE : Console MBV Client tool

     
    Reasons for this split are mainly the following ones:

    o   Query repository grow too quickly, need so to separate it from the clients .exe
    o   Health Check engine should be updated w/o the client tools using it
    o   Need to update easily MBV Repository w/o recompiling the client tools
    o   As MBV is just a client tool of my generic health Check engine, it can load any type of Query repository (DLL or XML) and not only the BizTalk one
     
    You have the right to prefer the single binary version so in this case I can only suggest you to keep using  the old build :-) but you will not benefit of additional rules and queries


    you can find this new version  here :

    http://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx

     

    As usual, feel free to report in this blog your feedbacks on the tool, your suggestions for new features or improvements, and any kind of problems you could meet using MBV

    and many thanks to all of you who already sent me good feedbacks  ! ;-)

     

    JP

     

    New Features :


    -          Compatible for incoming BizTalk 2010
    -          Add additional query to get retrieve part of Biztalk 2010 Dashboard Settings
    -          Detect if CU3 is installed on each BT Server
    -          Get Perfmon counters for ALL BT Servers (and not only the local server)
    -          Get Perfmon counters for MsgBox Db SQL Servers (SQL General statisitcs, SQL locks, SQL Databases)
    -          Add order delivery and other port settings in the "Send ports" query
    -          Add query to get custom settings of each Send Port: Not checked by default
    -          Add query to get custom settings of each Receive Location: Not checked by default
    -          Check for small or default value in WCF ReceiveTimeout  binding property
    -          Check for MQS port configured w/o Tx
    -          Check for WMI prop “ClearAfter” too large value : Error CLSID_PropertBag
    -          Format better BAM config info report output
    -          Added Latest new MSDTC /COM+ packages version info
    -          Get Last X rows from Spool and Instances  tables : rows number is configurable as a query property
    -          Raise a warning in MBV if the CustomSD key is found under HKLM\System\Current Control Set\Services\Eventlog\Application
    -          Rule to check for KB  980560
    -          Rule to  check for KB  979709
    -          Rule to check for KB  979095
    -          Add more info in the “BizTalk Group” category of the SUMMARY REPORT section
    -          Improved query to get sucessfully all GAC assemblies
    -          Updated  Latest BT Mgmt Pack version check
    -          Get Pipeline ID in Pipeline Query Report
    -          Get the Transport Type used in “WCF Custom” port
    -          Redesigned the DialogBox UI to add custom Rules and be able to raise different type of actions
    -          Redesigned the main dialogbox of MsgBoxViewer.exe (gui version)

  • New MBV builds : Lot of additional queries and fixes

    Hello,

     

    I updated today a new build of MBV.

    With the previous one published few weeks ago, MBV brings now lot of new interesting queries and fixes (see below the complete list).

     

    As interesting new query, MBV is parsing now your SQL Error logs for critical errors and raise corresponding warnings if found.

    MBV is reporting now also the SQL agent log containg any errors if the BizTalk jobs are failing.

    MBV includes also now the "tempdb" inf Db analyzed so you can see quickly in MBV report the size and  files info about your temp. Knowing as important the tempdb is, it can be useful to have this info in report as well.
    I added also again some new parsing rules for the Eventlog query identifying so possible know issues bases on the event source, event ID, and the event message contain.

     

    Feel free so to use now latest version on my blog (http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx) containing these features and report me your comment or bugs found

     

    Thanks !

     

    JP

     

     

    New Features:

    - Include "Tempdb" info  on the "Dbs infos", "Dbs Files", and "Dbs Space" queries
    - Query to get list of IIS App pools with their owning Applications and check if an Application is a BizTalk Receive Location
    - Query to get list of Web sites with all their propertes App pools with their owning Applications and check if an application is a BizTalk Receive Location
    - Get list of active global SQL Trace flags
    - Query to get the SQL agent log
    - Changed the KB linked to the warning message when AllowOnlySecureRpcCalls  is not set correctly on cluster
    - Fixed HotFix queries to get also the 32 bits installed on a X64 machine
    - Display now HotFix file(s) with their version
    - Fixed the .NET config files to have also the ones from 64 bits version of the Framework
    - Get also BTSNTSVC64.exe.Config if found
    - Order by DESC the Most recent records in TDDSFailedTRRackingData table for both DTA and BAM dbs
    - Fixed an HTML display issue (report can be expanded correctly ) when we fail to connect to  some Dbs
    -  Added Autogrow rules for the "DBs File" query to check the current auto grow of BizTalk Dbs against our recommendations for MDF and LOG files- New query in “Server Info” category: “NET Config files” on all BT servers - not checked by default
    - New query in “Server Info”: “Running Processes” on all servers
    - New query in “Advanced DB Info” category: “Tracking tables Sequence Number”  -  not checked by default
    - New query in “Advanced DB Info” category:  “Tracking tables Sequence Number gaps” - not checked by default
    - New query in “Advanced DB Info” category : “Tracking tables Sequence Large BLOBs” - not checked by default
    - Provides a rule raising a warning if large table “NotEqualPredicateTables” found (known issue)
    - Provides additional EventsLog rules
    - Improves MsgBox Database naming convention in some Summary Report categories to be unique in multiple MsgBox scenarios
    - Provides “Total Q rows” entry in the “MsgBox Table” Summary Report category
    - "Current Error Log" query is modified to list entries in Descendant order
    - Provides some rules to the "Current Error Log" query to check for Disk space errors, Db Integrity or Fatal errors, and raise warnings if   found
    - "Error Log.1" request in now moved into its dedicated query  - not Checked by default
    - Host instance "Start time" is now added in Topology Report "Running Host instance" category
    - System Variables are added in Topology Report

  • Webcast MsgBoxViewer

    Hello,

    I did recently a webcast about MBV for the UK SOA/BPM User Group (SBUG)

    Link to the video is available here : http://geekswithblogs.net/michaelstephenson/archive/2009/10/13/135448.aspx

    I would like to thank Michael Stephenson for this web cast invitation which was a good opportunity for me to explain MBV goal and its usage and do some Q&A with participants !

    JP

  • Fixed a regression issue found in MsgBoxViewer 10.15 and implemented Query Timeout for .VBS queries

    Several customers and MS engineers reported me recently some very long collect statements scenarios using version 10.15 and sometimes infinite ones.


    1) Some bugs were indeed identified in some VBS queries which might create looping scenarios in some VBS query execution .
    These bugs were so fixed.


    2) A long collect statement can occur also when .VBS queries (belonging mainly to the “Server Info” query category) are running too long time.

    MBV 10.15 enumerates indeed in some .VBS queries some registry keys or registry values, and when targeting several remote servers of the BizTalk group it can be sometimes long.

    I decided so to implement a timeout mecanism to stop a VBS, .BAT, or .CMD query after 30 secs by default.
    This timeout value can be changed of course in the MBV UI via the "VBS/BAT/CMD Query Timeout" Global Option.


    3) When you have a long query situation or infinite one, please do the following :


    -  Note in the status bar of MBV UI  the pending query (it will  be also logged in the Status log file)

    -  Kill MBV (as stopping via the UI the collect statement during a query execution will NOT work,  I don’t want to kill my query execution thread)

    -  Keep the generated status log file and send it to me later (it is precious for me to know what happened before MBV was killed)

    -  Restart MBV and then uncheck the queries which seem to run too long or infinite and then start a new collect statement (usually these queries should belong to the “Server Info” category) to exclude them from the  collect statement

     

    Current build 10.15.7777 available on this blog contain both the VBS queries fix and the VBS Query Timeout implementation. 

    Sorry for these introduced regressions and continue to send me your feedbacks or possible bugs found

    JP.

  • MsgBoxViewer 10.15 now available

    Hello,

    I just made available version 10.15 of MBV  : http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx

    This build fixes some bugs of version 10.14 of course but provides also lot of new queries & rules and use now some VBS queries like "MSDTC Setting" , "RPC Settings"', 'TCP Settings", etc...

    Using VBS script with WMI calls in these queries allow to target correclty this time 64bits registries on 64 bits Servers.
    As you probably now, a 32 bits tool like  MBV using .NET remote registry functions can target only the 32 bits version of registry on a 64 bit server (by design with .NET) , so until now MBV returned sometimes invalid MSDTC settings for example when targeting 64 bits servers.
    Using WMI in VBS script can workaround this limitation specifying the type of provider to load (32 bits or 64 bits).

    I added also some new queries and one interesting query I added is the "Artifacts per host" one which list all artifacts used by each host.
    For our Support teams for example, it is indeed critical to see very quickly which host manage which type of artifacts.

    I also identify now what we name COM+ or MSDTC "Rollup package" from the software layers found on each server. We have again some dependencies with COM+ and obviously MSDTC so it is is important to know which COM+ or MSDTC version is installed on each server before to decide to apply possible COM+/MSDTC hotfixes.

    You will find the list of new features in this version here :  http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx


    Feel free to report me your comments, suggestions, and of course the bug  you could find ;-)

    Thanks

    JP

  • MBVMMC - Latest Version

    Version 1.10 

    New features :

    - Allow to generate also automatically and periodically MBV reports by creating a Windows Scheduled Task

    - Group  now the MBV reports per targeted BT group

    - Display an exclamation mark in node for MBV Reports having Red Warnings

    - Use now File Notification Services to detect new or deleted MBV reports in monitored output folder


     

    Version 1.0  

    Features :

    - Allow to generate manually MBV reports by running in hidden mode the console version of MBV (BTSDBCOLLECT.EXE)

    - Create nodes list  corresponding to generated MBV reports found in the monitored output folder

    - For each MBV report node,  sub nodes are created to represent each section of an MBV report

    - Allow to access directly to a MBV report Section like the "Warnings" one

    - For each selected section node, right view in the MMC show the corresponding MBV report section in HTML format

  • MMC Snap-in for MBV now available !

    Hello.

    As  I announced  in a previous post, I just released a MMC Snap-in for MBV.

    To be honest, I did not have ideas about really new useful features I could add in  MBV itself or around MBV but reading some posts on other blogs talking about BizTalk Admin and suggestions of a better integration with MBV, I thouht : eh maybe I could  integrate MBV in an MMC !

    Doing that will allow so any BizTalk administrator to have for example his own custom MMC console (.MSC) by adding the BizTalk Snap-in and the MBV one !

    If yoo look at the file behind the BizTalk Administration console, you can see that it is an .msc file  containing both the Microsoft BizTalk Server MMC Snap-in and the EventViewer one; so you could create easily for example your own .msc  adding  BizTalk Snap-in, the Eventlog one, and MBV Snap-in

    So I created a MMC snap-in for MBV in C# using the MMC 3.0 SDK: what is easier to develop an MMC Snap-in using .NET ! :-)

    Setup:

    just run the setup.exe on your machine to register the snap-in automatically 

    This snap-in use .NET 2 so on a BizTalk 2K4 machine, the setup  can propose you to download the .NET 2. framework.

    This snap-in use Microsoft Mgmt Console 3.00 framework on a W2K3 machine,you may have also to install KB 907265 :

    http://www.microsoft.com/downloads/details.aspx?FamilyID=4c84f80b-908d-4b5d-8aa8-27b962566d9f&displaylang=en

    One the  setup finished, open MMC console and choose to add a Snap-in.
    You should see in the list "MBV Snapin".

    The first version of this MBV snap-in I release allow to run a collect statement in the MMC by starting in an hidden mode the console version of MBV tool : "BTSDBCOLLECT.EXE".

    When you add first time the Snap-in, a dialogbox will be displayed inviting you to specify local path of MBV Console tool BTSDBCOLLECT.EXE.
    Once it is one, you can also select the profile to use among the profiles present (created by GUI version of MBV) and then the MBV Snap-in will be added in the MMC console.

     

    'MsgBoxViewer' Node

    The 'MsgBoxViewer' MMC node will then allow you to start a Collect statement, change settings, open status file or History File or delete all HTML reports appearing as childre nodes.
    This node display also as children nodes the existing HTML reports found in the HTML folder  (either the one configured in selected profile file 'MBVSettings....XML' or by default the folder of MBV tool).

     

    Starting a Collect statement

    When you put the focus on 'MsgBoxViewer' node, right-click on it and start a collect statement, the MMC display in the right pane the resulting cmd line executed, and the status bar will show all the steps of the Collect statement.

    At the end of the collect statement, the MMC will add in the left pane a children node representing the MBV HTML file produced and will show this file in the right pane.

    Complete status of the collect is displayed in the right pane when selecting back the node 'MsgBoxViewer'.

     

    Open an existing HTML MBV Report

    Once you clicked a section (sub-node) of an HTML report node in the treeview of the left pane, you have immedialtely on the right pane of the MMC the selected sectioj of HTML MBV report displayed like in the Internet Browser.
    You can so display quickly a Warning Report sectrion of an existing HTML Report.

     

    Change Settings

    Right-cliking on 'MsgBoxViewer' node and selecting the 'Settings" action, you can change the global settings and for example selectb the  MBV profile to use for the collect, that you have prepared before with gui version of MBV.
    Selecting a profile in the snap-in allow so to run only the queries you selected with also the global options you configured in the gui version of MBV.

     

    Download here latest version :
    http://blogs.technet.com/jpierauc/archive/2009/08/16/mbvmmc-latest-version.aspx

     

    Let me know please your comments and questions on this Snap-in and any bugs you could find

    Thanks !

    JP

  • MBVQueryBuilder - Latest Version

    Download it : MBVQueryBuilder.zip

     

    Hello, 

    This is the First version of MBVQueryBuilder tool, to integrate your custom Queries in MBV tool.


    The zip to download contains :

    - The tool itself MBVQueryBuilder.EXE

    - Runtime DLLs : MBVEngine.DLL and MYHC.DLL

    MYHC.DLL
    is in fact the runtime dll implementing My Health Check Framework and MBVEngine.DLL is the runtime dll using MyHC.DLL but is dedicated to analyze a BizTalk system.

    - Versions of MBV Gui and MBV Console using the runtimes DLLs: MBVGUI.EXE and MBVCONSOLE.EXE

    As MBVEngine.DLL and MYHC.DLL are both shared by MBVQueryBuilder.EXE and MBV client tools MBVGUI.EXE and MBVCONSOLE.EXE,
    MBVEngine.DLL and MYHC.DLL must be so both located in same folder than the tools using them.


    You can find here a quick help about this tool at :

    http://blogs.technet.com/jpierauc/archive/2009/04/15/mbvquerybuilder-tool.aspx

     

    Let me know please your feedbacks, questions, suggestions, and possible bugs found about this new tool

    Thanks !

     JP

  • MBVQueryBuilder tool : What and Why ?

    Hello,

     

    As mentioned in a previous post //blogs.technet.com/jpierauc/archive/2009/04/01/comming-soon-tool-to-build-your-own-queries-for-mbv.aspx, I make available publicly now on my blog a tool complementary to MBV which will allow you to create easily and quickly your custom queries for MBV.

     

    What is MBVQueryBuilder ?

    This tool allow in fact to create quickly and easily additional queries for MBV tool
    This tool can create and update a Query Repository XML file with all queries you will create and allow also to generate the queries you want in an XML MBV Extension file starting with name "MBVEXT".

     

    Why MBVQueryBuilder  ? 

    MBV use a custom Health Check engine I developed ("MyHC" Engine) which is easily extensible in tem of queries and rules.
    This extensibility is made possible via any XML file starting with name "MBVEXT" and located in same folder than MBV.

    These MBV Extension File contain additional custom queries (with their rules if exist) which will appear in additional Queries tabs in MBV gui interface.

    To generate easily and quickly such MBV Extension XML files, it became obvious to create a tool to do it.

     

    Where to download laetst version of this tool ?

    http://blogs.technet.com/jpierauc/archive/2009/04/27/mbvquerybuilder-latest-version.aspx

     

    Where can I find a quick help on this tool ?

    http://blogs.technet.com/jpierauc/archive/2009/04/15/mbvquerybuilder-tool.aspx

     

    Ler me know please your feedbacks, questions, and suggestions about this tool

    Tha¨nks!

    JP

  • MBVQueryBuilder Quick Help

    This doc below  provide some documentation on MBVQueryBuilder tool , explaining what is this tool  and why it exists and what it allow to do.

     

    1)   Presenting MBVQueryBuilder and its concepts

     

    What is MBVQueryBuilder ?

    This tool allow to create quickly and easily additional queries for MBV tool
    This tool can create and update a Query Repository XML file with the all queries you will create and allow also to generate the queries you want in an XML MBV Extension file starting with name "MBVEXT".

     

    Why MBVQueryBuilder  ? 

    MBV use a custom Health Check engine I developed ("MyHC" Engine) which is easily extensible in tem of queries and rules.
    This extensibility is made possible via any XML file starting with name "MBVEXT" and located in same folder than MBV.

    These MBV Extension File contain additional custom queries (with their rules if exist) which will appear in additional Queries tabs in MBV gui interface.

    To generate easily and quickly such MBV Extension XML files, it became obvious to create a tool to do it.

     

    What is a MBV Query  and what it contains ?

    An MBV query is an object containing following information :

    Main Query information :

    - Internal ID: guid
    - Category : category of the query
    - Caption: visible caption of the query, ex: "List of Send Ports"
    - Comment : Description of the query
    - Source and Versions : Information about the source and version of this Query
    - Type: SQL, WMI, .BAT, .CMD,.VBS, Other
    - Target Type: server or Db to target executing the queries
    - Target Name: Visible target name in MBV tool gui
    - Body: Text of the query (ex: "Select @@Servername")
    - Different attributes: selected by default in MBV gui interface, log a report, etc...

    Rules:

    A query can contain 0 to N Rules containing themselves 0 to N Conditions and each rule if validated can execute some actions.

    A rule is so a set of conditions checking some values in each row of a report of a query, which is just in fact a table where you have columns as SQL fields for example and rows as records.

    Each condition containing some references to a column is evaluated per row in the report.
    Each condition containing no references to columns like "%ROWCOUNT% > 100" will be evaluated first and only once of course.

    So a Rule object is composed of :

    - Internal ID: guid
    - Caption: Rule caption visible in MBV tool
    - 0 to N Conditions
    - Actions

    A Condition is composed  of predicates :

    - A value to check, which can be either a reference to a report value in a specific column, or any other value (like %ROWCOUNT%)
    - A value to trigger an action
    - A Boolean specifying if comparison will be case sensitive or not

    Possible Actions are :

    - Write an entry in the Summary Report section with 0 to N link and 3 possible level of warning
    - Write an entry in the Topology Report section
    - Call a custom .NET function in a custom dll
    - Assign a value to a global property (see below for "Properties")


    Properties:

    Each query can have 0 to N custom properties (i.e variables) identified by an ID, a caption, one value, and some attributes.

    When specify in a body, caption, Summary Report entry, etc.. with syntax "'%<Property ID>%", MyHC engine will replace at runtime this "macro" by its  corresponding value.

    You can also decide to have a query property visible in MBV gui. In this case, the property caption and its current value will appear in MBV interface (right pane) when selecting the query in the Queries list, allowing you to enter a new value.

     

    Custom processing Functions

    Each query can (it is completely optional) to have custom .NET functions  implemented in custom dll and called automatically by MyHC engine at different stages:

    - before the query will be proceeded by MyHC engine
    - to execute the query
    - before each query report is populated
    - after each query report is populated
    - After the query processing is finished

    These functions are interesting  mainly when you have type of queries noty supported by MyHC engine or if you want to add your own logic at different stages of the query processing

    A sample of a C# project implementing such custom DLL and functions is provided with MBVQueryBuilder 

     

    Which type of queries we can create in MBVQueryBuilder ?

    MyHC engine that MBV uses provides implementation to execute automatically SQL, WMI, BAT.CMD and VBS queries.

    By "automatically" I mean that by providing just the body of a SQL queries, the HC engine  can execute them without having  to provide any code or logic implementation. It is the same for WMI, BAT.CMD and VBS queries.

    For .BAT,.CMD and VBS queries, they can be executed only locally on the machine  where MBV is running, as opposed to SQL or WMI queries where you can target remote servers.

    To execute automatically .BAT, .CMD and VBS queries, MyHC engine just create on the fly a temporary file and paste the body inside before to execute a CMD.exe or CSCRIPT.exe process and intercept the console output.

     

    MBVQueryBuilder and queries Targets

    Each Query has a corresponding Target Type and Target Name :

    - The  Type allow MyHC engine to know which server to target executing the queries, ex: MsgBox Servers, MsgBox Dbs, DTA Db, Mgmt Db,ALL Servers of the BizTalk group, SQL servers of the BizTalk group, etc...

    - The Name  is visible in the Queries List in MBV gui interface in the last column

    If you select Target Type ending  with "Server" or "Servers" for SQL queries,  you can enter a specific Database name (ex: "Master")  or if you let it empty, MBV engine will use automatically the corresponding BizTalk Database name, ex: "BizTalkMsgboxDb" for a MsgBox server

     

    Queries Columns:

    For querie which are not SQL or WMI, like .VBS, .BAT, .CMD, or OTHER you can specify the columns name the query report will have and also specify the delimiters of query output to use to identify the columns.This fetaure is interesting mainly for .BAt, .CMD, or .VBS to display the console output in a table formated way. 

     

    Global Properties:

    In the same way you can define properties for Queries, you can also define in MBVQueryBuilder from 0 to N custom Global properties identified by an ID, a caption, a default value, and other attributes.

    When specify in rule conditions,  query body, query caption, Summary Report entry, etc.. with syntax "'%<Global Property ID>%", MyHC engine will replace at runtime this "macro" by its corresponding current value.

    You can also decide to have a global property visible in MBV gui. In this case, the global property caption and its current value will appear in the Global Properties tab of MBV interface (left pane) allowing you to enter a new value.

    These global properties are some sort of global variables that you can create and reuse everywhere in queries or rules allowing you to customize your queries.

    MyHC engine provide by default some internal  global properties that you cannot remove in MBVQueryBuilder but you can change their default values for some of them. Some of these internal global properties have their value changed dynamically by MyHC engine and will contain for example  :

    - the current physical targeted server name
    - the current targeted DataSource name
    - the current targeted database name
    - the current type of targeted server (is it BizTalk Server, a SQL Server)
    - etc ..

     

    Query Categories:

    Important: This feature  is implemented in MBV only since version 10.13

    A Query category allow to  better sort and group queries.

    When you want to create a query in MBVQueryBuilder, you can specify its category, whatever it is an existing one or a new one

    Each Query Category is composed of  :

    - an Internal guid
    - a Name
    - a Type: “Important”, Optional”, “’Custom”
    - 1 to N queries (see above for Query description)

    At startup, MBV will load the categories of each query either from its embedded Queries Repository XML or from external XML Extension Files and it wil create a many tabs as it find categories.

    Each Important category  will have it name shown in bold in MBV, and for each categories found in a custom MBVEXTxxxx.XML file, MBV will create the corresponding tab in blue color to specify that it is a custom category

    Once created in MBVQueryBuilder, a category will appear in the Categories List in the tab "Categories".
    You can there change its name and sort them. The order will be so preserved in MBV tool when it will create corresponding Queries tabs.

    Each category name will be present in the HTML report before the list of its queries? with also its category type;

     

     

    2)   Using MBVQueryBuilder :

     

    MBVQueryBuilder Dialog Box is composed mainly of 3 parts :

    -       The tab pages part consisting of 7 top tab pages divided  in 5 for settings of the current query, and 2 for Categories and Global properties settings.

    -       The queries List View part contain the list of queries that you created with their information summary

    -       The bottom control buttons  allow to :

    o    add a query

    o    remove a query

    o    Load another  query repository file

    o    Test the queries which are checked in the List View

    o    Export into an Extension  XML file the queries which are checked in the List View

     


    How to create a fresh new Query  ?

    -       Select the Query Type you want in the corresponding ComboBox at bottom of the tool Dialog box

    -       Select the Query Category you want in the corresponding ComboBox at bottom of the tool Dialog box

    -       Click on the button "Add:".

    -       A File Dialog Box will be opened inviting you to chose the name of XML file representing your queries repository.

    -       A new query will be then added in the Queries List View with its summary of information and its main information will be visible in the "Query Main Info" tab  page where you can there change lot of its information like its caption, comment, Target type, etc...

    A default query body will be filled as sample so you will have to change it

    Once you finished all your changes on this page, remember to click on "Commit Changes" red button to commit these changes in the query and update the Repository file..

     

    How to sort created Queries  ?

    The two arrows on the right side of the queries List View allow you to sort the queries in a same category.

    Sorting a query allow to change its order of presentation in MBV queries List but also its execution in its category : It can be important for example to execute first a query before another one.

    Clicking one of this arrow will so move up or down the query in its category (only !)

     


    How to add Rules to a Query  ?

    - Select the Query in the queries List View

    - Select the "Query Rules" tab page
    A new rule is created with a default caption that you can change  

    - Select the "Rules Conditions" tab page and add your conditions (see Conditions above).

    - Select the “Rule Action Types” tab page to specify type of actions  to trigger if the rule is evaluated^

    - Select then the other Rule tab pages to fill the actions  information. They are quite explicit themselves.

    In each predicates of a condition or fields of action tabs, you can enter any query custom properties or global properties in the form “%<prodID>%

    - When you finished to fill all rules settings, remember to click on “Commit Changes” red button at bottom of the  Rule page

    Notes:

    To fill correctly conditions and actions and have a detailed idea of the type of information and rule you can create, I suggest strongly  to select some any native queries in MBV tool itself and display their rules details (right pane when a query is selected)

     

    How to add Query Custom Properties ?

    - Select the “Query Custom Properties” tab page

    - Click on button “Add Prop” to add a new property
    A default prop ID, caption and value will be filled that you can by double-clicking on each item.

    - if you want to make a property visible in MBV tool gui then set to “True” the attribute “Visible in HC tool”

    - The two arrows on the right side of the  List View allow you to sort the properties. It can be important to specify an order if they are flagged  to be visible in MBV

    - once you finished your changes, remember to click on “Commit Changes” red button in this page to update the Repository file.

     

    How to add Query Custom Processing functions ?

    Important Note:

    Filling these function names is optional if the query type and body is supported natively by MyHC and if the rules you want to implement can be implemented completely using conditions in Rules tab  page.

    - Select the “Query Custom Processing” tab page

    - Fill the name of the dll implementing the custom functions (can have or not .DLL)

    - Fill the name of the different .NET functions implementing your logic.
    These functions will be called automatically by MyHC engine when it will be the time to execute this query.
    These  functions do not accept arguments and return value.

    The main important functions is the one called to process the query. Indeed, if it is filled, MyHC engine will not try to automatically execute your query body and will depend only of this custom functions to do the query job.

    If you need to create such DLL,  I recommend strongly you to look at the sample of C# project “SampleExtDLL” implementing a such DLL and functions, provided with MBQueryBuilder

     

    How to add Custom Global Properties ?

    - Select the “Global Properties” tab page

    - Click on button “Add Prop” to add a new property
    A default prop ID, caption and value will be filled that you can by double-clicking on each item.

    - If you want to make a global property visible in MBV tool gui then set to “True” or “True – in bold”  the attribute “Visible in HC tool”

    - The two arrows on the right side of the  List View allow you to sort the global properties. It can be important to specify an order if they are flagged  to be visible in MBV in the Global properties list

    - once you finished your changes, remember to click on “Commit Changes” red button in this page to update the Repository file.

     

    How to Test immediately the queries you created?

    - Check the queries in the List View you want to test

    - Select the targeted BizTalk Mgmt Server and  BizTalk Mgmt Db

    - Click on the button “Test Checked Queries” which will be enabled

    - you will see some activity in the status bar in yellow and Internet Explorer will be started to display the temporary HTML report created showing the report output.

     

    How to Export some queries from your repository into an Extension File usable by MBV tool ?

    - Check the queries in the List View you want to Export

    - Click on the button “Export to Query Extension File” which will be enabled

    - A File Dialog box will be opened to invite you  to select the targeted folder for this Extension XML file.

    - If you have SQL queries to export, a Warning message will be displayed  alerting that creating SQL queries targeting BizTalk Dbs can be dangerous in term of performances or integrity.

    - Then if the file is correctly saved, a message will be displayed to confirm it

    Important Note:

    You need to be sure the Extension File will begin with “MBVEXT“ to be seen as Extension file by MBV tool


    If you copy then this produced file in the same folder than MBV, then MBV will load your queries at next startup and will add them in their corresponding  blue category tab !

     

    How to load an existing queries Repository ?

    - Click on the control button "Load/import other Repository" and browse for the XML repository file

    - A message box will be then displayed asking you to replace your working repository by the new one, or to append in your working repository all the queries of the selected repository (Append mode).

    - once choice is made, your working repository will contain the new queries loaded

     

  • Comming soon: Tool to build your own queries for MBV

    Hello,

    I create this post just to announce that I will make available very soon a tool to build queries for MBV : MBVQueryBuilder.

    Let me explain quickly role of this tool as I will make a more detailed post on that later :


    As you noticed, I added already a lot queries embeded in MBV exe but because more and more MBV users, inside or outside Microsoft, suggest me to add some queries in MBV, I decided for a while to change MBV Architecture to be easily extensible in term of queries to add (MBV version 10.12 allow you to add also your own rules).

    So it means that MBV accept "custom" queries to be added in its lists of queries via an XML file.

    To achieve that, you will just have to use  MBVQueryBuilder tool to create your custom queries with also their rules (warnings they can generate) in a queries repository XML file.
    To create a query, you will have to provide some information like its Type (SQL, WMI, BAT, CMD, VBS), Caption, Comment, Target Type (MsgBox db, Mgmt db, ALL BT servers, ALL Biztalk SQL Servers,etc...) , and of course its body (ex: "Select @@ServerName" for a SQL query,  or "Select * from MSBTS_SendPort"  for a BizTalk WMI one)

    MBV contain a query execution engine for queries of type SQL, WMI, CMD, .BAT, or VBS so it will automatically execute your queries knowing  just its type and body.

    Once you built your repository of queries, you can select in the same tool the specific queries you want to be visible  in MBV and save them in an MBVEXT.XML file.

    This file must be put in the same folder than MBV, and when MBV will be started you will see your custom queries in an additional listview in MBV Gui interface, that's all  !   
    you can then select/unselect your queries like for any embeded queries an start a Collect process. and output of your queries will be also visible in the resulting HTML report

    To see a concrete sample of this MBV query extensibility, you can have a look on following Thiago's Post (Thanks Thiago to have shared that) :

    http://connectedthoughts.wordpress.com/2009/03/19/extending-msgboxviewer-with-biztalk-message-body-tracking-count-queries/

    So stay tuned for availability of  this tool !

    JP

  • Submit here your feedbacks on MBV and your suggestions for next versions

    Hello,

    I created this page to centralize your feedbacks on MBV tool and also your suggestions of new features or improvements you would like to see included in next versions of MBV.
    Based on my own experience with BizTalk usage in production and some features that were already suggested to me to add or improve, I will estimate your suggestions and if they are also pertinent for all other MBV users, I will implement them asap in next versions.

    Thanks to use the tool and I'm waiting so for your comments.

    JP

  • MBV - HOW TO use MBV as a periodic Monitoring tool alerting user of warnings

    Hello everyone,

     

    This is another “MBV - HOW TO” post, this time about a MBV usage as some sort of periodic Monitoring tool.

     

     

    MBV can also be used indeed as a  periodic Monitoring tool alerting user of warnings but w/o need to look each time at the HTML Summary Report


    Indeed, since version 10.00, MBV can generate Red and/or Yellow warnings in the Application EventLog in the following Format :

     

    << 

    Event Type:       Error

    Event Source:   MBV Engine

    Event Category:               None

    Event ID:             0

    Date:                    23/03/2009

    Time:                    09:41:50

    User:                    N/A

    Computer:         MJPIERAUC2K3B

    Description:

    Category : Other MsgBox Checks

    Caption : Total active 'Cache msg' for MsgBox MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on FRDSIBTS-BTS2K6

    Value : 6087 (they do NOT appear in HAT or BTS MMC and large number can impact MsgBox perfs) !!

     

    Links:

     

    kb 944426 - Orphaned cache instances may be built in the Instances table: http://support.microsoft.com/kb/944426/en-us

    You experience performance issues with BizTalk Server 2006 and throttling messages are logged in the performance log file: http://support.microsoft.com/kb/936536/en-us

    >> 

     

     

    This feature can be specially interesting if MBV user  has already some  tool monitoring the EventLog application

     

    You can enable this feature with or w/o generating a HTML report.

     

     

    These are for example the few steps to raise ALL REDS warnings in the application EventLog and generate NO HTML Report and Output files in the MBV Folder:

     

    -          Select the global property “Log RED Warnings in the Journal” to “True”

    -          Select the global property “Generate HTML file” to “False”

    -          If you don’t want keep history of MBV report, Select the global property “Update History File” to “False”

    -          If you don’t want keeping Status of MBV report, Select the global property “Update status File” to “False”

     

     

    Once these global properties configured, each next Collect process will also raise in  Application EventLog all Red warnings raised but will  NOT produce any HTML or text files. You can of course  select also the Yellow warnings if you want

     

    All these changes will be kept in MBVSETTINGS.XML located in same folderv than MBV

     

    Now, you can schedule  Console version of MBV (BTSDBCOLLECT.EXE) to run perdiocally and it will use this settings file if is also present in the folder of BTSDBCOLLECT.EXE.

     

    Look at this post from Richard about scheduling Btsdbcollect.exe using Windows Task scheduler :

    http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-reports-via-e-mail/

     

     

     

     

    Let me know your comments/questions on this post

     

    Thanks

     

    JP

  • MBV - HOW TO Unselect some “mandatory” queries or select only some of them

    Hello,

     

     

    Let me discuss about a new feature that I introduced in version 10.11 that I released recently (http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx)  :

     

     

    MBV 10.11 (in GUI tool) allow you now to unselect some “mandatory” queries and prevent them to execute so, and select only some of them.

     

    Maybe this feature can surprise you first if we consider these queries as "mandatory" but I found in fact the need to be able to select sometimes only few important queries to have very quickly result of a report, like the Jobs one, or the MsgBox Integrity one, or the MsgBox or DTA Tables size, or only send ports, etc..

     

    if we are now able to disable some mandatory queries, there can not considered anymore as mandatory ;-) so I decided also to rename the  “Mandatory queries” list to “Important Queries” in the interface.

     

    Let me explain now how to unselect some important queries (so previously named "Mandatory") :

     

    There is now a global option in MBV named ”Can unselect some important queries” that you have to turn to “True” (it is “False” by default) in the global properties grid.

    When you set it to "True" and display the Important Queries List, you will notice then check boxes in this list and also two butons Check All /Uncheck ALL , and you will be able so to select/unselect also these queries.


    Notice that by default the behaviour is same than in previous versions: no check boxes are visible in this first Queries list,
    so by default this feature is invisible !

     

     

    Be careful however :

     

    Topology Report and Warnings Report can be impacted if you unselect some specific important queries as some optional queries need for example some information returned by some important queries so you can have some errors or incomplete Topology and Warning reports depending of  which important queries you have unselected.

     

    So my recommendation is to use this feature only if you are interested by some specific query reports that you want  to monitor

     

     

     

     

    Let me kow your comments/questions on this feature !

     

    JP