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

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

MsgBoxViewer 10.15 now available

$
0
0

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

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

$
0
0

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.

Webcast MsgBoxViewer

New MBV builds : Lot of additional queries and fixes

$
0
0

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

MsgBoxViewer 11 - Compatible for BizTalk 2010

$
0
0

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)

Integrate or Schedule MBV reports

$
0
0

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 12 is available !

$
0
0

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 

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

$
0
0

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 9.20.7

$
0
0

Hello,

I just released  recently this build to fix an issue of Summary Report not generated on some very specific configurations of BizTalk analyzed

FYI,  you will always the latest build at the url below (you can click also on "Latest MsgBoxViewer" link in the 'Tags' section)  

http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx

 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

Viewing all 68 articles
Browse latest View live


Latest Images

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