Custom Alarm Monitoring Widget in Operations Dashboard

Customer Feedback getting Answered: Custom Alarm Monitoring Widget in Operations Dashboard

Published on : Sep 11, 2017

Category : BizTalk360 Update

rochelle

Author

We are planning a series of blogs, Customer feedback getting Answered, where we will be trying to address and answer some of the issues where a workaround is possible rather than awaiting a new feature release. Many of our customers put a lot of effort in describing their problems in the feedback portal – (where we collect all requirements in single place and we pick the popular features to be implemented based on the voting done by various customers). We often go through the feature requests – updating the status of the issues and also discussing them with our technical development team of the feasibility of implementing them. Behind the scenes, we go through a process for the popular requests and help to bring them to implementation in the upcoming releases. In one of our previous blogs, I went through the FAQ’s a lot of our customers usually have. In this article, I take an issue from the feedback portal and show how it can be solved with the API we expose.

The Issue:

Monitoring Alarms information on the Operations Dashboard

The Operations Dashboard is widely used by a lot of companies to have a quick overview of the system. While we do have a lot of interesting widgets, we do not have anything which links the Alarm notification section to this area. http://feedback.biztalk360.com/forums/331698-biztalk360-monitoring/suggestions/20369500-widget-with-errors With API Documentation capability of BizTalk360, we have exposed over 350 REST services (APIs) that have the capability to retrieve the requested information from the BizTalk server environment. The APIs are defined as Swagger files which mean that you have the ability to execute them online to see if the result is what is intended. For example, you may want to display the list of BizTalk Applications or the performance of the BizTalk server (such as CPU, Memory, etc.) in a custom dashboard application within your organization. With BizTalk360 API Documentation, it is very easy for you to consume the API and retrieve the information from the BizTalk server environment. It not only ends with these. You can access pretty much any information like EDI, BAM, Artifact information, and so on from the BizTalk environment with the help of BizTalk360 APIs.

The Solution:

I have used for this example, a very simple API to retrieve the latest monitoring data for a specific alarm from the below API. GET Services. REST/AlertService. svc/GetLatestMonitoringData You can use the BizTalk360 API documentation to test your parameters and then view the output response. In BizTalk360, navigate to Settings -> API documentation -> Select Alert services from the dropdown and then select GetLatestMonitoringData. Customer Feedback getting Answered: Custom Alarm Monitoring Widget in Operations Dashboard

Current Alarm Monitoring Dashboard View

This is how my Alarms current state is in the Monitoring dashboard is currently. Custom Alarm Monitoring Widget in Operations Dashboard And now to view the same data in the Operations Dashboard, we need to create a custom widget which will use the API call as shown earlier. All you need to provide is the <Environment ID> & <Alarm Id> to pass as parameters which you can retrieve from the SQL tables. (Environment ID is provided at the top of the API Documentation page already)

A script for the custom widget:

<script>
    sqlJobs = ko.observable();
    var AlarmName = 'DataMonitor';
    test = ko.observable(0);
    activate = function () 
        {
            var _this = this;
            _this.getSQLJob(function (data) {
                _this.sqlJobs(data.monitoringDataList);
                console.log(sqlJobs());
           });
        };
        
    getSQLJob = function (callback) {
        var url = 'http://biztalk360demo/BizTalk360/Services.REST/AlertService.svc/GetLatestMonitoringData';
        $.ajax({
            dataType: "json",
            url: url,
            type:"GET",
            data: { environmentId: 'D5C99999-AAAA-AAAF-6666-D1AEC44F1949', alarmId: 'C777777A8-66F7-467C-83F1-0A2333ED022F'},
            cache: false,
            success: function (data) {
                callback(data);
                },
            error: function (xhr, ajaxOptions, thrownError) { //Add these parameters to display the required response },
                });
        };
    activate();
    setInterval(function(){
          activate(); // this will run after every 60 seconds
    }, 60000);
</script>
Then you can use this code for the widget which I wrote to have a basic widget for a specific alarm to show on the Operations Dashboard. Custom Alarm Monitoring Widget in Operations Dashboard Thus, you can see for the Alarm – Demo Alarm, I have displayed all the artifacts and the state they are in. This can be crucial for those who use their dashboards a lot. Rather than switch to the Monitoring dashboard, you can view the same data as a widget on the Operations Dashboard, along with other useful information. Hopefully, this blog gave you some more ideas on how you can use the API & Custom widgets to customise the data displayed. If you have any questions, contact us at support@biztalk360.com. Also, feel free to leave your feedback in our forum.