When you install the .NET Agent on a Microsoft BizTalk Server, the agent automatically discovers BizTalk entry points and exit points so you can monitor your BizTalk integration.

Requirements

  • Microsoft BizTalk 2010, 2013
  • BizTalk must be a downstream tier from an originating tier for a business transaction. The agent doesn't discover BizTalk as the originating tier of a transaction.

Entry Points

The .NET Agent detects incoming BizTalk requests using the WCF Send Adapter or the SOAP Send Adapter.

Instrument the BizTalk Service

  1. Install the .NET Agent on the BizTalk server. See Install the .NET Agent for Windows.
  2. Register the "enable-soap-header-correlation" app agent node property with a value of "true" for the nodes upstream from the BizTalk tier. See App Agent Node Properties.
  3. Instrument the BizTalk service executables: BTSNTSvc.exe and BTSNTSvc64.exe. See Configure the .NET Agent for Windows Services and Standalone Applications. For instance:

    <standalone-applications>
      <standalone-application executable="BTSNTSvc">
        <tier name="BizTalk Service"/>
      </standalone-application>
    </standalone-applications> 

    If you run multiple instances of BizTalk on the same Windows server, you can assign the different instances to unique nodes using command line options. For example, to differentiate nodes within the same tier, specify the BizTalk Service command "name" parameter in the standalone application command-line attribute:

    <standalone-applications>
      <standalone-application executable="BTSNTSvc" command-line="-name &quot;BizTalk1&quot;">
        <tier name="BizTalk Service"/>
        <node name="BizTalk1"/>
      </standalone-application>
      <standalone-application executable="BTSNTSvc" command-line="-name &quot;BizTalk2&quot;">
        <tier name="BizTalk Service"/>
        <node name="BizTalk2"/>
      </standalone-application>
    </standalone-applications> 

    Notice the use of quotes to enclose the name command-line parameter. 

  4. Optionally enable BizTalk performance counters. For more information, see Manage Windows Performance Metrics. Refer to the Microsoft BizTalk Server documentation for descriptions of individual performance counters.

    <machine-agent>
      <!-- BizTalk Performance Counters -->
      <perf-counters>
        <perf-counter cat="BizTalk:Message Agent" name="High database session" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High database size" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High in-process message count" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High message delivery rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High message publishing rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High process memory" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High system memory" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="High thread count" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery delay (ms)" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery throttling state" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message publishing delay (ms)" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message publishing throttling state" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery incoming rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery outgoing rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message publishing incoming rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message publishing outgoing rate" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery throttling state duration" instance="*"/>
    	<perf-counter cat="BizTalk:Message Agent" name="Message delivery throttling user override" instance="*"/>
    	<perf-counter cat="BizTalk:FILE Receive Adapter" name="Bytes received/Sec" instance="*"/>
    	<perf-counter cat="BizTalk:FILE Receive Adapter" name="Lock failures/sec" instance="*"/>
    	<perf-counter cat="BizTalk:FILE Receive Adapter" name="Messages received/Sec" instance="*"/>
    	<perf-counter cat="BizTalk:FILE Send Adapter" name="Bytes sent/Sec" instance="*"/>
    	<perf-counter cat="BizTalk:FILE Send Adapter" name="Messages sent/Sec" instance="*"/>
    	<perf-counter cat="BizTalk:SOAP Receive Adapter" name="Messages received/Sec" instance="*"/>
    	<perf-counter cat="BizTalk:SOAP Send Adapter" name="Messages sent/Sec" instance="*"/> 
      </perf-counters>
    </machine-agent>

Once you've completed instrumentation, the .NET Agent correlates traffic through your BizTalk server:
Transaction Flow Map

If you enabled Performance Counter metrics, they appear under the Custom Metrics tree in the Metric Browser.