Introduzione

Completato

In questa unità vengono esaminati i concetti relativi al monitoraggio delle applicazioni Java.

Perché il monitoraggio?

In qualsiasi ambiente è importante tenere traccia del modo in cui gli utenti usano il sistema, tracciare l'utilizzo delle risorse e, in generale, monitorare l'integrità e le prestazioni del sistema stesso. Queste informazioni possono essere usate come strumento diagnostico per rilevare e correggere i problemi, nonché per individuare potenziali problemi e impedire che si verifichino.

Forme di monitoraggio

Il monitoraggio assume in genere quattro forme:

  • Log: record non modificabili e permanenti di eventi archiviati in un formato tabulare coerente, se non in un database completo. Un evento può essere indicativo di una particolare condizione, ad esempio:

    • Un cambiamento nello stato di un componente monitorato (ad esempio, da "occupato" a "disponibile").
    • Completamento di un'attività o di una sequenza di istruzioni.
    • Un'attività cardine nella progressione dei dati attraverso una rete o la disponibilità di unità in una rete.
    • Un errore, che in questo contesto è un comportamento che il sistema o l'applicazione non è stata programmata per gestire o risolvere.
  • Metrica: valori che rappresentano l'integrità, la stabilità e la disponibilità relative di un servizio o di un'applicazione oppure dell'infrastruttura ospitante.

  • Tracce: record dei percorsi di esecuzione per programmi e servizi, soprattutto in un sistema altamente distribuito, indicanti la sequenza di istruzioni che potrebbero aver attivato, direttamente o indirettamente, un evento.

  • Avvisi: gli avvisi sono notifiche proattive inviate quando vengono rilevati problemi nell'infrastruttura o nell'applicazione. Consentono di identificare e risolvere i problemi prima che vengano percepiti dagli utenti.

Piattaforme di monitoraggio di Azure

Azure include Monitoraggio di Azure, comprendente un set di servizi che gli sviluppatori e gli amministratori possono usare per raccogliere, analizzare e agire sui dati di telemetria relativi alle prestazioni delle applicazioni e dell'infrastruttura che le ospita.

Log Analytics è uno strumento disponibile nel portale di Azure che consente di modificare ed eseguire query su log dai dati raccolti dai log di Monitoraggio di Azure e analizzarne i risultati in modo interattivo. È possibile usare le query di Log Analytics per recuperare i record che corrispondono a determinati criteri, identificare le tendenze, analizzare i modelli e ricavare varie informazioni dai dati.

Application Insights, una funzionalità di Monitoraggio di Azure, è un servizio di gestione delle prestazioni applicative (APM, Application Performance Management) estendibile per sviluppatori e professionisti DevOps. Rileva automaticamente le anomalie nelle prestazione e include strumenti di analisi che consentono di diagnosticare i problemi e capire come viene effettivamente usata l'app dagli utenti.

Avvisi di Monitoraggio di Azure: I dati di monitoraggio possono anche essere inviati in altre posizioni per supportare specifici scenari; inoltre, alcune risorse potrebbero scrivere i dati in altre posizioni prima che possano essere raccolti in log o metriche.

  • Gli avvisi delle metriche attivano un trigger di avviso quando viene superata una soglia specificata. Un avviso di questo tipo può ad esempio notificare quando l'utilizzo della CPU supera il 95%.
  • Gli avvisi dei log sono basati sui dati scritti nel file di log. Un avviso di questo tipo può ad esempio notificare quando un server Web ha restituito molte risposte 404 o 500.

È possibile monitorare le applicazioni, i servizi e l'infrastruttura di Azure usando qualsiasi sistema di monitoraggio, ad esempio Elastic Stack, Splunk, New Relic, Dynatrace e App Dynamics. Questo modulo, tuttavia, sarà incentrato su Monitoraggio di Azure, Log Analytics e Application Insights.