Send BizTalk tracking data to Azure Application Insights or Event Hubs
Starting with BizTalk Server 2016 Feature Pack 1, you can process and send your tracking data to Azure Application Insights.
Starting with BizTalk Server 2016 Feature Pack 2:
- Application Insights supports SQL default instances, and SQL named instances
- You can process and send tracking data to Azure Event Hubs
Use these Azure services to track your instances from receive ports, send ports, and orchestrations.
- Create a new instance of Application Insights. BizTalk Server uses the Instrumentation Key to authenticate.
- Create an Azure Event Hubs namespace and event hub. BizTalk Server uses the SAS (namespace-level) or event hub-level policy to authenticate.
- Install Feature Pack 2 on your BizTalk Server
Enable analytics for your environment
- Open the BizTalk Server Administration console, right-click the BizTalk Group, and select Settings.
- Check Enable group-level analytics.
For the Target type, select Application Insight or Event Hub from the list.
For the Connection parameters, select the ... button, and Sign-in to your Azure account.
For Application Insights
Select your Subscription, Resource Group, and your Application Insights instance.
For Event Hub
Select your Subscription, Resource Group, Event Hub namespace, and event hub. For authentication, you can use an access signature (SAS) at the namespace-level, or entity signature at the event hub-level. Your available keys are auto-populated with the values previously configured within Azure.
Select OK to save your changes.
Once enabled, BizTalk Server is ready to transmit data to your Azure resource. Next, enable analytics on your ports and orchestrations.
Enable analytics on your artifacts
- In BizTalk Server Administration, right-click a receive port, send port or orchestration, and select Tracking.
Under Analytics, check Enable Analytics, similar to the following. This setting starts tracking and transmitting data from the artifact to your Azure resource.
Select OK to save your changes.
- Restart the tracking host Instance, and confirm the BizTalk Application is started.
Connect your BizTalk Server Analytics with other systems to gain even more insight into your organizations data.
View your data
Use Application Insights
Once the data is sent to Application Insights, you can use the analytics tools within Azure to create advanced queries, and analyze your data.
- Sign in to the Azure Portal.
- Open your Application Insights resource, and select Metrics Explorer.
Empty charts may display. In a chart, select Edit. Under Metrics, select Custom to see the available tracked properties. Select some of the different options to see the changes on your chart:
Go back to your Application Insights resource, and select Analytics. In Usage, select Run. A sample query is executed, and the results are displayed in a chart.
Azure Application Insights is a powerful tool. There are resources to help you write queries in Application Insights at Analytics in Application Insights, and even to get started at What is Application Insights?.
Use Event Hubs
Once the data is sent to Event Hubs, there are a couple of ways to see the data. Many Event Hubs users are using Event Hubs Capture to load streaming data into Azure. The intent is for you to focus on data processing, rather than on data capture. Event Hubs Capture explains how it works, and how to set it up.
Another option is to create a receive port and receive location using the Event Hub Adapter. Then, you can output the data to a folder. This idea may be best if you want to test the scenario. Event Hubs adapter lists the steps to receive messages into BizTalk Server from Event Hubs.
Where the data is stored
Your tracking data should display fairly quickly (within a few minutes) within your Azure resources. If it doesn't, then there may be an issue with the tracking host. In SQL Server, the Analytics data is stored in the BizTalkMsgBoxDb database, in the TrackingData_2_x tables. In SQL Server Management Studio, return the top 1000 rows on these four tables. If the data is there, then the tracking host is not moving the data to the BizTalkDTADb database.
Some possible resolutions:
- Restart the tracking host.
Create a dedicated tracking host. When BizTalk Server is installed, tracking may be enabled on the BizTalk Server Application 1 host. Typically, this application is also used to process messages. Create a dedicated tracking host using the following steps:
In BizTalk Server Administration, open the properties of the BizTalk Server Application 1 host, and uncheck Allow Host Tracking. Restart this host instance.
Create a new host named Tracking, and check Allow Host Tracking. Create a host instance, and start it.
Now, query the BizTalkMsgBoxDb TrackingData_2_x tables again. If the tables are empty, then the data was moved, and should start displaying in Application Insights.