Tra i tanti servizi di Microsoft Azure, la piattaforma dispone anche di uno dedicato alla raccolta di metriche e errori, con la relativa visualizzazione in grafici.
Il servizio si presta inoltre anche al monitoraggio delle proprie risorse. Infatti, attraverso la sezione Availability possiamo inserire uno o più test che regolarmente interrogano un indirizzo svolgendo un duplice compito: mantenere sempre attivo il sito e controllare se questo risponde.
L'uso di Application Insights è gratuito sotto certe soglie e non ci sono particolari limiti per i test di monitoraggio. E' sufficiente quindi andare nella sezione e premere Add test.
Ci vengono chiesto poche ma efficaci informazioni: l'indirizzo da chiamare, se interrogare anche le risorse restituite (in caso di HTML), se effettuare più tentativi e ogni quanti minuti effettuare il test. Molto interessanti sono le sezioni successive. Possiamo decidere da quali regioni geografiche effettuare il test e i criteri per giudicare concluso con successo un ping.
Possiamo decidere il timeout da applicare e se valutare l'esito della risposta sulla base dello status code HTTP o sulla base del contenuto restituito. Infine possiamo decidere cosa fare in caso di fallimento del ping.
Occorre scegliere una finestra temporale entro il quale gli n fallimenti si devono verificare e se mandare un'e-mail. La cosa sicuramente interessante è la possibilità di invocare un web hook, cioè di effettuare una chiamata HTTP verso un indirizzo remoto con un JSON contenente le informazioni sul ping. Questa possibilità, abbinata ad una Azure Function, apre la possibilità ad infiniti scenari di reazione all'evento.
Salvato il test possiamo attendere qualche minuto e cominciare a vedere nel pannello principale l'esito di ogni test. Entrando in uno di esso possiamo vedere maggiori informazioni, come si evince dall'immagine successiva.
Per il payload del web hook rimandiamo al seguente indirizzo
https://docs.microsoft.com/it-it/azure/monitoring-and-diagnostics/insights-webhooks-alerts
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Semplificare il deployment di siti statici con Azure Static Web App
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Evitare la script injection nelle GitHub Actions
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Utilizzare gli snapshot con Azure File shares
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Creare alias per tipi generici e tuple in C#
Controllare gli accessi IP alle app con Azure Container Apps
Usare un KeyedService di default in ASP.NET Core 8
Routing statico e PreRendering in una Blazor Web App
Cambiare la chiave di partizionamento di Azure Cosmos DB
Verificare la provenienza di un commit tramite le GitHub Actions