Azure Status Page Server Side Meters

In the last article we described the details about client side meters and how to use them with Azure Status Pages. But there are situation where you would like to observe your application from the outside view. This article describes the Service Side Meters Azure Status Page supports as well.

What is a Meter?

In the Azure Status Page project a Meter is something that describes a specific metric you would like to measure and observe. Meters can be defined in the Azure Status Page Site Extension as Service Side Meters. Another convenient way is to define and send meters in your own application. This kind of meters are called Client Side Meters and can be defined and updated via an SDK delivered from us.

Server Site Meters

meters-2017-02-26-18-56-32

Server Site Meters in Azure Status Page are checking if a given HTTP or HTTPs endpoint is available. As soon as the meter is defined, Azure Status Page checks the availability of the service on a recurring basis. Similar to the Client Side Meters a failed meter will influence the status page and will communicate it to the operations staff via PushOver notifications.

Which Server Side Checks are important for you? We are planning to offer more needed Server Side Meters soon. Please let us know via GitHub Issue or via blog comment what’s needed.

 

 

Azure Status Page Client Side Meters

In the last weeks we were working on the Azure Status Page Generator to give everybody the chance to generate Status Pages within minutes. Start right now with it by visiting our project page at GitHub.
This article digs deeper into the Client Side Meters feature of the Azure Status Page Site Generator.

metr1

What is a Meter?

In the Azure Status Page project, a Meter is something that describes a specific metric you would like to measure and observe. Meters can be defined in the Azure Status Page Site Extension as Service Side Meters. Another convenient way is, to define and send meters to your own application. This kind of meters are called Client Side Meters and can be defined and updated via an SDK, delivered from us.

Client Side Meter SDK

Azure Status Page currently offers SDKs for two major platforms. The nodejs SDK is available as NPM component:

npm install azure-status-page-client –save

Azure Status Page also supports C# application e.g. ASP.NET WebServices or WebWorker for background processing. Just install the NuGet package as follows:

Install-Package statuspageclient

Meter Examples

Good examples for Client Side Meters are the following, that we are also using in production:

  1. Queue Triggered WebJob HeartBeat
    A worker implemented based on Azure WebJobs and triggered via QueueMessage can be observed with a client side heartbeat meter. Just send a message during every polling to the Azure Status Page. As soon as your worker is blocking or hanging, a filed meter will be detected and you will get notified via PushOver.
  2. Free Disk-Space for Caches or Max Size of a file Cache
    Sometimes using file based caches on the application server can help to speed up your application dramatically. During the maintenance  process for the cache the client side meter can send the size of the cache or the free disk space to Azure Status Page. You will get an alert when the cache grows abnormally or your disk space exceeds.

Do you have other ideas for great client side meters? We are planning to offer pre-developed meters as part of our Client SDKs that you can plug into your application directly. Let us know via GitHub Issue or via blog comment what is needed.

Azure Status Page Generator available as Site Extension

When I started to think about Status Pages several requirements that need to be full filled came to my mind, e.g. the status page needs to …

  • …run on a separate infrastructure, e.g. a different geographical region or in a different cloud infrastructure
  • … support client side meters which are pushed to the status page directly out of the application
  • … support server side meters which are executed from the status page on a recurrent schedule
  • … communicate service outages to the customers
  • … support push communication to the operations staff with all the details to bring the service back on track

There are several SaaS services offering a solution on the market, e.g. https://statuspage.io. The Azure Status Page Generator is a project intended to offer a similar service, self hosted in Azure App Services. The Status Page Generator comes as a Azure App Service Site Extension that allows everybody to create status pages in Azure within minutes.

extension-result

The services runs directly under all Azure App Service Plans and implements the following basic features:

  • Displays Status for several different components and meters
  • Allows customising and personalisation
  • Notifies staff via PushOver notifications when a meter fails
  • Supports Client Side and Server Side Meters

If you would like to contribute, please visit our project page at GitHub. Just want to build a Status Page in minutes, install the Azure App Service Site Extension from the Site Extensions Gallery.

Are there features missing? Please let us know via GitHub Issue or leave a comment in this blog.