Quantcast
Channel: My Biztalk Tools blog
Viewing all 68 articles
Browse latest View live

MBVQueryBuilder Quick Help

$
0
0

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 pageand 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

 


MBVQueryBuilder tool : What and Why ?

$
0
0

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 - Latest Version

$
0
0

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

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

$
0
0

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 CaptionItem Value
BizTalk Databases - Sizes 
Total DB Space Used  for MGMT DB "BizTalkMgmtDb" on MJPAUCLT12.00 MB
Total DB Space Used  for MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT8.84 MB
Total DB Space Used  for DTA DB "BizTalkDTADb" on MJPAUCLT7.66 MB
Total DB Space Used  for BAM PRIMARY IMPORT DB "BAMPrimaryImport" on MJPAUCLT6.69 MB
Total DB Space Used  for RULEENGINE DB "BizTalkRuleEngineDb" on MJPAUCLT3.22 MB
Total DB Space Used  for SSO DB "SSODB" on MJPAUCLT5.67 MB
BizTalk Host Instances 
Total Host Instances2
Total Host Instances Running1
Total Tracking Host Instances Running1
MJPAUCLT: BizTalkServerApplication (PID:4524.000)Memory = 73863170.000 bytes, Thread Count = 76.000
Ports, Pipelines & Orchs 
Total Receive Locations3
Receive Locations disabled2
Total Send Ports2
Send Ports stopped0
Total Orchestrations Deployed4
Orchestrations stopped0
BizTalk Jobs 
Backup BizTalk Server (BizTalkMgmtDb)State=Disabled,Sched=15m,No History Found
CleanupBTFExpiredEntriesJob_BizTalkMgmtDbState=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_BizTalkMsgBoxDbState=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
MessageBox_Parts_Cleanup_BizTalkMsgBoxDbState=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDbState=Enabled,Not Running,Sched=1m
MessageBox_Message_Cleanup_BizTalkMsgBoxDbState=Disabled,Last Status=Succeeded,Last Duration (hhmmss)=000000
PurgeSubscriptionsJob_BizTalkMsgBoxDbState=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
TrackedMessages_Copy_BizTalkMsgBoxDbState=Enabled,Sched=1m,Last Status=Succeeded,Last Duration (hhmmss)=000000
MessageBox_UpdateStats_BizTalkMsgBoxDbState=Enabled,Sched=5m,Last Status=Succeeded,Last Duration (hhmmss)=000001
Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDbState=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 MJPAUCLT96 KB - 0 Rows
Total in Tracking Body tables - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT0 KB - 0 Rows
Total in Q tables (Work + Suspended) - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT112 KB - 10 Rows
MsgBox Queues 
Total Suspended Messages - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT10
Total Suspended Resumables Messages - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT10
Total Pending Messages in Work Q - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT0
"BizTalkServerApplicationQ_Suspended" has most Suspended Messages10
MsgBox Database Integrity 
Message Refs w/out Spool rows0
Messages w/out RefCounts0
Message Refs w/out Instances0
Subscriptions w/out Instances0
InstanceState w/out Instances0
Messages with RefCount = -10
Messages processed 
TodaySent = 0, Received = 0
Service Instances 
Ready To Run - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT0
Active - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT1
Suspended Non-Resumable - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT5
Suspended Resumable - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT5
Dehydrated - MSGBOX DB 1 (MASTER) "BizTalkMsgBoxDb" on MJPAUCLT0

 

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 Customization - Options and Profiles

$
0
0

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.662 is released and provides great new features

$
0
0

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

 

 

Change in version 9.23.4

$
0
0

Hello,

as you already noticed probably, I uploaded build 9.23.4

This build has an important change I think which can reduce signicantly the size of produced files (history.log,html and xml) :  Indeed I keep now in this build only the name of Stored Procs found in the detailed report  "Most CPU Queries (SQL 2K5 only)" instead of the entire sp text as it was before.
In this report, for each row returned, I determine so if it a Stored Procedure and in this case I keep only its name and remove the remaining part. I think knowing the sp name is enough in this report.
However, I keep the entire SQL query if  SQL query is returned as statement instead of a stored proc

Let me know if you meet any problems with this change

thanks !

JP

Version 9.23.42 and High fragmentation Info query

$
0
0

Hi,

I just uploaded a build 9.23.42 with some new features and two small fixes and among the new features I included two queries getting high fragmentation info for DTA and MSGBOX dbs. Behind this query is a SQL script  which is available only for 2K5 SQL Servers which  get list of indexes where fragmentation  percentage > 30, so these two queries won't execute on a BizTalk 2K4 Group  for example.The tool however keep the old Detailed Fragmentation queries.

You have to keep in mind that the SQL query getting this Index fragmentation info can be long to execute so it is possible that the query will timeout after the default Query Timeout of the tool which is 30 secs. If output of these two queries is important for you, then you just have to increase the Query Timeout in the tool (avail in the Console version also); as the opposite, If you can avoid the result of this query, well..just unselect them in the list of GUI tool as they are both optional !

Note that when you increase the Query Timeout, it will impact so all other quereies as all the queries use the same global Query Timeout. Indeed, I did not implement Query timeout per query (maybe in a next version if there is really a need)

 Let me know your feedbacks on that

 

thanks !

JP


MsgBoxViewer (MBV) Q & A

$
0
0

 

Q: What is the purpose of MBV ?
A: The goal of MBV is to retrieve the maximum amount of information from a BizTalk System in one click in the minimum amount of time, identify all possible issues which could be critical or need attention, and present them in a user friendly format.


Q: How is MBV different compared to other known tools like BPA or BizTalk Server 2006 Documenter ?
A: While BizTalk Documenter generates a nicely formatted overview document of a BizTalk Group, BPA and MBV are health check tools and generate reports of a BizTalk System that are complementary to each other.

   - BPA was developed by the PG for BizTalk 2K6 and reports two levels of warnings. BPA 1.1 was updated to contain some MBV rules but also contains a lot of additional rules relating to  BAM and the Rules Engine for example.
     BPA also provides detailed documentation on its own warnings.

   - MBV was developed by a Microsoft Support Engineer in collaboration with BizTalk Support and Field teams and contains some BPA rules but also adds additional ones.
     MBV reports two levels of warnings with corresponding links to MS KB articles, MS BizTalk Documentation, or BizTalk Whitepapers (but does not provide its own documentation of its warnings).
     MBV also retrieves detailed collapsible reports of information related to a BizTalk Group including its settings and its complete topology organized by servers, so MBV is more a mix of BPA and BizTalk Documenter.


Q: Which version of BizTalk Server can be analyzed with MBV ?
A: All versions and their SPs since BizTalk 2004 can be analyzed.


Q: Is MBV safe to run on a Production System ?
A: Yes, firstly, MBV does not need to be "installed" and secondly it uses only read SQL, WMI or VBS queries targeting the MsgBox, DTA, or Mgmt DB and uses WMI or VBS scripts to get info about the topology.
   The queries it contains were tested to not generate performance issues and locks


Q: Can MVB generate locks, deadlocks or Orphaned SPIDs on BizTalk DBs that it queries?
A: No, MBV uses only one thread for all its queries and does NOT use MSDTC transactions.
    If you have other health check tools querying your BizTalk DBs and running at same time as MBV I cannot predict the results.
    It is preferable to avoid using other Admin BizTalk tools when you use MBV.


Q: When I execute MBV, I get a "SecurityException" error
A: This error is raised when you start MBV from a remote location. You need to copy MBV locally and start it from a local folder 


Q: Is MBV able to analyze large BizTalk configurations involving multiple servers and clusters ?
A: Yes, MBV is able to identify and include in the topology report all servers and Cluster nodes involved in the BizTalk group

Q: Is MBV able to analyze multiple MsgBox DB configurations ?
A: Yes, MBV will identify and analyze all MsgBoxes in the BizTalk group


Q: Where do the SQL queries executed by MBV come from ?
A: Some of them come directly from BizTalk Architect Lee Graber’s "Advanced Queries" document. Other queries come from Microsoft BizTalk Support teams or known SQL & BizTalk Troubleshooting documents.


Q: Why do you have both a Console and a GUI version ?
A: The GUI tool interactively displays information collected in listviews and allows you to easily select which queries to execute. The Console version can immediately issue a Collect and can be launched by any type of parent application (like "PssDiagForBiztalk") 


Q: Why is MBV updated so frequently ?
A: To include ASAP additional check rules & warnings based on issues met by Microsoft BizTalk Support and Field teams.
 

Q: Why does MBV not use .NET 2.0 ?
A: In order to be executable on BizTalk 2004 Servers which might only have .NET 1.1 installed


Q: Why does MBV have some Queries Listviews in Bold ?
A: The  list(s) in bold contains queries which will always be executed and are considered so as importanrt and the other lists offers you the option to choose the queries to execute.


Q: What is the recommended choice of queries to execute?
A: I recommend to  select ALL queries the first time in order to collect the maximum number of reports including a fully detailed Topology Report and to have maximum checks done so all possible warnings are raised in the Summary Report. You can then unselect some queries depending of the type of output you want or to have a faster collection time


Q: Why do I sometimes see timeout errors in the HTML or status log files ?
A: Some queries like Fragmentation or MSG Count in DTA db can take a long time to execute and so the default Query Timeout of 30 seconds will expire.
   In this case, the tool will report a timeout error but will continue to execute other queries


Q: Can we stop a pending Collect if it is taking too long to finish ?
A: Yes, MBV  offers this feature but the Collect will be stoped only after the pending query finish to execute or timeout.You can not stop a pending query.

 

Q: How does MBV manage the errors met by some queries ?
A: Each error generated by a query is caught in order that it cannot prevent the next queries from executing


Q: why do I have Access Denied Errors executing some queries ?
A: These Access Denied errors are caused mainly by missing SQL, WMI, or REGISTRY access permissions for the user running MBV.
Recommendation is to be a BizTalk Admin and SYSADMIN on the SQL Server(s) hosting the BizTalk Dbs but one of the assumptions that we often make with MBV is that the user running MBV will have complete access rights to both BizTalk Server and SQL Server but it is not always the case.

Q: How can I reduce the total duration of the Collect ?
A: Either by reducing the number of queries to execute, or by reducing the query timeout if you have too many time consuming queries 


Q: What is the real purpose of the status log file ?
A: This file will report ALL activity generated by MBV with the time stamp of each query and report generated. This file is also very interesting for the author to identify possible bugs


Q: What is the real purpose of the History log file ?
A: This file will contain in plain text ALL Collect outputs made since the last purge. This file can be purged in the GUI.


Q: Can the Query or Connection Timeout be changed ?
A: Yes, both the GUI and Console versions can have these timeouts changed


Q: Can I have the MsgBox or DTA db Tables size reports ordered by table name ?
A: Yes, you have the possibility to change the order type in the "Options" tab or by using a parameter in the Console version


Q: Can I know the collect duration from a HTML report ?
A: Yes the first line of the summary Report includes this information


Q: Sometimes MBV appears to not be responding, how d I know what it is doing ?
A: The status bar shows the pending query and the tool use two different threads for the GUI and the Collect engine so even during a long query the tool window is always visible and responsive.


Q: What is the role of the different tabs in the second half of the Gui tool ?
A: The tabs contain listviews of some important reports including the Summary Report and these listviews are populated during the Collect.
   You can navigate into these lists (except the Summary Report one) even if the collect is still pending !


Q: How can I have more know info about the queries to execute ?
A: For each query to be executed, the GUI version displays in its list the target and scope of the query, its caption, and its type (SQL, WMI, VBS, CUSTOM., etc...)


Q: What means really this entry in the Header Report ? : "This BizTalk Server is NOT a member of the targeted BizTalk group"
A: It means that the BizTalk server running MBV does not belong to the BizTalk group referenced by Mgmt DB server and name you have specified.
   By default when running on a BizTalk Server, MBV automatically tries to get the targeted Mgmt DB server and name from the registry


Q: Can I run MBV on a server which is not a BizTalk one ?
A: Yes, MBV can be run on any server that has .NET 1.1 installed no matter what it is. E.g. Win 2K, Win 2K3, Win XP or Vista.
If it is not executed on a BizTalk Server, you will have to specify the Mgmt DB Location and Name.
However, in this case, the query to collect local perfmon counters will not be executed and the ability to detect throttling will be missing! 


Q: Is it possible to develop some solutions analyzing automatically the MBV output file ?
A: Yes, MBV also allows the option to generate output in an XML file containing its own schema (in GUI version)
    Ideas of possible solutions to develop around XML MBV file :
    - Custom  Summary Report analyzer
    - Tool to build a Visio diagram from the Topology Report
    - Tool to identify differences between several MBV XMLs
    - ...


Q: What is the SQL Query used behind the "Running SPIDs" or "Locked SPIDS" queries  ?
A: These two queries use a SP_who3.SQL script based on sp_who2 but updated for BizTalk  


Q: Why some Queries can execute only on SQL 2K5 ?
A: Some queries like "Most CPU SQL Queries" are based on SQL 2K5 relational rowsets through dynamic management views (DMVs).


Q: Can MBV run periodically and automatically some Collect ?
A: Yes, you have an option in the GUI version which allows you to configure a periodic interval in minutes to collect
   As soon you check the option "Collect Each", a timer is started and will trigger the collect after the interval configured.
However best way to achieve that is to schedule  the start of the console version of MBV (BTSDBCOLLECT.EXE)


Q: Can I have access to previous HTML files generated ?
A: Yes, each Collect generates an HTML file in the specified output folder containing in its title the MBV version + current Date & Time to uniquely identify it.



Q: How is built the "Msg Flows" Report ?
A: This Flow report is built from the Subscription table but also from some orchestration port bindings tables.
    This report cannot show all possible flows!


Q: Is MBV able to retrieve BizTalk errors in the Application journal
A: Yes, MBV provide an optional query to to collect  error events of Biztalk sources


Q: When I open HTML file in IE on some machines, I can not expand the reports
A: MBV HTML files use scripting and IE can be configured to prevent scripting from executing for security reasons

Q: Can MBV send its warnings in eventlog only ?
A: Yes, MBV provides an option to send automatically its warnings in the application eventlog and provides also some options to prevent generating the HTML, Status, and History files.



Incoming version MBV 10.00 : Query custom properties support included and Gui interface redesigned

$
0
0

Hello,

 

Long time I did not write a post about MBV !  two reasons mainly : I was quite busy in my BizTalk Tech Lead job and I released until now on my blog only new minor MBV builds for which I considered that dedicated posts were not maybe justified; so I just made them available on my classic download link http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx  listing quickly their new small features and the fixes.

I had took time however to think about an interesting major feature I could include in MBV to give to the tool again more flexibility for users and more attraction, and I think it can justify a post this time to present it :-).

 

I will make available very soon (probably next week) a new major build (10.00) containing I think an interesting new feature that I present below.
This build is not available immediately as I have small tests to do yet before and I would prefer that an important Access Denied  bug found very recently is solved definitively (see below for more details) before.


I had so noticed two main areas of improvement in MBV :

 

1)      Until now, it was not possible to enter at runtime some properties per query (like a “sort order” prop for example) . The sort order properties  for “Send Ports/RL/Orchs”  or “Tables Size” queries were well present in previous versions but were just some options in the ”Options” tab and were specific to only these queries.
I thought also that it could be interesting to be able to specify some properties at runtime for any type of query contained in MBV before to start an analyze

I decided so to add support of query custom properties in  my Health Check engine that MBV use (I will write soon another post presenting you MBV Archirtecture and the HC engine that I developed which can be used very easily in any .NET app to do a custom Health Check).

Each query can have so 0 to N custom properties with following attributes :

a.       ID
b.      Caption
c.       Default Value
d.      Value
e.      ReadOnly flag
f.        Mandatory Value flag

When a such property is defined for a query, its ID can be used in the query body or query title to be replaced dynamically during collect execution, using syntax "à la macro" %<MYPROPID>%

This possibility allow so now to have parameterized queries with possibility then to enter quickly parameters value before to start a collect.
This new build of MBV  that I hope to release next week will allow so to enter very easily value for each custom property present for a query (if they are not read only) depending of the query selected in the Query ListViews.

 

2) Until now, I have to admit that Gui interface of MBV tool (so the Gui tool version "MsgBoxViewer.exe" ) was quite “heavy” and confusing with lot tabs and fields everywhere present in the form  and

That's why, with advises of Jean Severino my colleague, I redesigned the interface to be more easy to use, more intuitive, and less loaded I think :

a   . I removed the User Roles support as it was rarely used
b.      I grouped the output files Path fields and periodic collect options in the OPTIONS tab
c.       I removed the numerous Queries output Tabs keeping only two:  one displaying the Header and one displaying the Summary Report
d.      For each query you select (not just check), its standard and custom properties are displayed immediately on the right side and you can enter quickly values for custom properties.

Once I will make available this version on this blog, you could see concretly this possibility selecting for example one of these queries :   “Send Ports”, “Db Space”,  “BizTalk Perfmon counters”, “Last Svc Instance” etc….  you will see then the corresponding custom propertis displayed on the right side of the dialogbox and can change them if you want

Each value you enter in a custom property will be saved into the MBV XML Settings file when you exit the tool 


Other Features in build 10.00:


I added also optional queries below in this build suggested by Shaheer and Mike who are Escalation engineers in Microsoft BizTalk US Support team



See their very interesting blog http://blogs.msdn.com/biztalkcpr/default.aspx !


-          Get number of rows in spool associated to dehydrated instances

-         
Rows/month for some tables (“Spool”, “Instances”, and some DTA tables)

 

And finally I added additional Check Rules on the optional "Last Max  100 Application Events errors" query identifying know issues from the error event entries found in your BizTalk Server Application Journal. I will add more and more warnings rules for this query in each next version, the idea is indeed to also use MBV as an "Application Journal Analyzer" identifying automatically some known important BizTalk issues when possible.

 

Fixes:


I had to fix urgently  an important Access Denied issue occurring when an MBV user is not sysadmin on BizTalk Mgmt Db as it prevent MBV to start correctly its analyze.
I found indeed that Mgmt table "adm_Messagebox" do not have permissions like "adm_group" for example and because MBV is doing a select in this table to get all the messagebox, it fails raising an Access Denied error and stop immediately.
I found finally that a Mgmt SQL stored procedure is used  instead to get that info and this sp is doing itself the select statement

 

Mark Thomas who is a famous BizTalk Field engineer at Microsoft UK reported me this problem recently and I made so a first fix but tests are still pending to see if this problem is definitively solved or not and if we don't have other Access Denied erros later in the analyze process, that's why I can not make available now this new build as I would prefer to publish it only if I'm sure these issues are fixed.

So, I have again to some very minor modifications and small tests do before to share publicly this version on my blog but I hope to publish it next week.
I sent it internally today to Microsoft engineers so maybe you can receive it anyway if you open a BizTalk incident at Microsoft Support

 

So monitor the blog in next days to get this new version

 

Thanks !

 

JP

MBV Presentation

$
0
0

Hello !

I just finished a PPT presenting MBV, its role, usage, type of issues analyzed, and suggestions to analyze its reports
You can download it below.

Feel free to give me your comments on that and ask your questions !

thanks

JP

MBV - HOW TO run only some specific queries in the Console version of MBV : BTSDBCOLLECT.EXE

$
0
0

Hello,

 

Following a recent  discussion I had with a US colleague about that,  I would like to share with you below the few steps to follow to be able to run only some specific queries in the Console version of MBV - BTSDBCOLLECT.EXE.

 

 

As you maybe already know it :

 

-          BtsDbCollect.exe  will execute by default – w/o arguments - all important queries + most of the optional ones

-          BtsDbCollect.exe /ALL will execute ALL queries

 

Now, if you want BtsDbCollect to run only a subset of queries, follow these steps :

 

1)      Run the GUI version of MBV - MsgBoxViewer.exe – and select only the queries you want in the interface.
You can even unselect some important queries - previously named “Mandatory“ - :  set the global option “Can Unselect some important queries” to “True” and then unselect the important queries you want via the checkboxes - see my mail below for more details on this new feature.

2)      Close the tool

3)      copy the resulting file “MBVSettings.xml” in the same folder than BtsDbCollect.exe

4)   If needed, change this settings file the 3 properties specifying the correct path for the output files, ex:

<HTMLandXMLFolder>C:\JP\MyProjects\BtsDBCollect</HTMLandXMLFolder>
<
HistoryLogFilePath>C:\JP\MyProjects\BtsDBCollect\MsgBoxViewer_History.log</HistoryLogFilePath>
<
StatusLogFilePath>C:\JP\MyProjects\BtsDBCollect\MsgBoxViewer_Status.log</StatusLogFilePath>

6)      And that’s it !  Each time you will execute BtsDbcollect.exe, it will use this Settings XML  file and so will execute only the queries you chose before

 

 

Let me know if you have any questions

 

JP

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

$
0
0

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

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

$
0
0

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

Comming soon: Tool to build your own queries for MBV

$
0
0

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


MBVQueryBuilder Quick Help

$
0
0

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 pageand 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

 

MBVQueryBuilder tool : What and Why ?

$
0
0

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 - Latest Version

$
0
0

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

MMC Snap-in for MBV now available !

$
0
0

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

MBVMMC - Latest Version

$
0
0

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

Viewing all 68 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>