Com’è possibile monitorare e gestire le attività di un’architettura Azure con servizi personalizzati? In questo articolo si presenteranno due possibili servizi aggiuntivi custom che permettono l’invio automatico di mail di alert e un report di monitoraggio delle attività di Azure.
Un’architettura Azure, soprattutto se complessa, necessità di un supporto gestionale e per il monitoraggio.
Nell’ambiente Azure sono disponibili servizi di monitoraggio ma questi non sono facilmente fruibili anche dagli utenti meno esperti e non sempre è possibile accedervi tempestivamente attraverso il portale Azure per rilevare eventuali situazioni di criticità. In questo articolo si presentano due evolutive che possono semplificare e agevolare le attività quotidiane necessarie per il mantenimento ottimale della struttura, delle attività, delle performance e che permettono una gestione tempestiva di situazioni di crisi.
La prima possibilità che andremo a presentare riguarda l’inserimento di un sistema di email di notifica automatizzato delle attività svolte. Altro possibile sviluppo potrebbe essere quello di implementare una reportistica di monitoraggio delle attività svolte sfruttando delle opportune tabella di configurazione dei log. Rispetto al monitor di Azure Data Factory questo ha il vantaggio di essere fruibile più facilmente anche dai non tecnici oltre che essere disponibile anche su smartphone.
Invio automatizzato di email customizzabili attraverso il servizio gratuito Azure Logic App.
Nel vasto panorama dei servizi offerti da Azure, Azure Logic App emerge come una risorsa essenziale e gratuita a disposizione dei titolari di una sottoscrizione valida. Questo servizio permette, tra le varie possibilità, di implementare un sistema di notifiche automatiche per monitorare e gestire attività cruciali. Tale implementazione si rivela particolarmente vantaggiosa nell’arricchire l’architettura di un sistema di Data Platform, consentendo una risposta tempestiva in situazioni critiche, come nel caso di mancati aggiornamenti dei dati.
Azure Logic App si configura come una piattaforma cloud avanzata che abilita la creazione e l’esecuzione di flussi di lavoro automatizzati senza richiedere l’utilizzo di codice, seguendo il principio code-less. Attraverso un intuitivo visual designer e sfruttando un’ampia gamma di operazioni predefinite, è possibile sviluppare rapidamente flussi che integrano e gestiscono applicazioni, dati, servizi e sistemi in modo coerente.
Le notifiche sono un elemento cruciale in qualsiasi ambiente aziendale. Sono il ponte tra i dati e le decisioni, garantendo che gli addetti ai lavori ricevano le informazioni di cui hanno bisogno al momento giusto. Ecco come Azure semplifica questo processo coinvolgendo tre componenti principali: Azure Data Factory, Azure Automation e il servizio Azure Logic App.
L’uso di un account di posta di servizio, come Office 365, ti permette di automatizzare l’invio di email in varie situazioni senza la necessità di creare flussi ad hoc per ciascun caso specifico. Questo approccio strategico consente una gestione efficiente e centralizzata delle notifiche, contribuendo alla coerenza e all’efficacia del sistema nel suo complesso.
Ma come funziona in pratica? Per iniziare, si deve impostare una tabella di configurazione che contenga informazioni sull’ambiente di Data Factory di riferimento. Queste informazioni includono il nome della risorsa Azure Data Factory, il nome della pipeline, i destinatari, e altro ancora.
Una volta configurato, Azure Data Factory si prende cura del resto. Viene creata una pipeline che si collega alla tabella di configurazione. Il vantaggio di gestire la configurazione in una tabella permette la completa personalizzazione, ad esempio di corpo, mittente, oggetto, offrendo un livello di dettaglio adattato al caso. Infatti, puoi utilizzare questa pipeline in un contesto in cui gestisci l’aggiornamento di diverse tabelle. Se un aggiornamento non va a buon fine, i dettagli possono essere catturati e utilizzati per arricchire il contenuto delle email. È una soluzione performante per fornire informazioni specifiche caso per caso. Ogni record estratto dalla pipeline genererà una notifica via email.
Per rendere tutto operativo, è necessario inserire l’URL di Azure Logic Apps per l’invio automatico delle email. Come si vede nell’immagine che segue, è possibile includere un controllo extra per garantire la sicurezza. Solo le chiamate autorizzate possono inviare effettivamente le email. Solo le chiamate autorizzate possono inviare effettivamente le email. Si tratta essenzialmente di un meccanismo di sicurezza al fine di ridurre il pericolo di attacco, chiamato “denial of service” (DoS), dove un terzo soggetto volutamente danneggia servizi altrui sovraccaricandoli con migliaia di chiamate. In altre parole, i consumi sono legati solo all’invio effettivo delle email, non alle chiamate delle Logic App.
In breve, Azure semplifica il processo di notifiche automatiche con una configurazione intuitiva e un controllo sicuro; offre una soluzione efficace per garantire che le persone giuste ricevano le informazioni necessarie per potersi concentrare su ciò che conta di più per il business.
Reportistica Power BI per il monitoraggio delle attività di Azure
Un ulteriore sviluppo interessante consiste nell’implementare una reportistica per monitorare le attività svolte, sfruttando la tabella di configurazione dei log. La tabella dei log contiene informazioni relative alle attività svolte, come ad esempio il nome della pipeline che è stata eseguita, la tabella da aggiornare e relativo modello, la fase del processo e il momento di esecuzione, permettendoci di salvare dati utili per ricostruire gli eventi e calcolare statistiche d’interesse.
A differenza del monitoraggio standard di Azure Data Factory, questa soluzione presenta il vantaggio di essere facilmente accessibile anche per coloro che non hanno competenze tecniche avanzate, ed è fruibile anche da dispositivi mobili come gli smartphone grazie all’applicazione di Power BI.
La visione generale di questa reportistica si concentra sulla tabella dei log, fornendo un quadro storico delle attività svolte.
Nell’immagine che segue, è possibile osservare una tabella che dettaglia tutti i caricamenti effettuati, fornendo informazioni cruciali relative alla pipeline che consente l’aggiornamento, la tabella di riferimento e il modello a cui appartiene. La tabella include dettagli sullo stato dell’aggiornamento (successo, fallimento, o se è ancora in corso), la data e l’ora di inizio e fine, insieme ad alcune statistiche rilevanti.
Questa visualizzazione offre una panoramica immediata delle attività svolte, consentendo un monitoraggio efficiente delle operazioni di caricamento. I dettagli riguardanti la pipeline, la tabella e il modello forniscono un contesto chiave. Le informazioni sullo stato forniscono una valutazione rapida della riuscita o meno dell’aggiornamento, mentre le timestamp di inizio e fine offrono una prospettiva temporale essenziale.
Le statistiche d’interesse presenti nella tabella possono variare, ma qui possiamo vedere il dettaglio sulla durata di caricamento, il tempo di attesa prima che l’aggiornamento entri in esecuzione come anche il numero di partizioni aggiornate, grado di parallelismo e priorità di esecuzione assegnato alla tabella. Questa rappresentazione dettagliata mira a fornire un quadro completo delle attività di caricamento, facilitando una valutazione accurata e tempestiva delle prestazioni complessive del sistema
A un livello di dettaglio più approfondito, vengono esaminati parametri sintetici fondamentali per valutare le prestazioni del sistema. La durata dei processi è analizzata in confronto con la durata media, fornendo un’indicazione chiara delle variazioni temporali nelle attività di aggiornamento. Inoltre, viene valutato il tempo di attesa in coda, fornendo informazioni cruciali sulla fluidità delle operazioni e sulla loro efficienza temporale complessiva.
Una particolare attenzione è dedicata al trend delle partizioni aggiornate rispetto al valore medio. Questa analisi fornisce un quadro dinamico delle variazioni nelle attività di aggiornamento delle partizioni nel tempo. Gli utenti possono così valutare l’impatto delle modifiche apportate nel corso del tempo e comprendere quante partizioni sono effettivamente coinvolte nelle operazioni di aggiornamento.
L’efficienza delle partizioni è un altro aspetto chiave considerato in questa analisi. Si valuta il numero di dati delle partizioni caricate che avevano effettivamente bisogno di essere aggiornati. Questo fornisce una misura diretta dell’efficacia delle operazioni di aggiornamento, contribuendo a identificare eventuali aree di ottimizzazione e miglioramento.
Complessivamente, questa approfondita analisi fornisce una visione dettagliata delle prestazioni del sistema, consentendo agli utenti di comprendere e ottimizzare efficacemente le attività di aggiornamento nel contesto dell’architettura complessiva di Azure.
Realizziamo soluzioni di Business Intelligence & Advanced Analytics per trasformare semplici dati in informazioni di grande valore strategico.