Azure Monitor: come abilitare il servizio di monitor delle macchine virtuali tramite Azure Policy

In Azure Monitor è stato reso disponibile il servizio che consente di effettuare il monitor delle macchine virtuali, chiamato Azure Monitor for VMs. Questo servizio permette di analizzare i dati di performance dei sistemi ed effettua una mappa che consente di identificare tutte le dipendenze delle macchine virtuali e dei relativi processi. Il metodo consigliato per abilitare questa soluzione per differenti sistemi è tramite l’adozione delle Azure Policy.  In questo articolo viene riportata la procedura da seguire per effettuarne l’attivazione utilizzando questo metodo, riprendendo vari concetti relativi alla governance di Azure.

Caratteristiche principali di Azure Monitor for VMs

Azure Monitor for VMs può essere utilizzato su macchine virtuali Windows e Linux, indipendentemente dall’ambiente in cui esse risiedono (Azure, on-premises oppure presso altri cloud provider) e contempla i seguenti ambiti:

  • Performance: vengono riportati i dati principali di performance, provenienti dal sistema operativo guest. Nella soluzione sono presenti potenti funzionalità di aggregazione dei dati e di filtering che consentono di affrontare la sfida di monitorare le performance per un numero molto elevato di sistemi. In questo modo è possibile monitorare agilmente lo stato di utilizzo delle risorse di tutte le VMs ed individuare facilmente quelle che presentano problematiche di performance.
  • Maps: viene generata una mappa con le interconnessioni presenti tra vari componenti che risiedono su sistemi differenti. Le mappe mostrano come le VMs ed i processi interagiscono tra loro e possono identificare eventuali dipendenze da servizi di terze parti. La soluzione permette anche di controllare eventuali errori di connessione, conteggia le connessioni in tempo reale, i byte di rete inviati e ricevuti dai processi e le latenze riscontrare a livello di servizio.

L’abilitazione tramite Azure Policy

Le Azure Policy permettono di applicare e forzare su larga scala dei criteri di compliance e le relative azioni di remediation. Per abilitare questa funzionalità in modo automatico sulle macchine virtuali presenti nell’ambiente Azure ed ottenere un livello elevato di compliance è consigliato quindi utilizzare le Azure Policy. Tramite le Azure Policy è infatti possibile:

  • Effettuare il deployment dell’agente di Log Analytics e del Dependency agent.
  • Avere un report sullo stato di compliance.
  • Avviare delle azioni di remediation per le VMs non compliant.

Un requisito da verificare prima di procedere con l’attivazione è la presenza della soluzione VMInsights nel workspace di Azure Monitor Log Analytics che verrà utilizzato per archiviare i dati di monitor.

Figura 1 – Configurazione del workspace di log Analytics

Selezionando il workspace desiderato viene scatenata l’installazione della solution VM Insights che permette di collezionare i performance counters e le metriche di tutte le macchine virtuali connesse a tale workspace.

Per attivare Azure Monitor for VMs tramite policy basta selezionare il relativo riquadro di onboarding nella schermata principale della soluzione.

Figura 2 – Selezione di Azure Policy come metodo di abilitazione

Nel blade seguente verrà riportato lo stato di copertura del servizio e sarà fornita la possibilità di assegnare le Policy per la relativa attivazione.

Figura 3 – Assegnazione dell’Initiative a livello di Management Group

Gli Azure Management Groups, consentono di organizzare differenti subscriptions in contenitori logici, sui quali definire, porre in essere e verificare le politiche di governo necessarie.

Le Initiatives, che sono un insieme di più Azure Policy, possono essere assegnate a livello di Resource Group, Subscription oppure di Management Group. Si ha inoltre la possibilità di escludere determinate risorse dall’applicazione delle policy.

A questo proposito le policy di abilitazione di Azure Monitor for VMs sono raggruppate in un’unica “initiative”, chiamata “Enable Azure Monitor for VMs” che comprende le seguenti policy:

  • Audit Dependency agent deployment – VM image (OS) unlisted
  • Audit Log Analytics agent deployment – VM image (OS) unlisted
  • Deploy Dependency agent for Linux VMs
  • Deploy Dependency agent for Windows VMs
  • Deploy Log Analytics agent for Linux VMs
  • Deploy Log Analytics agent for Windows VMs

Tale Initiative è consigliato assegnarla a livello di Management Group.

Figura 4 – Configurazione dell’associazione

Tra i parametri è richiesto di specificare il workspace di Log Analytics ed opzionalmente è possibile specificare eventuali task di remediation.

In seguito all’assegnazione è possibile valutare lo stato di compliance nel dettaglio e se lo si ritiene necessario applicare delle azioni di remediation.

Figura 5 – Verifica sullo stato di compliance dell’Initiative

Completato il processo di abilitazione sarà possibile analizzare i dati di performance dei sistemi e le mappa create per identificare tutte le dipendenze delle macchine virtuali e dei relativi processi.

Figura 6 – Performance raccolte per i sistemi

Figura 7 – Mappa con le interconnessioni presenti tra vari sistemi

Figura 8 – Mappa che riporta i dettagli delle connessioni

Un metodo efficace per renderle facilmente consultabili questi dati e per analizzarli in modo semplice è l’utilizzo dei Workbooks, documenti interattivi che consentono di interpretare al meglio le informazioni e fare analisi approfondite. In questo documento Microsoft è possibile consultare la lista dei relativi Workbook inclusi in Azure Monitor for VMs e come crearne dei propri personalizzati.

Conclusioni

In questo articolo si è dimostrato come è possibile abilitare la soluzione Azure Monitor for VMs grazie all’adozione delle Azure Policy in modo semplice, rapido ed efficace. La soluzione riporta informazioni molto utili che tipicamente devono essere raccolte su diversi sistemi presenti nel proprio ambiente. Aumentando la complessità e la quantità di servizi su Azure diventa indispensabile adottare degli strumenti come Azure Policy, per avere delle politiche efficaci di governance. Inoltre, con l’introduzione di Azure Arc si potranno estendere queste pratiche di gestione e di governance di Azure anche ad ambienti differenti, facilitando in questo modo l’implementazione di funzionalità presenti in Azure su tutti i componenti dell’infrastruttura.