Microsoft Azure come Monitorare un servizio con Avvisi e Notifiche Push

In questo tutorial vedremo come configurare degli avvisi tramite notifiche push quando il servizio su Microsoft Azure presenta qualche problema.

Sia che si utilizzano i Service App di Microsoft Azure (App Service) per ospitare un semplice sito web basato su WordPress che un complesso sistema di API, è fondamentale monitorare costantemente le performance del servizio per prevenire eventuali disservizi. Ricevere poi questi avvisi tramite notifiche push permette di intervenire rapidamente.

Come monitorare un servizio Microsoft Azure con notifiche push

Il lavoro che andremo a fare è definire una regola sul sito IFTTT https://ifttt.com/, che tramite un webhook ci permette di ricevere una notifica push sul nostro smartphone. Dopo di che andremo a configurare sul portale di Azure un avviso basato su una particolare metrica da monitorare.

Il portale di Microsoft Azure permette di definire degli Avvisi

Scatenati al verificarsi di regole da noi definite, questi avvisi possono essere ricevuti tramite mail oppure invocare un webhook.

Un webhook non è nient’altro che un indirizzo web che viene invocato al cambiamento o al verificarsi di un evento, questo url a sua volta scatenerà delle modifiche o dei comportamenti in un’altra applicazione, nel nostro caso si occuperà di inviare una notifica push.

Come inviare una notifica push utilizzando il servizio di notifiche offerto da IFTTT e Maker Webhooks

Per chi non lo conoscesse, IFTTT è un servizio web che permette di integrare più servizi attraverso delle regole di “if this than that”, classica struttura di controllo utilizzata nei linguaggi di programmazione.

Mettiamoci a lavoro partendo proprio dal creare una regola su IFTTT https://ifttt.com/create. Se non siete già registrati sul sito dovete farlo per poter creare una nuova regola, che sul sito viene chiamata come Applet, quindi:

♦ Premiamo su “New Applet” e poi sulla scritta “this”

Premiamo su “New Applet” e poi sulla scritta “this”

♦ Cerchiamo il servizio “Maker Webhooks”, un servizio presente in IFTTT che consente la creazione di un webhook personalizzato

Cerchiamo il servizio “Maker Webhooks”, un servizio presente in IFTTT che consente la creazione di un webhook personalizzato

♦ Premiamo sul box verde “Receive a web request”

Premiamo sul box verde “Receive a web request”

♦ Inseriamo il nome dell’evento legato al servizio azure

Nell’esempio useremo “nome_servizio_azure” che vogliamo monitorare, il nome può essere qualsiasi cosa, l’importante è che non abbia caratteri strani, limitiamoci all’utilizzo di caratteri alfanumerici separati da underscore “_”

 Inseriamo il nome dell’evento legato al servizio azure

Ora nello step successivo scegliamo il secondo servizio con il quale far interagire il webhook che abbiamo appena definito.

Per ricevere la notifica push bisogna aver installato l’app mobile sul proprio smartphone iOS o Android e aver accettato la ricezione delle notifiche push all’apertura dell’app.

Se per caso non avete acconsentito a ricevere le notifiche push, potete cambiare la preferenza nelle impostazioni del telefono.

♦ Cerchiamo “Notification”, il servizio di notifiche offerte da IFTTT

Cerchiamo “Notification”, il servizio di notifiche offerte da IFTTT

♦ Premiamo sul box celeste “Send a notification from the IFTTT app”

Premiamo sul box celeste “Send a notification from the IFTTT app”

♦ Creiamo l’azione premendo sul pulsante “Create Action”

Creiamo l’azione premendo sul pulsante “Create Action”

♦ Completiamo la creazione della regola “if this than that” premendo sul pulsante “Finish”

Completiamo la creazione della regola “if this than that” premendo sul pulsante “Finish”

Una volta creata la regola per ricevere una notifica push quando il webhook viene chiamato, dobbiamo recuperare il link del webhook, che ci servirà successivamente nel portale di Azure.

Andiamo a questo indirizzo https://ifttt.com/maker_webhooks o tramite la lista dei servizi IFTTT troviamo “Maker Webhooks”.

♦ Premiamo sul tasto “Documentation”

Premiamo sul tasto “Documentation”

Specificare nella casella il nome dell’evento che abbiamo specificato all’interno della regola precedente, nell’esempio abbiamo utilizzato “nome_servizio_azure”.

♦ Copiamo il link del webhook completo di chiave (key) finale

Copiamo il link del webhook completo di chiave (key) finale

Configurazione di un Avviso sul portale di Microsoft Azure

A questo punto spostiamoci sul portale Microsoft Azure https://portal.azure.com nella sezione del servizio che si vuole monitorare.

In basso, troviamo la sezione “Avvisi”, che ci consentirà di specificare delle regole, basate su alcune metriche.

♦ Premiamo sul pulsante in alto “+ Aggiungi avviso”

Nel portale di Microsoft Azure, sezione Avvisi, premiamo sul pulsante in alto “+ Aggiungi avviso”

Nella schermata che si apre dobbiamo specificare:

♦ la risorsa da monitorare, aprite il menu a tendina e scegliere il vostro “sites”

♦ la metrica da monitorare, aprendo il menù a tendina potrete notare tante metriche

metriche disponibili da monitorare su Microsoft Azure

♦ la soglia dopo la quale verrà scatenato l’avviso

♦ ed infine il link del webhook che avete precedentemente copiato

Portale di Microsoft Azure, risorsa, metrica, soglia e webhook da modificare

Inseeriamo una soglia bassa e testiamo se tutto è configurato correttamente.

Conclusioni

Abbiamo visto come configurare una regola su IFTTT che tramite un webhook ci permette di ricevere una notifica push sul nostro smartphone.

Abbiamo configurato un avviso sul portale di azure che al verificarsi di un evento genera un avviso che invoca il webhook di cui sopra.

Il mio consiglio è quello di monitorare solo un paio di eventi, quelli più gravi, utilizzando un unico webhook, in modo da non dover creare mille regole su IFTTT. Poi alla ricezione della notifica si va sul portale e si indaga su quale è stato il problema.

Fate attenzione a non impostare una soglia troppo bassa altrimenti diventerà un calvario con tutte le notifiche che ricevete 😀

Se questo articolo ti è stato utile, inviami un messaggio con la tua esperienza e quali regole hai ritenuto opportuno monitorare.

Pubblicato da

Enrico Rossomando

Co-Founder and CTO @mangatar, Game and Web Developer. Game deOptimal solution’s hunter. #gamedev #fullstackdeveloper