Che cos'è il monitoraggio del cloud Azure?

Il monitoraggio di Azure si riferisce ai metodi e ai processi di raccolta, analisi e visualizzazione dei dati relativi alle prestazioni e alla salute di un'infrastruttura cloud Azure. Include sia ambienti cloud Azure puri, basati al 100% su risorse virtuali, sia infrastrutture ibride, in parte on-premise e in parte nel cloud.

Il monitoraggio di Microsoft Azure riguarda tutte le aree operative di un cloud Azure, come applicazioni, macchine virtuali, storage, reti e database. È necessario monitorarle tutte, poiché costituiscono l'intera infrastruttura del cloud Azure.

All'interno della più ampia categoria di monitoraggio del cloud, il monitoraggio di Azure si concentra sugli ambienti cloud basati su Azure e il suo scopo è aiutare le aziende a identificare, risolvere ed eventualmente prevenire problemi e interruzioni del servizio. Il monitoraggio di Azure è in pratica composto da uno o più strumenti che raccolgono le metriche relative alle varie aree di un cloud Azure. Le dashboard aiutano gli amministratori IT a visualizzare lo stato attuale di ciascuna area e a ottenere una panoramica di ciò che funziona in modo ottimale e di ciò che non funziona, oltre a ricevere un avviso in caso di problemi.

Analogamente a qualsiasi altro tipo di monitoraggio, il monitoraggio di Azure consiste nell'avere una visione il più possibile completa e dettagliata della propria infrastruttura, al fine di prevenire e risolvere rapidamente i problemi.

Dashboard delle macchine virtuali di Azure

Metriche di monitoraggio di Azure: cosa monitorare

Come per qualsiasi altro servizio cloud, il monitoraggio dei cloud Azure consiste principalmente nel raccogliere le giuste metriche per i servizi utilizzati. Un cloud Azure è composto da più parti virtuali che raramente sono isolate. I database e lo storage del cloud forniscono i dati su cui possono operare le applicazioni del cloud, le macchine virtuali forniscono l'energia a queste applicazioni e le reti virtuali le collegano tutte. Poiché qualsiasi parte del cloud può guastarsi in qualsiasi momento e causare facilmente interruzioni in tutta l'infrastruttura, tutti i componenti dovrebbero essere monitorati.

Il monitoraggio di ogni risorsa è fondamentale per prevenire i problemi che potrebbero verificarsi. Tuttavia, ogni area è diversa, con metriche diverse che informano gli amministratori del cloud sullo stato di salute e sulle prestazioni. Uno strumento di monitoraggio Azure è in grado di raccogliere le metriche giuste per il servizio giusto. Ad esempio, un database cloud espone dati come il numero totale di connessioni attive, poiché è importante capire quanto sia pesante il suo carico di lavoro. Una rete virtuale mostra metriche come il throughput e la latenza, in quanto indicano le sue prestazioni.

Un servizio di monitoraggio Azure sa quali metriche devono essere raccolte per ogni risorsa o servizio Azure. Vedremo in dettaglio come funzionano questi tipi di servizi e anche gli strumenti separati, come raccolgono le metriche specifiche e come visualizzano le varie aree di un cloud Azure.

Principali aree di monitoraggio di Azure

Il monitoraggio di Azure comprende una serie di aree generali da monitorare. Inizieremo con le aree più ampie, ovvero le prestazioni e la sicurezza, per poi passare alle aree più specifiche, come le reti, l'elaborazione, lo storage e i database.

Monitoraggio delle prestazioni di Azure

Tra le opzioni per il monitoraggio di un cloud Azure, Azure Monitor occupa un posto centrale. È il software che aggrega più fonti di metriche per il monitoraggio e lo incontreremo più spesso quando parleremo di monitoraggio di Azure. Nel caso del monitoraggio delle prestazioni di Azure, Azure Monitor utilizza Application Insights, un'estensione che consente di eseguire il monitoraggio delle prestazioni delle applicazioni (APM).

Questa estensione include non solo le metriche classiche come i tassi di errore, la memoria utilizzata, l'utilizzo della CPU, il tasso di richieste HTTP e altro ancora, ma anche i dati di telemetria e i registri delle applicazioni, creando una visione piuttosto completa del monitoraggio e delle prestazioni delle applicazioni Azure.

Il monitoraggio delle prestazioni di Azure utilizza quindi una combinazione di fonti per ottenere informazioni su eventi e stati, per generare una valutazione statistica delle prestazioni passate e per prevedere le tendenze future. Azure Monitor dispone di una dashboard specifica con diversi widget e viste che si concentrano sui vari aspetti del monitoraggio delle prestazioni di Azure.

Gli strumenti di monitoraggio di Azure di terze parti sono abbastanza simili a questo proposito. La differenza è che mentre Azure Monitor è integrato nei cloud Azure ed è una soluzione proprietaria, altri strumenti come Checkmk sono esterni e utilizzano API REST e agenti per raccogliere i dati dai servizi e dalle risorse Azure. Questo software esterno può essere installato localmente o nel cloud insieme agli altri servizi Azure.

Azure Monitor con Application Insights è la prima interfaccia che un amministratore può utilizzare per monitorare le prestazioni dei servizi Azure. Tuttavia, non è molto flessibile ed è limitata ai cloud Azure. Per infrastrutture più grandi e per esigenze più avanzate, è necessario uno strumento di monitoraggio di Azure separato. Tuttavia, per controlli rapidi e infrastrutture di dimensioni moderate, Azure Monitor è un punto di partenza sufficiente.

Monitoraggio della sicurezza di Azure

La sicurezza è un'area chiave in tutti i monitoraggi, e il monitoraggio di Azure non fa eccezione. Garantire che i dati e le risorse siano accessibili solo alle persone autorizzate e che nulla sia stato manomesso è un aspetto estremamente importante in ogni infrastruttura.

Azure offre alcuni strumenti per il monitoraggio della sicurezza di Azure, il più importante dei quali è Microsoft Sentinel. Si tratta di una soluzione cloud-native che raccoglie dati su utenti, dispositivi e applicazioni, sia in sede che nel cloud. Con Sentinel è possibile indagare sulle minacce con l'aiuto dell'intelligenza artificiale, individuare quelle precedentemente non rilevate e segnalare gli incidenti. Si tratta di una soluzione esclusiva di Microsoft, che integra fonti di dati provenienti sia da Azure che da applicazioni locali, come Microsoft Defender o Office 365.

Strumenti di monitoraggio come Azure DDoS Protection e Azure Rights Management (RMS), invece, sono adatti solo per Azure. Come suggerisce il nome, si tratta di piccoli strumenti di monitoraggio di Azure che svolgono un compito specifico nell'ambito del monitoraggio della sicurezza di Azure. Per il monitoraggio di ruoli e criteri, Azure Governance Visualizer fornisce agli amministratori una visualizzazione grafica del loro stato.

Come in tutte le altre aree del monitoraggio di Microsoft Azure, queste attività, e altre ancora, possono essere svolte anche con strumenti non Azure che supportano il monitoraggio del cloud di Azure. Checkmk e strumenti simili possono attingere a più fonti di dati e disporre di molte metriche di monitoraggio di Azure per mantenere un'infrastruttura Azure sicura.

Monitoraggio della rete Azure

Il monitoraggio della rete Azure si occupa di verificare che le reti virtuali all'interno di un cloud Azure funzionino in modo efficiente. Il monitoraggio di queste reti è fondamentale per assicurarsi che qualsiasi infrastruttura basata sul cloud funzioni in modo ottimale e per prevenire i problemi. Azure dispone di un paio di strumenti per eseguire il monitoraggio della rete Azure.

La scelta più ovvia è un'estensione di Azure Monitor chiamata Network Insights. Fornisce una rappresentazione visiva delle topologie, dello stato di salute e delle metriche per tutte le risorse di rete disponibili, senza bisogno di grandi sforzi di configurazione. Lo strumento è suddiviso in alcuni componenti di monitoraggio, che vanno dalla diagnosi del traffico e della connettività alla semplice visualizzazione della topologia di rete e dello stato generale. Attraverso di esso è possibile accedere ad altri strumenti per una visione più approfondita, come Connection Monitor e Traffic Analytics.

Per il monitoraggio delle reti virtuali è disponibile Azure Network Watcher. Si tratta di un altro strumento integrato nei cloud Azure, che consente di eseguire una serie di diagnosi per verificare i problemi di filtraggio e instradamento del traffico di rete, diagnosticare le connessioni in uscita e catturare i pacchetti da una macchina virtuale. Si tratta per lo più di uno strumento di monitoraggio della rete di Azure incentrato sulle macchine virtuali e sulle loro interconnessioni, ma con pochi approfondimenti al di fuori di quest'area.

Monitoraggio del computing di Azure

Un'infrastruttura cloud non sarebbe di grande utilità se non offrisse possibilità di calcolo. L'esecuzione di container, applicazioni e funzioni serverless su un cloud è uno dei suoi usi principali. Il monitoraggio del computing di Azure comprende una serie di strumenti e iniziative che monitorano le prestazioni e lo stato di salute di questi servizi Azure.

Azure dispone di un paio di estensioni per Azure Monitor: Azure VM Insights e Azure Container Insights. Come suggeriscono i loro nomi, forniscono metriche e log ad Azure Monitor da macchine virtuali e container e li presentano nel loro dashboard. Queste metriche provengono da diversi tipi di macchine virtuali e container, come macchine virtuali Linux o Windows, Azure Functions, applicazioni mobili e web su cloud Azure, Azure Kubernetes Service (AKS), OpenShift e istanze container generiche. Esistono diversi casi d'uso per tutte queste risorse informatiche di Azure, ma in linea di massima tutte hanno in comune le metriche di utilizzo di CPU, memoria e disco, il traffico di rete utilizzato e il numero di connessioni attive.

Monitorando queste risorse Azure attive è possibile capire quanta parte dell'infrastruttura è utilizzata, quanto è sotto stress o inutilizzata, e quindi scalarla o ridurla di conseguenza. Poiché si tratta di pochi e complessi servizi, è necessario implementare uno strumento di monitoraggio Azure di terze parti invece degli strumenti Azure integrati. Il monitoraggio dei cloud Azure con un servizio di monitoraggio Azure avanzato o con uno strumento on-premise è vantaggioso quando si ha a che fare con un insieme di metriche e dati più ampio, che può risultare faticoso con strumenti meno performanti.

Monitoraggio dello storage di Azure

I dati delle applicazioni risiedono nei servizi di archiviazione di Azure, come Blob Storage e Managed Disks, e devono essere monitorati per verificare che i dati non siano danneggiati e per evitare di superare i limiti di spazio. Uno degli strumenti più semplici per tenere sotto controllo lo storage nei cloud Azure è un'estensione di Azure Monitor chiamata Storage Insights.

Con questa estensione è possibile osservare le prestazioni, la capacità e la disponibilità dei servizi Azure Storage in un'interfaccia semplice. È inoltre possibile includere nel monitoraggio tutte le risorse legate allo storage all'interno di un account del cloud Azure e ricevere un dashboard unificato su tutti i servizi di storage di una singola infrastruttura.

Sebbene Storage Insights offra metriche interessanti come la latenza, il tipo di transazione e gli errori, il numero di guasti e la capacità totale utilizzata da ciascun servizio di dati, non è abbastanza avanzato per soddisfare tutti i casi d'uso. Per quanto riguarda i servizi di monitoraggio di Azure, sono buoni, ma hanno una personalizzazione limitata e non possono soddisfare richieste più complesse. Un software di monitoraggio Azure di terze parti può scalare molto meglio e offrire una maggiore potenza di monitoraggio per garantire che i dati che alimentano le applicazioni cloud Azure siano sicuri e performanti.

Dashboard dello storage di Azure

Monitoraggio dei database Azure

Il secondo aspetto dei dati in un'infrastruttura sono i database. Quando si tratta di infrastrutture basate su Azure, ci sono molte scelte, come MySQL, PostgreSQL, Azure SQL, MongoDB, MariaDB e Cassandra. Tutti hanno i loro pro e contro, che vanno ben oltre lo scopo di questa guida al monitoraggio. Per quanto riguarda il monitoraggio dei database di Azure, Azure stesso offre alcuni strumenti per Azure Monitor che aiutano gli amministratori del cloud a tenere traccia della salute e delle prestazioni di ogni tipo di database.

Come ormai non sorprende, Azure Monitor integra i servizi di monitoraggio dei database con estensioni dedicate per ogni tipo di database supportato. Azure SQL Insights è ancora in fase di anteprima (dal 2023) ma è già in grado di estrarre molte metriche utili dai database Azure SQL. Metriche come sessioni, richieste, contatori di prestazioni, I/O, statistiche di attesa e altro ancora possono essere controllate con Azure SQL Insights all'interno dell'interfaccia più ampia di Azure Monitor. Altri tipi di database hanno le loro estensioni all'interno della dashboard di Azure Monitor.

Una particolarità dei servizi di database di Azure è Cosmos DB: un database NoSQL distribuito a livello globale e progettato per fornire alta disponibilità, scalabilità e accesso a bassa latenza. Se utilizzato, può essere monitorato con l'estensione dedicata chiamata Cosmos DB Insights. Poiché si tratta di un servizio aggiuntivo, è importante occuparsi della sua salute e della sua efficienza, proprio come qualsiasi altra risorsa importante in un cloud Azure. Metriche come il numero di richieste, l'utilizzo dei dati, le richieste non andate a buon fine, l'utilizzo degli indici e altro ancora fanno parte delle metriche di Cosmos DB, simili a quelle di altri database.

Monitorare le risorse e i costi di Azure

Il monitoraggio di Microsoft Azure non è solo uno sforzo per le prestazioni, la sicurezza e la prevenzione delle interruzioni. Tutti i servizi cloud hanno una serie di costi che le aziende sostengono quando li utilizzano. Anche tenere traccia di questi costi ed evitare addebiti eccessivi fa parte del monitoraggio di Azure.

Per questo motivo, Azure è dotato di Microsoft Cost Management, una dashboard che aggrega i dati di tutti i cloud per fornire una visione unica delle spese correnti. L'impostazione del budget e i report sono supportati e le anomalie e gli addebiti imprevisti possono essere identificati in pochi clic. I dati di tutti i servizi Azure sono disponibili sotto forma di report sulle tempistiche e sulle tendenze e sono calcolati in costi globali.

In termini di strumenti di gestione dei costi, Microsoft Cost Management è sufficiente nei casi più semplici o quando un solo servizio cloud è presente in una singola infrastruttura. Se in un'infrastruttura sono presenti più servizi cloud, è indispensabile utilizzare uno strumento in grado di monitorare le risorse e i costi di tutti i cloud. In ogni caso, il monitoraggio dell'utilizzo delle risorse di Azure è indispensabile per mantenere l'infrastruttura ottimizzata ed evitare spese inutili.

Quali strumenti sono disponibili per monitorare i servizi cloud Azure?

Il monitoraggio dei servizi e delle risorse Azure può essere effettuato con diversi strumenti di monitoraggio basati su Azure o con un unico software esterno unificato. Partendo dal primo, presenteremo una breve selezione, che non è assolutamente completa ma sufficiente per iniziare e avere una soluzione valida per il monitoraggio del cloud.

Azure Monitor è chiaramente la prima opzione per tutti gli amministratori del cloud che vogliono sapere come si comportano i loro cloud Azure. Dotato di una pletora di estensioni in grado di coprire tutto ciò che Azure ha da offrire, Azure Monitor è sicuramente uno strumento che dovrebbe essere presente in qualsiasi configurazione di monitoraggio di Azure. Pur essendo in grado di raccogliere una grande quantità di metriche di monitoraggio di Azure da più fonti, Azure Monitor non è sufficiente a coprire tutte le esigenze, o a monitorare in modo efficiente i data center on-premise, e soprattutto non è sufficiente a monitorare tutti i servizi cloud in circolazione. Ma è uno strumento da tenere in considerazione.

Nel caso in cui si verifichino interruzioni generali o incidenti relativi alle risorse Azure, Azure Service Health può avvisare e fornire indicazioni. Si tratta di un semplice servizio di notifica, ma è importante per sapere se il proprio cloud sta affrontando un problema o se è globale. Allo stesso modo, Azure Resource Health offre agli amministratori un dashboard personalizzato sullo stato di salute delle loro risorse. Invece di essere un servizio complesso che raccoglie centinaia di metriche di monitoraggio di Azure, è una vista sullo stato del tuo cloud Azure, che ti informa dei problemi che sono la causa delle interruzioni del servizio.

Al di fuori del monitoraggio delle applicazioni Azure o di specifici problemi di prestazioni e salute, la sicurezza è la prossima grande area di monitoraggio del cloud da controllare. Azure offre due strumenti principali, Microsoft Defender for Cloud e Microsoft Sentinel. Abbiamo già parlato di quest'ultimo, che è uno strumento di monitoraggio per rilevare minacce e incidenti che supporta sia i cloud Azure che il software e le risorse Microsoft on-premise. Microsoft Defender for Cloud, invece, è un'applicazione cloud-native progettata per proteggere le applicazioni cloud da minacce e vulnerabilità. Monitora le risorse Azure e implementa i criteri per proteggerle.

Sebbene questi strumenti di monitoraggio di Azure vadano benissimo da soli e siano sufficienti per le esigenze di infrastrutture più semplici e limitate, possono diventare un fattore limitante per le infrastrutture che necessitano di maggiore controllo, comprensione e personalizzazione. Molte soluzioni di terze parti per il monitoraggio dei cloud Azure sono state sviluppate per adattarsi ai casi d'uso delle aziende più grandi, con requisiti di automazione e data center di grandi dimensioni. Quando il monitoraggio delle prestazioni diventa importante con centinaia o migliaia di server virtuali e reali, un software dedicato al monitoraggio di Azure è la scelta più ovvia. Soprattutto nel caso di una configurazione multi-cloud, un dashboard basato su un solo cloud, come Azure Monitor, non è sufficiente. L'aggregazione di più metriche su più cloud e risorse on-premise è l'unica soluzione e strumenti di monitoraggio come Checkmk sono pronti ad affrontare questi casi.

Perché è importante monitorare i cloud Azure?

In fin dei conti, il monitoraggio dei cloud Azure è un'attività insostituibile per qualsiasi azienda. Non solo è necessario per evitare interruzioni e problemi, e quindi continuare a fornire un buon servizio ai clienti e all'intera azienda, ma è anche una componente chiave della sicurezza. Solo monitorando i dati e le risorse è possibile sapere se vengono manomessi o se vi accedono persone non autorizzate. Anche se al momento la sicurezza non è una preoccupazione primaria, magari perché disponete solo di un cloud Azure limitato e privato, il monitoraggio di Azure può darvi molte indicazioni per migliorare l'efficienza dell'intera infrastruttura.

Le prestazioni sono sempre un fattore che vale la pena di migliorare e, nel caso dei cloud Azure, si abbinano anche al contenimento dei costi. Ogni risorsa Azure ha un prezzo d'uso e con un accurato monitoraggio delle prestazioni Azure è possibile sapere quando una risorsa ha raggiunto i suoi limiti e deve essere scalata, e quando riorganizzare i carichi di lavoro può farvi risparmiare una spesa maggiore. Più si monitora, meglio si impara e si comprende la propria infrastruttura.

Come abbiamo appena visto, i cloud Azure offrono molti strumenti per il monitoraggio, che possono essere sicuramente utilizzati. Tuttavia, per i casi d'uso avanzati e le infrastrutture più grandi, è più adatto un software di monitoraggio Azure separato, preferibilmente uno che si possa personalizzare più facilmente in base alle proprie esigenze e che sia più flessibile nel segnalare e avvisare quando le cose vanno male.

Checkmk Cloud Edition è qui per consentire agli amministratori del cloud di avere una visione e un controllo completi di tutti i loro cloud, non solo di Azure. Con numerose dashboard personalizzabili e un'ampia gamma di metriche di monitoraggio di Azure supportate, Checkmk è una soluzione unificata per il corretto monitoraggio di Azure e non solo.