Monitoraggio di disponibilità e prestazioni in ambienti ibridi

Hub eventi di Azure
Azure Log Analytics
Monitoraggio di Azure
Archiviazione di Azure
Macchine virtuali di Azure

Questa architettura di riferimento illustra come usare Monitoraggio di Azure per monitorare le prestazioni e la disponibilità dei carichi di lavoro del sistema operativo eseguiti nelle macchine virtuali . Le macchine virtuali possono essere in Microsoft Azure, in ambienti locali o in cloud non azure.

Architettura

Diagramma che illustra le funzioni di monitoraggio e disponibilità di Monitoraggio di Azure per i carichi di lavoro del sistema operativo in Azure, negli ambienti locali e con provider di servizi cloud di terze parti. I dati vengono inviati in un'area di lavoro Log Analytics. I dati vengono usati da Application Insights, Analisi, Visualizzazione, Avvisi e Servizi di scalabilità automatica come parte di Monitoraggio di Azure

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

  • Ufficio principale locale - VM 1. Questo componente è un'applicazione Web con accesso a Internet e una pagina Web pubblica e gli agenti di Log Analytics e Dipendenze installati. Per informazioni sugli agenti, vedere Panoramica dell'agente di Log Analytics e Panoramica degli agenti di Monitoraggio di Azure, Agente di dipendenza.
  • Ufficio principale locale - VM 2. Questo ambiente per la logica aziendale non dispone dell'accesso a Internet. Tuttavia, gli agenti log analytics e dipendenze sono installati.
  • Ufficio principale locale - VM 3. Questo componente è un archivio dati senza accesso a Internet, ma con gli agenti Log Analytics e Dipendenze installati.
  • Ufficio principale locale - Gateway log Analytics. Il gateway Log Analytics raccoglie i dati dei log e delle metriche delle tre macchine virtuali locali e li distribuisce nell'area di lavoro Log Analytics tramite Tcp (Transmission Control Protocol) sulla porta 443.
  • Ufficio principale locale - Firewall. Il traffico verso e dall'ambiente locale viene instradato attraverso il firewall.
  • Gateway. Il gateway fornisce la connettività all'ufficio succursale.
  • Succursale locale - VM 4. Questo componente è l'applicazione aziendale in esecuzione senza accesso a Internet, ma con gli agenti Log Analytics e Dipendenze installati. L'agente di Log Analytics installato nella macchina virtuale è configurato per trasferire i dati direttamente nell'area di lavoro Log Analytics senza la necessità di un gateway di Log Analytics.
  • Succursale locale - Gateway. Questo gateway connette la succursale all'ufficio principale locale tramite una rete privata virtuale (VPN).
  • Provider cloud di terze parti - VM 5. Questo componente è un'applicazione Web con accesso a Internet, una pagina Web con accesso pubblico e gli agenti di log Analytics e dipendenze installati.
  • Provider cloud di terze parti - VM 6. Questo componente è un ambiente di archivio dati senza accesso a Internet, ma con agenti di Log Analytics e Dipendenze installati. Non esiste connettività diretta dagli ambienti del provider cloud di terze parti agli ambienti locali.
  • Azure - VMSS. Si tratta di un set di scalabilità creato usando Azure set di scalabilità di macchine virtuali. Esegue un'applicazione aziendale con gli agenti di log analytics e diagnostica installati.
  • Azure - Server applicazioni. Questo server dispone di una singola macchina virtuale che esegue un'applicazione aziendale, con Log Analytics e gli agenti di diagnostica installati.
  • Metriche di Monitoraggio di Azure. I dati raccolti dalle metriche di Monitoraggio di Azure vengono archiviati in un database di serie temporali ottimizzato per l'analisi dei dati timestamp. Archivia anche le metriche inviate da macchine virtuali locali e macchine virtuali di Azure.
  • Monitoraggio di Azure - Area di lavoro Log Analytics. Questa area di lavoro archivia i log inviati da macchine virtuali locali, macchine virtuali di Azure e macchine virtuali in provider di servizi cloud di terze parti. L'area di lavoro è una risorsa di Azure in cui i dati vengono aggregati e funge da limite amministrativo per accedere a questi dati. Altri servizi di Monitoraggio di Azure si connettono quindi all'area di lavoro Log Analytics e usano i dati per vari scopi. Per altre informazioni, vedere Progettazione della distribuzione dei log di Monitoraggio di Azure.
  • Monitoraggio di Azure - Insights - Application Insights. Application Insights offre analisi delle applicazioni e informazioni dettagliate sull'uso. In questa architettura di esempio un test ping di disponibilità verifica la disponibilità dell'applicazione Web locale. Le regole di avviso sono abilitate per fornire la notifica di un test non riuscito. Per altre informazioni, vedere Informazioni su Application Insights eMonitorare la disponibilità di qualsiasi sito Web.
  • Monitoraggio di Azure - Insights - Monitoraggio di Azure per le macchine virtuali. Monitoraggio di Azure per le macchine virtuali monitora le prestazioni e l'integrità delle macchine virtuali e dei set di scalabilità di macchine virtuali. Il monitoraggio include i processi in esecuzione e le dipendenze su altre risorse. In questo scenario, l'Monitoraggio di Azure per le macchine virtuali fornisce informazioni dettagliate sulle macchine virtuali. Per altre informazioni, vedere Informazioni Monitoraggio di Azure per le macchine virtuali?.
  • Monitoraggio di Azure - Analisi. I dati dei log e delle metriche delle macchine virtuali vengono sottoposti a query nelle metriche di Monitoraggio di Azure e nell'area di lavoro Log Analytics usando il Linguaggio di query Kusto (KQL). I risultati forniscono informazioni dettagliate sull'infrastruttura, la topologia e le risorse. Per altre informazioni, vedere Kusto: Panoramica e esempi di query di log di Monitoraggio di Azure.
  • Monitoraggio di Azure - Visualizzazioni. Monitoraggio di Azure usa gli strumenti di visualizzazione per esaminare i componenti dell'applicazione e l'infrastruttura e le comunicazioni tra i servizi in Monitoraggio di Azure. Gli strumenti di visualizzazione includono La mappa delle applicazioni in applicazione Azure Informazioni dettagliate, la funzionalità Mappa di Monitoraggio di Azure per le macchine virtuali, cartelle di lavoro di Monitoraggio di Azure e varie visualizzazioni del dashboard disponibili in Monitoraggio di Azure. Per altre informazioni, vedere Usare la funzionalità Mappa di Monitoraggio di Azure per le macchine virtuali per comprendere i componenti dell'applicazione, Creare e condividere dashboard dei dati di Log Analytics e Cartelle di lavoro di Monitoraggio diAzure.
  • Monitoraggio di Azure - Integrazioni. Monitoraggio di Azure si integra con un'ampia gamma di strumenti e estensioni di terze parti. Questi strumenti e estensioni migliorano e si basano sulle funzionalità di Monitoraggio di Azure esistenti, ad esempio l'analisi e le visualizzazioni.
  • Monitoraggio di Azure - Azioni - Avvisi. Le variazioni nei dati delle metriche e dei log possono indicare l'occorrenza degli eventi. Le regole definiscono le varianti di dati che attivano avvisi, forniscono notifiche e avviano risposte di correzione. In questa architettura, quando viene attivato un avviso, i runbook di automazione correggeno automaticamente le macchine virtuali locali e le macchine virtuali di Azure. Sono disponibili anche azioni webhook, integrazione di Gestione servizi e altri tipi di azione. Per altre informazioni, vedere Creare, visualizzare e gestire gli avvisi delle metriche usando Monitoraggio di Azure e Creare, visualizzare e gestiregli avvisi di log usando Monitoraggio di Azure.
  • Monitoraggio di Azure - Azioni - Scalabilità automatica. La scalabilità automatica aggiunge o rimuove le istanze della macchina virtuale in base al deman, che mantiene le prestazioni e aumenta l'efficacia dei costi. In questa architettura, la scalabilità automatica presenta condizioni definite intorno al carico medio della CPU (in percentuale). Quando vengono soddisfatte le condizioni, la scalabilità automatica di Monitoraggio di Azure regola il set di scalabilità in base alla domanda. Per altre informazioni, vedere Panoramica della scalabilità automatica in Microsoft Azure.

Componenti

Questa architettura è costituita dai componenti seguenti:

Consigli

Le procedure consigliate seguenti sono raccomandazioni che si applicano per la maggior parte degli scenari. Seguire queste procedure, a meno che non si disponga di un requisito specifico che li sostituisce.

Area di lavoro Log Analytics

Prendere in considerazione i consigli seguenti durante la progettazione dell'area di lavoro Log Analytics:

  • Posizionare l'area di lavoro e le risorse nella stessa area di Azure, se la latenza è un fattore importante.
  • Iniziare con un'unica area di lavoro Log Analytics e aumentare il numero di aree di lavoro quando cambiano i requisiti.
  • Se sono presenti team e risorse geograficamente dispersi, potrebbe essere necessario un'area di lavoro per area.
  • L'area di lavoro non deve trovarsi nella stessa sottoscrizione delle risorse in esecuzione.

Avvisi

Per scenari più semplici, è possibile usare le metriche per contrassegnare gli avvisi anziché i log. Metriche:

  • Specificare un conteggio o un valore numerico, per eventi come l'utilizzo della CPU, la memoria disponibile o lo spazio su disco logico.
  • Avere bassa latenza.
  • Offrire una maggiore granularità, ad esempio intervalli al secondo o al minuto.
  • Notificare rapidamente un problema.

Per raccogliere indicatori di prestazioni personalizzati o metriche specifiche dell'azienda per fornire informazioni dettagliate più approfondite, usare metriche personalizzate. Per altre informazioni, vedere Metriche personalizzate in Monitoraggio di Azure (anteprima).

Gli avvisi delle metriche non sono la risposta in tutte le situazioni. È comunque consigliabile usare avvisi basati sul log quando è necessaria una maggiore personalizzazione o più potenti correlazioni.

Analisi e diagnostica

Prendere in considerazione i consigli seguenti per l'analisi e la diagnostica:

  • Usare i log per l'analisi più approfondita. I log possono:

    • Specificare dettagli dettagliati sugli eventi (rispetto alle metriche).
    • Accade in modo intermittente.
    • Facilitare la diagnostica più approfondita dopo un flag di metrica iniziale.
  • Personalizzare la raccolta dati di log (simile alle metriche) usando l'API agente di raccolta dati HTTP per inviare i dati di log a un'area di lavoro Log Analytics. Per altre informazioni, vedere Inviare i dati di log a Monitoraggio di Azure con l'API dell'agente di raccolta dati HTTP (anteprima pubblica).

  • Analizzare le applicazioni in modo proattivo con la funzionalità di rilevamento intelligente di Application Insights. Il rilevamento intelligente applica le funzionalità di Machine Learning di Azure e analisi statistica per rilevare problemi quali anomalie delle prestazioni o errori, perdite di memoria o riduzione generale delle applicazioni. Per altre informazioni, vedere Rilevamento intelligente in Application Insights.

  • Usare Monitoraggio di Azure per le macchine virtuali : eseguire il mapping per esaminare le connessioni tra server, processi, latenza di connessione in ingresso e in uscita e porte in qualsiasi architettura connessa a TCP. Non è necessaria alcuna configurazione diversa dall'installazione di un agente. Con Monitoraggio di Azure per le macchine virtuali - Mappa è possibile interagire e interagire con i server come sistemi interconnessi.

Query di Log Analytics

Eseguire query sui dati all'interno di un'area di lavoro Log Analytics usando KQL per cercare termini, eventi specifici o stati per identificare le tendenze e analizzare i modelli. Usare Esplora query per esplorare e selezionare query pre-scritte, modificarle o crearle. È possibile eseguire, salvare, condividere ed esportare query dall'interno di un'area di lavoro e aggiungere le query preferite a un dashboard per il riutilizzo.

Installazione dell'agente

Installare gli agenti automaticamente e su larga scala, anziché singolarmente, usando opzioni di automazione, ad esempio Criteri di Azure, Azure PowerShell, modelli Resource Manager o Desired State Configuration (DSC). Per altre informazioni, vedere Abilitare Monitoraggio di Azure per le macchine virtuali usando Criteri di Azure, Abilitare Monitoraggio di Azure per le macchine virtuali usando Azure PowerShell e Abilita Monitoraggio di Azure per le macchine virtuali per una macchina virtuale ibrida: Desired State Configuration.

Dashboard

Per le applicazioni critiche, creare una visualizzazione dashboard di Azure . Condividere o rendere disponibile il dashboard in una schermata condivisa, in tempo reale, agli utenti che necessitano di dati critici dell'applicazione.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di set di guide che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che si apportano ai clienti. Per altre informazioni, vedere Panoramica del pilastro di affidabilità.

Le considerazioni seguenti consentono di garantire la disponibilità nell'ambiente.

  • Test di disponibilità. Il test ping URL usato in questa architettura è il test di disponibilità esterno più semplice. Sono tuttavia disponibili altre opzioni, ad esempio:
    • Test Web in più passaggi. Riproduce le registrazioni delle richieste Web sequenze per testare scenari complessi. I test Web in più passaggi vengono creati in Microsoft Visual Studio Enterprise e quindi caricati nel portale per l'esecuzione.
    • Tenere traccia dei test di disponibilità personalizzati. Usare il TrackAvailability() metodo per inviare i risultati dei test a Application Insights.
  • Avvisi. Quando si crea un test di disponibilità in Application Insights, le notifiche di avviso degli eventi vengono abilitate per impostazione predefinita. È possibile modificare le regole di avviso specificando il tipo di notifica e i dettagli, daAvvisidi Monitoraggio> di Azure.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso dei dati e dei sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Gli elementi seguenti sono considerazioni per rendere l'ambiente più sicuro.

  • Area d lavoro Log Analytics. Le modalità di accesso sono definite come uno dei contesti seguenti:
    • Contesto dell'area di lavoro. Tutti i log che l'area di lavoro dispone dell'autorizzazione per l'accesso possono essere sottoposti a query. Si tratta di un approccio di accesso verticale. Ad esempio, un team di sicurezza potrebbe dover accedere a tutti i dati delle risorse dall'alto verso il basso.
    • Contesto delle risorse. È possibile eseguire query solo nei log per risorse specifiche. Ad esempio, un team di applicazioni può essere concesso l'accesso ai log per la risorsa specifica in cui stanno lavorando.
  • Proteggere i dati in transito a Log Analytics. I dati in transito sono protetti usando tls (Transport Layer Security) 1.2. Non è necessario abilitare questa funzionalità in modo esplicito. Per altre informazioni, vedere Sicurezza dei dati di Log Analytics.
  • Proteggere i dati inattivi in Log Analytics. I dati inattivi in Log Analytics sono protetti, in base all'archiviazione di Azure, usando la crittografia AES (Advanced Encryption Standard) a 256 bit per impostazione predefinita.
  • Rilevamento intelligente. Usare Rilevamento intelligente in Application Insights per analizzare i dati di telemetria generati dall'applicazione e rilevare i problemi di sicurezza. Per altre informazioni, vedere Application Security Detection Pack (anteprima).
  • Integrare Monitoraggio di Azure con strumenti SIEM (Security Information and Event Management). Instradare i dati di monitoraggio a un hub eventi con Monitoraggio di Azure per integrare strumenti di monitoraggio e SIEM esterni. Per altre informazioni, vedere Trasmettere i dati di monitoraggio di Azure a un hub eventi o a un partner esterno.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Gli elementi seguenti sono considerazioni per il controllo e la gestione dei costi nell'ambiente.

  • Monitoraggio di Azure. I costi di Monitoraggio di Azure sono basati sul consumo, spesso definiti pagamento in base al consumo.
  • Log Analytics. Si paga per l'inserimento e la conservazione dei dati. È possibile stimare e prevedere il numero di macchine virtuali e la quantità di dati (in gigabyte) che si prevede di raccogliere da ogni macchina virtuale. Una macchina virtuale di Azure tipica usa tra 1 gigabyte (GB) e 3 GB di dati ogni mese. Se si valuta l'utilizzo dei dati con i log di Monitoraggio di Azure, usare le statistiche dei dati del proprio ambiente e ottenere uno sconto con prenotazioni di capacità.
  • Application Insights. Questo componente viene fatturato in base al volume di dati di telemetria inviati dall'applicazione e al numero di test Web eseguiti.
  • Query sulle metriche. Le query metriche vengono fatturate dal numero di chiamate effettuate.
  • Avvisi. Gli avvisi vengono fatturati in base al tipo e al numero di segnali monitorati.
  • Notifiche. Le notifiche vengono fatturate in base al tipo e al numero di notifiche inviate.
  • Monitoraggio di Azure. La sezione Utilizzo e costi stimati di Monitoraggio di Azure stima i costi mensili in base ai 31 giorni precedenti di utilizzo.
  • Per altre informazioni, vedere Calcolo prezzi e prezzi di Monitoraggio di Azure.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.

Gestione

Di seguito sono riportate considerazioni per rendere l'ambiente più gestibile.

DevOps

Di seguito sono riportate alcune considerazioni per l'integrazione dell'ambiente con processi e soluzioni DevOps.

  • Application Insights. Integrare Application Insights in Azure Pipelines per migliorare le prestazioni e l'usabilità. Application Insights può rilevare automaticamente le anomalie delle prestazioni. Si connette a vari strumenti di sviluppo, ad esempio Azure DevOps Services e GitHub.
  • Strumentazione applicazioni. Instrumentare le applicazioni modificando il codice dell'applicazione per abilitare la telemetria con Application Insights. I metodi seguenti consentono di instrumentare le applicazioni:
    • In fase di esecuzione. La strumentazione dell'applicazione Web nel server in fase di esecuzione è ideale per le applicazioni già distribuite, in quanto evita di dover aggiornare il codice. Gli scenari adatti includono:
      • Applicazioni microsoft ASP.NET o ASP.NET Core ospitate in Azure App Web
      • ASP.NET applicazioni ospitate in Microsoft Internet Information Services (IIS) in una macchina virtuale o in un set di scalabilità di macchine virtuali
      • ASP.NET applicazioni ospitate in IIS in una macchina virtuale locale
      • Funzioni di Azure basata su Java
      • app Node.JS in Servizi app Linux
      • Microservizi ospitati nel servizio Azure Kubernetes
    • In fase di sviluppo. Aggiungere Application Insights al codice per personalizzare la raccolta di dati di telemetria e inviare altri dati. Le lingue e le piattaforme supportate includono:
      • applicazioni ASP.NET
      • applicazioni ASP.NET Core
      • Applicazioni console .NET
      • Java
      • Node.js
      • Python
  • Usare IT Service Management Connector (ITSMC) per connettersi agli strumenti di gestione dei servizi IT esterni( ITSM). Gestione dei servizi IT connette Azure a prodotti e servizi ITSM supportati, in cui si trovano in genere elementi di lavoro correlati ai problemi. Per altre informazioni, vedere Connettere Azure agli strumenti di Gestione dei servizi IT tramite IT Service Management Connector.

Efficienza delle prestazioni

L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi in modo efficiente per soddisfare le esigenze che gli utenti hanno posto su di esso. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

Di seguito sono riportate alcune considerazioni per il ridimensionamento dell'ambiente.

  • Automatizzare l'installazione e la configurazione delle risorse e delle applicazioni.
  • Applicazioni distribuite su larga scala geograficamente. Usare La traccia distribuita in Application Insights per tenere traccia delle dipendenze e delle chiamate tra più componenti dell'applicazione, risorse back-end e ambienti di microservizi. Con La traccia distribuita è possibile eseguire il debug di applicazioni che chiamano oltre i limiti del processo, all'esterno dello stack locale. Non è necessario abilitare La traccia distribuita, che è disponibile automaticamente come parte di App Insights.
    • Sono disponibili due opzioni per l'utilizzo dei dati di traccia distribuiti:
      • Esperienza di diagnostica delle transazioni. Questa esperienza è simile a uno stack di chiamate con una dimensione temporale aggiunta. L'esperienza di diagnostica delle transazioni offre visibilità su una singola transazione/richiesta. È utile trovare la causa radice di problemi di affidabilità e colli di bottiglia delle prestazioni in base a ogni richiesta. Per altre informazioni, vedere Che cos'è La traccia distribuita?
      • Esperienza della mappa delle applicazioni. In questo modo vengono aggregate molte transazioni per illustrare in che modo i sistemi interagiscono in modo topologico e forniscono le prestazioni medie e le percentuali di errore. Per altre informazioni, vedere Mappa delle applicazioni: Valutazione delle applicazioni distribuite.

Passaggi successivi

Altre informazioni sulle tecnologie dei componenti:

Esplorare le architetture correlate: