• Print
  • Share

BizTalk Message Box

  • Updated on 01 May 2018
  • 13 minutes to read
  • Contributors

In this section, the following is discussed:

  • What's the purpose of MessageBox Data Monitoring
  • Setting up a MessageBox Data Monitor
  • Archive And Terminate Suspended Service Instances
  • MessageBox Data Monitoring Email Notifications

What's the purpose of MessageBox Data Monitoring

When messages flow into the BizTalk Server, the messages get persisted in BizTalk Server's MessageBox database. The service instances might move into different states such as Suspended (Resumable), Suspended (Non-Resumable), Active, Ready to Run, Dehydrated and so on. Once the service instance moves into a particular state that demands user intervention, this forces the BizTalk server administrator to manually log in to the BizTalk Server Administration Console and fix the problem with respect to the service instance. BizTalk360 solves this problem through the Message Box (Queries), offering administrators to query the message box database for such messages and take action without having to log in to BizTalk Server Administration Console.

Despite offering this capability to BizTalk administrators, BizTalk360 goes one step further to reduce the manual intervention that is required from the administrators. Through the Message Box Data Monitoring concept, administrators can choose what needs to be done when a service instance becomes suspended. For e.g., the administrator can set up an alarm like "If there are >20 Suspended Service Instances between 09:00 AM and 05:00 PM, resume all the instances". He can simply log in to the BizTalk360 Data Monitoring Dashboard to see the status of the message box data for the day. He can also set up email notifications for the alarm. By doing so, the administrator eliminates the need to often log in to the BizTalk360 application and check for the status of the service instances.

Setting up a MessageBox Data Monitor

Follow the steps as shown below to create a MessageBox Data Monitoring alarm:

  • In case you did not do it earlier, follow the steps as mentioned in this section to create a Data Monitoring alarm
  • Select the 'Use this alarm for Data Monitor Alerts' check box to map the current alarm to Data Monitors. Only when this option is selected, the 'Notify on Success as well' check box gets activated.
  • The 'Notify on Success as well' check box is optional for Data Monitoring, while the Use this alarm for Data Monitor Alerts option is mandatory.
  • Click OK to save the alarm information

BizTalk360-Monitoring-Data-Monitoring-MessageBox-Monitoring.png

  1. Choose Alarm - As mentioned above, the first step to set up message box data monitoring is to create an alarm. Once you have created the alarm, the alarm name will be displayed in the drop down. Select the alarm that should be used for message box data monitoring purposes
  2. Monitor Name - A meaningful name for the Message Box Data Monitor. Say, as per your requirement you want to terminate the suspended instances after every 15 minutes when the count goes above 20. The monitor name can be set as "Terminate suspended instances every 15 minutes when count > 20"
  3. Query Type - This section is very similar to the Message Box (Queries) section in BizTalk360. Select the type of query for which you want to run the data monitor. As per the above requirement, since we are looking for suspended instances, select 'Suspended Service Instances' from the drop down
  4. Add a filter - To filter the query results based on different parameters (application name, host name, instance status, service class, service instance id, service name, service type id)
  5. Warning Threshold - Select the value from the drop down on when you want to be notified when there is a warning. The first drop down is to select the Operator (> or =) and the second operator is to select the warning value. For e.g., When number of service instances are > 10, throw a warning
  6. Error Threshold - Select the value from the drop down on when you want to be notified when there is an error. The first drop down is to select the Operator (> or =) and the second operator is to select the warning value. For e.g., When number of service instances are > 20, throw an error
  7. Send Instance Detail In Notification - Selecting this check box will send the instance details and exception description in the notification email when the number of instances exceed the warning and/or error threshold level
  8. Send message content and context in the notification email - Selecting this check box will send the detailed message content and message context in the notification email when the number of instances exceed the warning and/or error threshold level
  9. How often you want to monitor - Select the duration how often you want to monitor for suspended service instances. The options are - Daily, Weekly, and Monthly. Depending on the selection, you can add further filter criteria on how often you want to monitor
  • Daily - will set up the data monitor to execute everyday
  • Weekly - The data monitor will execute on the selected days of the week (Every Day, Monday-Friday, or the selected day of choice). To add a single day of the week, click the control and select the day of your choice
  • Monthly - The data monitor will execute on the selected day of the month. To add a specific day of the month, enter the date in the space provided or select the date from the drop down If a particular day is not present in the month (say, 29th Feb), then system will skip that month and generate the results on the specified day in the next month
  1. When during the day - Select the time when the data monitor must execute on a particular day during the business hours. You can customize your business hours by selecting the values from the Business Day Start and Business Day End options By default, the business day start time is 9 AM and business day end time is 5 PM Depending on the business hour selection, the following options are available when you want the data monitor to execute on a particular day.
  2. At the end of the business day - If this option is chosen, the data monitor will execute depending on the value chosen in the Business Day End field. For e.g, if the business end time specified is 5 PM (default value), the data monitor will execute exactly at 5 PM Monitor every X minutes/hours - You can define specific intervals during the business hours when the data monitor should execute. The options available are Minutes and Hours
  • Minutes - Select the number of minutes after which the data monitor should execute. E.g., 30 minutes means the data monitor will execute once in every 30 minutes.
  • The minimum time interval supported is 15 minutes, which means the data monitor will execute 4 times (15 minutes x 4 = 60 minutes) in an hour.
  • Hours - Select the number of hours after which the data monitor should execute during the business hours. E.g., 2 hours means the data monitor will execute once in 2 hours between 9 AM and 5 PM.
  • The minimum time interval supported is 1 hour.
  1. Advanced - This section can be used to define advanced settings for data monitoring. You can define a date range (from date and to date) when you want the data monitor to execute. You can set up a data monitor to start, say, on a Monday and end on the next Tuesday. In addition to this, you can set up the other settings mentioned above in the previous steps. This means the data monitor will only start to run next Monday and will not execute after Tuesday By default, the Advanced section will be in Collapsed state. Click the '>' button to expand the Advanced section and make the settings.
  2. Based on only Query result count (no date/time filter) - Selecting this option will execute the query based on the setting for trigger time (Defined under 'At what time' as explained above in step 10). Say, the monitor at set frequency is set to every 15 minutes, the query execution will happen once in every 15 minutes till the specified end time
  3. Based on Query result with date/time range - Selecting this option will activate the "Choose date/time column" drop down from where the appropriate option can be selected (Creation Time). When selected, the query will be constructed with the from/to date time filter based on the selected date/time column, and execute the query with the time range
  4. Is Action Required - Selecting this check box enables you to automate tasks such as regularly terminate instances, resume instances and so on. You can define an action such as "Whenever there are Suspended (Non-Resumable) service instances during the monitoring time range, the system should automatically terminate them. Similarly, whenever there are Suspended (Resumable) instances, the system can automatically Resume these messages.The following options are available for the Is Action Required setting:
  5. When to Action - Defines when you need to take an action - Always (or) when there is an error condition (or) a warning condition. You need to be cautious about enabling it, since some of the actions performed by the system cannot be undone
  6. What Action - Defines what action needs to be taken - Resume, Suspend or Terminate. You need to be cautious about enabling it, since some of the actions performed by the system cannot be undone When you select the action as "Terminate", you will notice the "Archive message(s) content & context associated before Terminate" check box. Selecting the check box will automatically back up the service instance details to a folder and then terminate the instance. Click here to read how to configure the archive location
  7. Number of Retries - Click the numeric value to set the number of retries the process monitoring service should attempt
  8. Summary - The summary information will automatically be populated based on the information selected in the previous columns
  9. Save & Close - Once all the values are selected in the previous steps, click Save & Close to save the settings
  10. Save & Add Another - The entered values will be saved and a new screen will be displayed to create another data monitor
  11. Close - Click Close to discard the changes. When the close button is clicked, system will display a confirmation message as "There are unsaved changes, do you still want to close?". Click Yes to close the Data Monitoring creation window. Click No to remain on the same page
  12. General guideline - Provides information about the operations that can be performed in the current screen

Archive And Terminate Suspended Service Instances

There may be occasions when a BizTalk administrator wants to terminate service instances. Once a service instance is terminated, there is no way the message information can be retrieved from BizTalk. Therefore, a message once deleted is forever deleted from the system. However, there may be situations when the administrators would like to access a previously terminated message. To overcome this limitation, BizTalk360 provides the option for administrators to be able to archive the service instance information (Message Content & Context) before terminating the service instances. In this section, we are referring to the Data Monitoring feature with the capability to archive the message before terminating them.

Configuring The Archive Location For Data Monitoring

The first step in setting up the "Archive before Terminate" option in Message Box Data Monitoring, is to configure the location where the archived files are to be stored. You need to specify a valid file location in order to be able to archive the service instance information before terminating them.

  • Navigate to BizTalk360 Settings
  • Click System Settings option from the left menu
  • In the Archive location for data monitoring (archive before terminate option), enter the path where you want to archive the service instance information
  • Click Save to save the information

BizTalk360-Monitoring-Data-Monitoring-MessageBox-Monitoring-Configure-Archive-Location.png Once you have configured the Archive location, you can setup a Message Box Data Monitor and have it archive service instance information.

  • In the MessageBox Data Monitor, enter the details in the fields as appropriate. Refer to this section to understand about each field in the message box data monitor creation page
  • In the Set Actions section, select the Is Action Required check box
  • Select When to action option from the drop down (depending on the requirement) - Every Time, On Error Condition, On Warning Condition
  • In What Action option, select 'Terminate' as the option from the drop down. When you select Terminate, a check box will appear as "Archive message(s) content & context associated before Terminate". Select the check box to activate the archive before terminate option
  • Click Save & Close to save and close the data monitor

Downloading Routing Failure service instances
BizTalk360 prevents you from downloading Routing Failure service instances, as an an empty file would have been downloaded. In these scenarios, the following will happen: A warning message will be displayed if the user downloads only a Routing Failure Report. If the user selects service instances with different statuses (for example, both Routing Failure and Messaging), the reason for download failure will be shown as a description in the Download Summary.

Data Monitoring Dashboard - Action taken

When the data monitor executes at the specified time (as defined in the data monitor), and if there are any suspended service instances, they will be archived into the specified path (as mentioned in the System Settings screen) and then terminated. This action will be reflected in the monitoring dashboard. If the operation happened successfully, you will notice the 'Download Archive' column header with the Download link to the service instance information. You can download the specific service instance related information from the data monitoring dashboard. Whenever an action is taken on the service instance, a Gear Icon will be visible in the monitoring dashboard.

BizTalk360-Monitoring-Data-Monitoring-Dashboard-MessageBox-Action.png

BizTalk360-Monitoring-Data-Monitoring-Dashboard-Task-Action-Results.png The file path will contain the archived service instances (the .out file and .xml file). You will also find the zipped version of these files just in case you need to transfer these files to your team members.

BizTalk360-Monitoring-Data-Monitoring-Dashboard-MessageBox-Archive-Folder.png

MessageBox Data Monitoring Email Notifications

Once the MessageBox Data Monitor is created and configured, it will execute during the specified time intervals. The Data Monitoring dashboard will display the status of the MessageBox data monitor on a specific date at a specific time interval in the calendar chart control.

Based upon how you configured your Data Monitoring alarm, emails might get triggered to the email id(s) which are specified while creating that Data Monitoring alarm.

The email alert(s) will contain the Message Box Data Monitor Execution Results of the data monitor. By default, if you only selected the 'Use this alarm for Process Monitor Alerts' option, you will only receive the Failure emails to the configured email address(es). Alternatively, if you also selected the 'Notify on Success as well' option, you will receive the success alert emails as well to your mailbox. The following screenshot depicts a success email notification received for a configured MessageBox data monitor.

BizTalk360-Monitoring-Data-Monitoring-Dashboard-MessageBox-Notification-Success.png

The email notification provides the detailed status of the data monitor - the status of execution, the warning & error count as defined in the data monitor and the actual count of service instances that were in the particular state when the data monitor executed. The email notification also provides the detail of whether any specific action was taken by the data monitor (suspend/terminate/resume) as defined in the data monitor.