REAL-WORLD INTEGRATION

architects without artefacts

FRENDS Helium tutorial

12/22/2009 10:23 AM

Experienced BizTalk developers and really familiar native BizTalk admin console. And for developing MMC offers a lot of possibilities and features which can be used to drill into BizTalk Server. But when thinking about administrator who does not have years of expertise with BizTalk development its admin console can be quite cumbersome. And if support guys main task is to troubleshoot the problem and then notify expert – there are a lot of capabilities in native MMC that really can damage the running production environment is used incorrectly.

It’s most efficient to keep experienced BizTalk developers developing new apps or improving old ones not by giving them more work of maintaining existing system. The better tools admin has to see what happening easily and quickly the better it is for solving issues. In this article present the different capabilities of FRENDS Helium. In the end I’ll discuss briefly also about the future of Helium and monitoring BizTalk systems in general.

Helium overview

Let’s first take a short recap on Helium history before going into details. We had created customized monitoring in several cases and there were a lot common features in them. Also there’s of course Business Activity Monitoring (BAM) but its purpose is not technical monitoring even though it could be used in that way. System Center Operations Manager (SCOM) again can be good for certain cases but from me experience it requires definitely some configuration and certainly it’s not a tool which you can install and setup within half an hour. So we decided to create a common solution – FRENDS Helium - with couple goals: usability, simplicity and easy installation.

FRENDS Helium is web-based tool designed to provide easy access to see BizTalk system status, configuration and general statistics. With one view it is possible to see status of all BizTalk applications within the group and drill into single suspended instance properties, payload, message flow or subscriptions. As already said efficient troubleshooting on normal day-to-day operations saves time and money. 

Installation

First version (1.0) of FRENDS Helium came out on August 2009. The problem with 1.0 version was that even though installation procedure was easy to execute it did not make any prerequisite checks or it did not notify user after installation about possible server configuration gaps. So if the environment did not contain all the needed components installer executed without warning or errors and user had the feeling that it should work even though let’s say like ASP .NET was missing completely. Other thing in the 1.0 version was that is used a default configuration set that didn’t work on majority of environments (i.e. impersonation configurations).

We released on Noveber 2009 Helium 1.1 version where one of the top priority improvements was to enhance installation experience. So in 1.1 first of all there’s the environment prerequisite check. If some of the components is missing procedure will not let user continue with installation – although there are command line parameters for force installation or scripted installation. Simple but works.

Secondly Helium starts a configuration process after installation has completed successfully. In the earlier version user had to manually change for example connection strings to BizTalk databases if they were located in external server – which of course is the case in typical BizTalk environments. Now configuration process queries all the needed information for setting up proper parameters for Helium configuration. Also native IIS7 and full 64bit support is now available. 


Features

Helium contains basically two views, first one for overall BizTalk system status and general performance statistics. Second view is a deeper dive into specific BizTalk application artifact statuses and suspended instances with details.

BizTalk Application Overview

Helium shows the overall status of all BizTalk applications and also a warning if a host instance is in stopped or paused state. For each application Helium shows overall status, if there’s been suspended instances within the last day line for application its marked with red color and ‘error’-icon. Last column shows the timestamp of latest suspended instance. 

If there are suspended instances but they have been suspended over a day ago application is marked with yellow and ‘warning’-icon. Status column icon represents if there are any send ports, receive locations or orchestrations stopped, unenlisted or disabled.


Performance statistics

Throughput graphs give an overview of the BizTalk system load. Orchestrations completed shows how many orchestrations have been completed per hour in all applications. Messages sent and received show how many messages have been processed per hour through all send and receive ports. Messages processed by internal orchestration ports are not included in the counts.

The counts are gathered for the past 7 days from the BizTalk tracking database. The count data is updated automatically every hour. This also means the latest executions will show in the chart after a maximum one hour delay.


The performance counter graphs show the load on the server on where FRENDS Helium has been deployed. The graphs show the average value per minute for all counters, except the throttling graph which shows if throttling was on at the time. Data is currently shown for the last 10 hours.

The performance counter data is stored in memory. Every time FRENDS Helium Application Pool's worker process in IIS is recycled, the stored counter data is reset. FRENDS Helium installer sets the recycle time to 7 days by default

Monitored performance counters for example are: % processor time, % disk-non idle time, memory usage, thread counts and handle counts.


Bottom two performance graphs show BizTalk resource usage values. Bottom left shows counters for BizTalk databases like message box spool size, number of messages in host queue and tracking data size.  Here continuously growing graphs indicate problems. Bottom right graph indicates if BizTalk starts throttling and also the reason why throttling is on. If your system is healthy and running smoothly throttling graphs is empty. Long throttling states should be looked in to.


Application level

From the first BizTalk group application overview page it is possible to drill into single BizTalk application for more detailed information. Application view shows configuration and artifact statuses from single selected application along with throughput data and suspended instances. As in application overview on the front page, the application details are also cached for 1 minute, and changes made in BizTalk applications can be seen once the details can be regenerated after the caching interval has expired.


Application throughput graph is quite similar to that on the overview page. The main difference to overview page's graph is that it only counts the messages and orchestrations related to the selected BizTalk application.

The suspended instances list contains a paged list of instances related to the selected application. When you click a suspended instance on the list, the message flow for it is shown up to the point where the error occurred. Details from each step and message in message flow can be viewed by selecting a step from the message flow.


Depending on the BizTalk artifact (orchestration, send port, receive port or generic) different details are shown. One or more of the following details can be seen for selected instance:

  • Message flows
  • Context details
  • Message content
  • Subscriptions
  • Orchestration executions


If message content tracking is turned on Helium also shows the actual message payload easily from the same view.


Future

At recent PCD09 BizTalk product team announced areas of enhancement for BizTalk Server 2009 R2. Of course when delivery of 2009 R2 comes closer topics get more detailed and some of things planned now might change. Anyway one of the big topics is productivity improvements which with current knowledge covers dashboard for performance configuration and new SCOM pack for better reflect on BizTalk artifacts.

Both of the improvements planned by MS product team are great but they don’t conflict with 3rd party monitoring tools nor make them useless. Quite contrary I believe that more Microsoft develops more efficient ways to control and configure BizTalk environment there’s also a proven place for tools that utilize the artifact data and data flows within BizTalk and create additional features on top. 

Challenge is how to create the tool that actually adds value and is easily pluggable without complex configuration for majority of typical BizTalk environments and does not need a serious customization. We have some research and development going on around the challenges mentioned and current plan is to get Helium vNext with some great new innovations out during the first half of 2010.

Posted by Pekka Jaarinen

Response to “FRENDS Helium tutorial”

12/24/2009 01:18 PM - by Günther Zermatt
I've been looking for a tool which would ease Integration testing of BizTalk solution. Getting the message payload is a one major requirement for this kind of monitor that Helium seems to be the answer for.

What about succesful exucution instances, can monitor also during Integration tests if message tracking is enabled?

Merry Chistmas and keep up the good work.

-GZ

Response to “FRENDS Helium tutorial”

12/28/2009 10:17 AM - by Pekka
Thanks for the valuable feedback!

With current version monitoring the load and thoughtput of successful messages is built-in feature but drilling into successful instance payloads is not possible.

Can you describe the use case when this would be needed? Would making possible to drill into n-latest successful instances be enough to fulfill requirements - i.e. when executing tests with hundreds or thousands of messages tracking all payloads is not an option from performance point of view.

Cheers,
Pekka

Response to “FRENDS Helium tutorial”

12/29/2009 10:33 PM - by Günther Zermatt
I referring to an integration testing (before stress testing) where we would like to see how manually sent message is handled by BizTalk - in addition to failed instances also the knowledge that BizTalk succesfully processed the message to destination is valuable. Last five to ten instances would be quite enough. If this information could be seen by ERP developers understanding the basics of integration, testing would be lot faster - and cheaper.

In production phase mere information that messages are really flowing is useful - quite often integration platform is blamed for failing even the source system has not sent anything.

regs,
Günther

Response to “FRENDS Helium tutorial”

12/30/2009 02:48 PM - by Soumyajeet
Get your counter from DTADB is a bad idea as its recommended to turn global tracking off for improved performance of the system

Response to “FRENDS Helium tutorial”

01/10/2010 12:30 PM - by Günther Zermatt
Yes it is a bad idea indeed in production environment. Nevertheless I was speaking about test platform - no sense on turning tracking off there.

G

Response to “FRENDS Helium tutorial”

05/10/2011 09:48 PM - by High Waist Shorts
It does seem that everybody is into this kind of stuff lately. Don

Leave a reply

Blog Archives
Search from Blog