Introduction to Biztalk360
BizTalk360 is a browser-based monitoring application for Microsoft’s BizTalk integration platform. The out-of-the-box monitoring functionality can be difficult to navigate both for new users and experienced admins, and is complex and time consuming to set up for multiple users with varying access rights. BizTalk360 combines the Admin Console and Event Log, with some added analytical and notification functionality, to create an easy to navigate operational tool.
In this overview of basic BizTalk360 setup, I will assume you have a BizTalk application already deployed that contains at least one receive port and send port. Although there is a huge amount of configuration and monitoring that can be done through BizTalk360, this article will focus on initial configuration and simple environment health monitoring.
After purchasing a BizTalk360 license, or signing up for the free trial, you will receive an email with the download link, an order code, and an activation code. Save this email for future use. Use the link provided to download the msi installation file. Follow the onscreen prompts for installation. The installer will check for several prerequisites and require you to correct any conflicts or missing requirements. The BizTalk360 documentation has rundown of how to fix the commonly missing conditions.
After installation, several settings need to be configured in the application itself for proper functionality. BizTalk360 contains a “To Do List” under Settings that lists which items are yet to be configured. For this introduction, the most important configuration is the SMTP Settings, which can be accessed through the To Do List or in the Monitoring And Notification sub-header.
Alarms are the beating heart of BizTalk360’s monitoring system. Individual alarms will determine the type of alert being sent, the frequency of the alerts, and the maximum sent at any given time. Once the alarms have been created, various environment settings and data monitoring processes can be attached to the alarm. One monitoring processes have been attached, the alarm will trigger and sent an alert when the components being monitored stray out of normal operating parameters.
Alarms are created in the Monitoring tab, under the Manage Alarms sub-header. When creating an alarm, you can specify the alarm type or create a “Consolidated Monitoring” alarm. Each of the three monitoring types provides different settings for triggering the alarm. I suggest choosing a “Consolidated Monitoring” alarm for most cases, as this type of alarm will allow for all three of the following triggers to be used in the same alarm. Consolidated alarms are simply more flexible, especially during the testing phase.
Threshold monitoring will trigger an alarm when the attached process or component is in an invalid state for the specified length of time. With this monitoring type, the number of alerts can be limited and there is an option to create a notification when the process or component returns to a valid state. This alarm can be limited to trigger only during specified times. Threshold monitoring is used for creating alerts when errors occur.
A health monitoring alert checks the state of the attached components or processes on a set schedule and sends an alert containing the health status. This alarm will only be triggered on its specified schedule; it will not send an alert outside of that schedule if an error occurs.
Data monitoring alarms are only attached to processes and components in the Data Monitoring sub-header. These alarms are meant to trigger when a certain process or query is above/below a specified threshold for number of messages or errors.
One of the most basic aspects of the BizTalk360 functionality is the ability to monitor the health of your applications and server. This can be done through a dashboard, which displays an overview of the state of various components, or through an alarm, which will send notifications alerting the recipient to the component’s state.
Scheduled Environment Monitoring through Alarms
First, create a Health Check Notification or a Consolidated Monitoring Alarm. If you choose to create a Consolidated Monitoring Alarm, ensure that the “Alert on threshold violation” option is unchecked. Set the Health Monitoring Alert as shown below. We are setting the alarm to send an email every hour. This is just for testing purposes, and in a real-world scenario, you would most likely limit these emails to business hours.
The next step is to map/attach a component to this new alarm. The Health Check alarm can be mapped to any of the components in the Manage Alarms sub-header. For this tutorial we will map the alarm to application components. Select the “Applications” page and then click on the application name that will be mapped to.
Within the application mapping, the alarm can be attached to service instance states, orchestrations, receive locations, and send ports. To map components to the alarm, select the desired alarm at the top of the page. Next select the component(s) to be monitored and select the Expected State. If the component is not in this expected state, it will trigger a threshold alarm or be highlighted in the next health check alarm notification. In the example below, if the DBSendPort component is stopped or unenlisted, the “BT360 Intro Blog” health check alarm will highlight this port in the next email notification it sends.
To test this alarm, simply wait for the next scheduled alert; which should be every hour, on the hour.
Immediate Environment Monitoring through Alarms
A Threshold Monitoring alarm allows for more immediate feedback when a component enters an invalid state. To set up a threshold alarm, either create a new Threshold Monitoring Alarm (similar to how the Health Check Notification was created above) or modify the alarm that you created in the last section. Configure the threshold alert settings to match the following:
If you modified an existing alarm, you will not need to re-map. If you created a new alarm, map the alarm to any application component as shown above.
To test the Threshold Monitoring alarm, open the BizTalk Admin Console and navigate to the component that your alarm is mapped to. In our example that would be “DBSendPort”. Stop or unenlist the component and wait for a few minutes. The email you specified for the alarm should receive a “DOWN” email notification once the component has been stopped for at least 1 minute. BizTalk360 will continue to send alerts until the component is back in the expected state, though in this example we have limited it to 3 notifications. Once the component returns to the expected state, another email notification will be sent informing the user that the component is “healthy” again.
Environment Monitoring through Dashboards
Dashboards are another powerful tool in monitoring BizTalk environments. They allow users to get a rundown of the general health of an environment and identify problems at a glance. Dashboards are also useful for stakeholders who need to monitor processes, but should not be limited in the actions they are able to perform.
To create a new dashboard, click on “Add Dashboard” in the upper right-hand corner of the Operations tab and name your new dashboard. There are two configurations that are optional when creating a new dashboard. If the default widgets option is enabled, the 5 “default widgets” will be added to the new dashboard. A list of those widgets can be found in the Biztalk360 documentation. The “Global Dashboard” option will allow the dashboard to be access by all users in the environment. Without the Global Dashboard option enabled, the newly created dashboard will only be visible to the current user.
For this tutorial, add the following: Alarms, Artifact Count, Receive Ports, and Send Ports. Save the dashboard. The widgets can be resized, renamed, and moved if you click on “Customize” in the upper right-hand corner. Stop, start, and unenlist your application components in the BizTalk Admin Console to see the dashboard change.
The Alert History sub-header in the Monitoring tab displays all recent alerts sent by BizTalk360. In addition to the emails notifications you’ve already seen demonstrated, alerts can be sent through SMS/text or other pre-defined notification channels like Slack and ServiceNow. Custom notification channels can be set up as well.
Errors & Warnings
The Errors & Warnings sub-header contains a list of all the current errors/warnings. The above errors were generated by stopping a send port before dropping a file into an enabled receive location.