Skip to content

The Benefits of Azure Dashboard Monitoring and Alerts

Technology

Nov 30, 2020 - 5 minutes read

1135 Benefits Of Azure Dashboard Blog 416X300
Jarosław Weselski Software Engineer

Software Engineer with several years of experience. He’s been working at Objectivity for over two years. Currently focused on .NET, Azure, and front-end technologies. Loves travelling in his spare time.

See all Jarosław's posts
1553 Devops Whitepaper News Section 416X300 EN

Share

Business Brief

This article explores the topic of application monitoring with Azure Dashboard Monitoring and Alerts.

What kind of projects is this solution recommended for?

  • Large applications, which support heavy traffic,
  • Sensitive systems that should always be available,
  • Websites with frequent crashes.

Why is that so? This solution is beneficial for the business as it easily eliminates errors and, as such, lowers the costs you would have to otherwise incur.

Introduction

Thanks to the Microsoft Azure platform, we’re able to easily create all kinds of resources. This service provides monitoring, thanks to which you can get measurable benefits in terms of the availability and performance of your applications. This kind of solution, created by Objectivity, was used by one of our clients in their project.

Basic Monitoring

Let’s think of an example of an application that we’re hosting on Azure and assume that it’s using the following resources:

  • App Service – web application hosting service,
  • SQL Server – database server,
  • SQL Database – database,
  • App Service (Azure Function) – service that enables the function to be run without having to worry about the application’s infrastructure,
  • Storage Account – a place to store blobs, files, queues,
  • App Service Plan – configuration of the equipment on which our application works.

Our application is a website based on the Umbraco CMS and extended with a functionality that uses the Azure Function.

An environment configured in this way allows us to examine several parameters provided by the metrics. Just select App Service and click on the metric in Metrics that is of interest to you.

Application Insights

At times, there may appear a need to monitor completely different application parameters – such as the ones which cannot be verified by default. This was the case with our client's system.

We decided to use the Application Insights service for this purpose. To do so, we created two additional resources connected to the existing App Service.

We started our work by setting goals that such monitoring was required to meet:

  • examining the number of users on the website,
  • tracking traffic on individual subpages,
  • detecting an invalid business process that would require using the Azure Function.

It may seem like solving such problems can be quite complex and expensive. That’s not true at all!

The developers working on the project had to start their work by installing a package that would support Application Insights. Then, the only thing left to do was configuring it in accordance with Microsoft's instructions. This is not the end of the process though.

Let's divide the work into two stages:

  • tracking users and website traffic,
  • taking care of the client's business process.

In the first stage, we focused on the user. The moment they log into the application, we also register them in Application Insights. Going further, each user’s traffic is also tracked in routing—thanks to which we’re able to generate charts that show the number of users and their flow.

The second stage required registration of additional events, which consisted of logging success or failure, depending on the result of the Azure Function. In addition, whenever the process failed, we logged the errors, which helped us reach the cause of the problem.

This data is provided to the Azure Portal as metrics on the basis of which a chart can be generated.

Azure Dashboard

At Objectivity, we support our clients and their solutions beyond the end of the project. Our client was offered 24-hour monitoring, which we're constantly trying to expand to make sure that the website is always available to the user.

Monitoring based on the Azure Portal is part of this process. Our 1st line team, which uses this tool, can verify whether anything worrisome is happening to the application.

For this purpose, a Dashboard has been created. It’s a tool that allows you to combine multiple charts with the most important data (e.g. CPU consumption, memory, 5xx errors, etc.). This is important because an overview of this data (see image below) can be displayed on a TV monitor – a common practice in support teams since it makes it much easier to work on resolving incidents.

Logging Exceptions

When something worrisome is happening to the application, it’s worth looking into the application's logs. Thanks to the Azure Portal (in particular Application Insights), we’re able to easily trace exceptions and error codes occurring over a given period of time.

By clicking on a given error, we can view its details and preview its stack trace, which will allow us to find the cause of the problem.

It is also worth adding that we have the possibility of logging our own exceptions. Such personalised messages combined with logs enable incidents to be resolved even faster.

Accessibility Tests and Alerts

As a part of the 24-hour monitoring of the application, we conduct website availability tests. Earlier, we used the Zabbix tool; however, we’ve decided that the Azure Portal is equally good, or even better. In addition, everything works in one Azure ecosystem.

So, we offered 2 types of tests:

  • Application availability test
    • Pings the website every given period of time,
    • In the event of unavailability, repeats this for a specified number of times,
    • If the website is still not available, it sends an alert to the 1st level support team, enabling the team to react.
  • Test for 5xx error codes
    • Pings the website every given period of time,
    • Sends an alert to the code level support team.

It’s worth adding that monitoring can be extended with other tests at any time – and we can define each one of them. We’re even able to create scenarios that will check the availability of application subpages in the correct order by using "bullet points".

It’s important to note that when the test fails, a notification in the form of an email or text message will be sent to the team working on the application.

Summary

Microsoft Azure is a tool that enables us to take advantage of many possibilities. This article discusses the main functions of the Azure dashboard monitoring module. However, please keep in mind that there is still much more to explore. I encourage you to delve deeper into this topic, and discover other ways in which Microsoft Azure can help your business.

1553 Devops Whitepaper News Section 416X300 EN
Jarosław Weselski Software Engineer

Software Engineer with several years of experience. He’s been working at Objectivity for over two years. Currently focused on .NET, Azure, and front-end technologies. Loves travelling in his spare time.

See all Jarosław's posts

Related posts

You might be also interested in

Contact

Start your project with Objectivity

CTA Pattern - Contact - Middle

We use necessary cookies for the functionality of our website, as well as optional cookies for analytic, performance and/or marketing purposes. Collecting and reporting information via optional cookies helps us improve our website and reach out to you with information regarding our organisaton or offer. To read more or decline the use of some cookies please see our Cookie Settings.