You can create Process monitors for monitoring the activity of specific Receive Locations and/or Send Ports during a particular period of time (say specific hour in the day or once in every 15 minutes and so on). In this section, the following is discussed:
- Setting up a Process Monitor
- Process Monitoring Email Notifications
At times, the process monitoring may not be working as expected - say, for example, you would have processed lot of messages during the time frame, but the email notification would mean the opposite - a false alert saying there were no messages during the time frame. In that kind of cases, ensure the following prerequisites are met to avoid these kind of situations.
Make Sure The Tracking Setting Is Working As Expected - BizTalk360 Process Monitoring basically relies on the BizTalk Server Tracking data to calculate the transaction volume. As a design principle, we do not want customers to deploy any custom stuff (like pipeline component, pipelines, BAM artefacts) etc. and wanted to take advantage of the power of BizTalk Server itself. So, in order for the process monitoring to work correctly, the tracking settings in the environment must be working correctly. You can easily check whether the events are captured correctly by executing the following query in Operations / Data Access / Graphical Flow (Tracking) with your required settings.
If the result of the above query returns no results, then you have some tracking configuration problem. Follow the next set of prerequisites to solve this problem.
Make Sure Global Tracking Is Enabled In The Environment - You can do this by checking at the Tracking Manager in BizTalk360 (Operations / Infrastructure Settings / Tracking Manager)
You can also check this in the BizTalk Administration Console at BizTalk Group Settings.
Make Sure Event Tracking Is Enabled At The Pipelines Utilized By The Corresponding Receive & Send Port - For example, if you are using PassThruReceive pipeline, you can check, with the Tracking Manager, if the following check boxes are enabled:
Make Sure At least One Tracking Host Instance Is Running - From the below picture, we can see BizTalkServerApplication is the tracking host. We need to make sure at least one host instance is running for this host.
Setting up a Process Monitor
Follow the steps as shown below to create a Process 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 Process Monitor Alerts' check box to map the current alarm to a process monitor. 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 process monitoring, while the Use this alarm for Process Monitor Alerts option is mandatory.
- Click OK to save the alarm information
Let's take a deep dive into the Process Monitoring screen to understand the functionality of every option and control present in that page. The following screenshot depicts the complete process monitoring screen in BizTalk360.
Let's take a look at each item in the screen, in detail:
- Alarm Name - As mentioned above, the first step to set up process monitoring is to create an alarm and map the alarm for process monitor alerts. Once the alarm is created and mapped, the alarm name will be displayed in the drop down
- Friendly Monitor Name - A meaningful name for the Process Monitor. Say, as per your business requirement you are expecting at least 10 messages every hour from the SAP system. The monitor name can be set as "10 Messages per hour from SAP"
- How many messages you expect (operator) - Select the appropriate symbol (<, =, >) depending on your requirement. Say, if you are expecting a 100 messages in a business day, select '='. If you are definitely expecting 50 messages or more, select '>'. Similarly, if you are expecting no more than 50 messages, select '<'.
- How many messages you expect (count) - Enter the number of messages (count) you are expecting during a time frame. As per the above scenario in step 3, enter the value of 100/50
- Receive Port/Receive Location - Select the receive ports/locations that you wish to monitor with the process monitoring functionality. You need to select at least one receive location/send port in order to set up process monitoring. Say, you have one receive port (Contoso_ReceivePort) that is mapped to 10 receive locations (Contoso_ReceivePort_ReceiveLocation1, Contoso_ReceivePort_ReceiveLocation2, and so on) and you wish to monitor each of these receive locations separately. In this case, select the different receive locations from the drop down one by one You can choose more than one receive location to be monitored for a specific data monitor. When the value is selected from the drop down, you will notice both the receive port name and the receive location name displayed in the space provided. This is because a single receive port can have multiple receive locations.
- Send Ports - Select the send ports that you wish to monitor with the process (data) monitoring functionality
- How often you want to monitor - Select the duration how often you want to monitor the state of the receive location and/or send port. 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 process (data) monitor to execute everyday
- Weekly - The process (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 process (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
- When during the day - Select the time when the process (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/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 process monitor to execute on a particular day
- At what time
- At the end of the business day - If this option is chosen, the process (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 process monitor will execute exactly at 5 PM
- Monitor every X minutes/hours - You can define specific intervals during the business hours when the process (data) monitor should execute. The options available are Minutes and Hours
- Minutes - Select the number of minutes after which the process (data) monitor should execute. E.g., 30 minutes means the process monitor will execute once in every 30 minutes
- The minimum time interval supported is 15 minutes, which means the process (data) monitor will execute 4 times (15 minutes x 4 = 60 minutes) in an hour.
- Hours - Select the number of hours after which the process (data) monitor should execute during the business hours. E.g., 2 hours means the process monitor will execute once in 2 hours between 9 AM and 5 PM
- The minimum time interval supported is 1 hour.
- Advanced - This section can be used to define advanced settings for process monitoring. You can define a date range (from date and to date) when you want the process (data) monitor to execute. For e.g., you are expecting a bunch of 100 files from your trading partner next week between Monday and Tuesday. You can set up a process monitor defining the start date to be next Monday and the end date to be next Tuesday. In addition to this, you can set up the other settings mentioned above in the previous steps. This means the process monitor will only start to run next Monday and will not execute after Tuesday
- Summary - The summary information will automatically be populated based on the information selected in the previous columns
- Save & Close - Once all the values are selected in the previous steps, click Save & Close to save the settings
- Save & Add another - The entered values will be saved and a new screen will be displayed to create another data monitor
- 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 Process Monitoring creation window. Click No to remain on the same page
- General guideline - Provides information about the operations that can be performed in the current screen
Process Monitoring Email Notifications
Once the Process Monitor is created and configured, it will execute during the specified time intervals. The Data Monitoring dashboard will display the status of the process 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 Process Monitoring Execution results of the Process 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 screenshots depicts a success and a failure email notification received for a configured Process (Data) Monitor.
Please note that SMTP needs to be configured in order to be able to receive email notifications from BizTalk360. In addition to SMTP settings, make sure the monitoring service responsible to send alerts is running.