Monitorare il Servizio app di Azure
L'articolo illustra:
- I tipi di dati di monitoraggio che è possibile raccogliere per questo servizio.
- Modi per analizzare i dati.
Nota
Se si ha già familiarità con questo servizio e/o il Monitoraggio di Azure e si vuole solo sapere come analizzare i dati di monitoraggio, vedere la sezione Analizza alla fine di questo articolo.
Quando si hanno applicazioni e processi di business critici che si basano sulle risorse di Azure, è necessario monitorare e ricevere avvisi per il sistema. Il servizio Monitoraggio di Azure raccoglie e aggrega metriche e log da ogni componente del sistema. Il Monitoraggio di Azure offre una visione sulla disponibilità, le prestazioni e la resilienza e notifica i problemi. È possibile usare il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure, l'API REST o le librerie client per configurare e visualizzare i dati di monitoraggio.
- Per altre informazioni sul monitoraggio di Azure, vedere Informazioni generali sul Monitoraggio di Azure.
- Per altre informazioni su come monitorare le risorse di Azure in generale, vedere Monitorare le risorse di Azure con Monitoraggio di Azure.
Monitoraggio del servizio app
Servizio app di Azure offre diverse opzioni di monitoraggio per il monitoraggio delle risorse per disponibilità, prestazioni e funzionamento. Le opzioni includono Impostazioni di diagnostica, Application Insights, flusso di log, metriche, quote e avvisi e log attività.
Nella pagina del portale di Azure per l'app Web è possibile selezionare Diagnostica e risoluzione dei problemi, nel riquadro di spostamento a sinistra, per accedere alla diagnostica completa del servizio app per l'app. Per altre informazioni sullo strumento di diagnostica del servizio app, vedere Panoramica della diagnostica del servizio app di Azure.
Servizio app offre la registrazione della diagnostica integrata per facilitare il debug delle app. Per altre informazioni sui log predefiniti, vedere Trasmettere i log di diagnostica.
È anche possibile usare Il controllo integrità di Azure per monitorare le istanze del Servizio app. Per altre informazioni, vedere Monitorare le istanze del servizio app usando il Controllo integrità.
Se si usa ASP.NET Core, ASP.NET, Java, Node.js o Python, è consigliabile abilitare l'osservabilità con Application Insights. Per altre informazioni sulle esperienze di osservabilità offerte da Application Insights, vedere Panoramica di Application Insights.
Scenari di monitoraggio
Nella tabella seguente sono elencati i metodi di monitoraggio da usare per diversi scenari.
Scenario | Metodo di monitoraggio |
---|---|
Si vogliono monitorare le metriche e i log della piattaforma | Metriche della piattaforma di Monitoraggio di Azure |
Si vuole monitorare le prestazioni e l'utilizzo dell'applicazione | (Monitoraggio di Azure) Application Insights |
Si vogliono monitorare i log predefiniti per il test e lo sviluppo | Flusso di log |
Si vogliono monitorare i limiti delle risorse e configurare gli avvisi | Quote e avvisi |
Si vogliono monitorare gli eventi delle risorse dell'app Web | Log attività |
Si vuole monitorare visivamente le metriche | Metriche |
Insights
Per alcuni servizi di Azure, nel portale di Azure è disponibile un dashboard di monitoraggio predefinito che fornisce un punto iniziale per il monitoraggio del servizio. Questi dashboard sono denominati informazioni dettagliate ed è possibile trovarli nell'hub di Insights del Monitoraggio di Azure nel portale di Azure.
Application Insights
Application Insights sfrutta la piattaforma avanzata di analisi dei dati di Monitoraggio di Azure per fornire informazioni molto dettagliate sulle operazioni dell'applicazione. Application Insights monitora la disponibilità, le prestazioni e l'utilizzo delle applicazioni Web, in modo da poter identificare e diagnosticare gli errori senza attendere che un utente li segnala.
Application Insights include punti di connessione a una gamma di strumenti di sviluppo e si integra con Visual Studio per supportare i processi DevOps. Per altre informazioni, vedere Monitoraggio delle applicazioni per il Servizio app.
Tipi di risorsa
Azure usa il concetto di tipi di risorse e ID per identificare tutti gli elementi in una sottoscrizione. I tipi di risorse fanno anche parte degli ID della risorsa per ogni risorsa in esecuzione in Azure. Ad esempio, un tipo di risorsa per una macchina virtuale è Microsoft.Compute/virtualMachines
. Per un elenco dei servizi e dei relativi tipi di risorse associati, vedere Provider di risorse.
Il Monitoraggio di Azure organizza in modo analogo i dati di monitoraggio di base in metriche e log in base ai tipi di risorse, detti anche spazi dei nomi. Sono disponibili metriche e log diversi per diversi tipi di risorse. Il servizio potrebbe essere associato a più tipi di risorse.
Per altre informazioni sui tipi di risorse per il servizio app, vedere Informazioni di riferimento sui dati di monitoraggio del Servizio app.
Archiviazione di dati
Per il Monitoraggio di Azure:
- I dati delle metriche vengono archiviati dal database di metriche del Monitoraggio di Azure.
- I dati di log vengono archiviati nell'archivio dei log del Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure in grado di eseguire query su questo archivio.
- Il log attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.
Facoltativamente, è possibile instradare i dati delle metriche e dei log attività all'archivio dei log di Monitoraggio di Azure. È quindi possibile usare Analisi dei log per eseguire query sui dati e correlarli con altri dati di log.
Molti servizi possono usare le impostazioni di diagnostica per inviare i dati delle metriche e dei log ad altre posizioni di archiviazione all'esterno di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non Azure usando Hub eventi.
Per informazioni dettagliate su come il Monitoraggio di Azure archivia i dati, vedere la piattaforma dati del Monitoraggio di Azure.
Metriche della piattaforma del Monitoraggio di Azure
Il Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:
- Definite singolarmente per ogni spazio dei nomi.
- Archiviate in un database delle metriche di serie temporali del Monitoraggio di Azure.
- Leggere e in grado di creare avvisi in tempo quasi reale.
- Usate per tenere traccia delle prestazioni di una risorsa nel tempo.
Raccolta: il Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è richiesta alcuna configurazione.
Routing: è anche possibile instradare alcune metriche della piattaforma ai log di Monitoraggio di Azure/Log Analytics per poterle eseguire query con altri dati di log. Controllare l'impostazione di esportazione DS per ogni metrica per verificare se è possibile usare un'impostazione di diagnostica per instradare la metrica ai log di Monitoraggio di Azure/Log Analytics.
- Per altre informazioni, vedere impostazioni delle metriche di diagnostica.
- Per configurare le impostazioni di diagnostica per un servizio, vedere Creare impostazioni di diagnostica in Monitoraggio di Azure.
Per un elenco di tutte le metriche che è possibile raccogliere per tutte le risorse nel Monitoraggio di Azure, vedere Metriche supportate nel Monitoraggio di Azure.
Per un elenco delle metriche disponibili per il servizio app, vedere Informazioni di riferimento per i dati di monitoraggio del Servizio app.
Per informazioni sulle metriche nel servizio app, vedere Informazioni sulle metriche. Le metriche possono essere visualizzate dalle aggregazioni sui dati (ad esempio media, max, min e così via), istanze, intervallo di tempo e altri filtri. Le metriche possono monitorare le prestazioni, la memoria, la CPU e altri attributi.
Log delle risorse di Monitoraggio di Azure
I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite da una risorsa di Azure. I log vengono generati automaticamente, ma è necessario indirizzarli verso i log del Monitoraggio di Azure per salvarli o interrogarli. I log sono organizzati in categorie. Uno specifico spazio dei nomi potrebbe avere più categorie di log delle risorse.
Raccolta: i log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada verso una o più posizioni. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Esistono diversi modi per creare e gestire le impostazioni di diagnostica, tra cui il portale di Azure, il livello programmatico e anche i Criteri di Azure.
Pianificazione percorso: l'impostazione predefinita consigliata consiste nell'instradare i log delle risorse verso i log del Monitoraggio di Azure in modo da poterli interrogare con altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni, vedere Log delle risorse di Azure e Destinazioni del log delle risorse.
Per informazioni dettagliate sulla raccolta, l'archiviazione e la pianificazione percorso dei log delle risorse, vedere Impostazioni di diagnostica nel Monitoraggio di Azure.
Per un elenco di tutte le categorie di log delle risorse disponibili nel Monitoraggio di Azure, vedere Log delle risorse supportati nel Monitoraggio di Azure.
Tutti i log delle risorse nel Monitoraggio di Azure hanno gli stessi campi d'intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Schema dei log delle risorse di Monitoraggio di Azure.
Per le categorie di log delle risorse disponibili, le tabelle di Log Analytics associate e gli schemi dei log per il servizio app, vedere informazioni di riferimento sui dati di monitoraggio del Servizio app.
Suggerimento
I log sono raggruppati in gruppi di categorie. I gruppi di categorie sono una raccolta di log diversi che consentono di raggiungere obiettivi di monitoraggio diversi.
Il gruppo di categorie di controllo consente di selezionare i log delle risorse necessari per il controllo. Per altre informazioni, vedere Impostazioni di diagnostica nei log delle risorse di Monitoraggio di Azure.
Finestra Log attività di Azure
Il log attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa di Azure vista dall'esterno, ad esempio la creazione di una nuova risorsa o l'avvio di una macchina virtuale.
Raccolta: gli eventi del log attività vengono generati e raccolti automaticamente in un archivio separato per la visualizzazione nel portale di Azure.
Pianificazione percorso: è possibile inviare i dati del log attività ai log di Monitoraggio di Azure in modo da poterli analizzare insieme ad altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni su come instradare i log attività, vedere Informazioni generali sul log attività di Azure.
Log attività di Azure per il servizio app
I log attività di Azure per il servizio app includono dettagli come:
- Quali operazioni sono state eseguite sulle risorse (ad esempio piani di servizio app)
- Chi ha avviato l'operazione
- Quando si è verificata l'operazione
- Stato dell'operazione
- I valori delle proprietà per facilitare la ricerca dell'operazione
I log attività di Azure possono essere sottoposti a query usando il portale di Azure, PowerShell, l'API REST o l'interfaccia della riga di comando.
Inviare i log di attività a Griglia di eventi
Mentre i log attività sono basati sull'utente, è disponibile una nuova integrazione di Griglia di eventi di Azure con il servizio app (in anteprima), che registra sia le azioni utente che gli eventi automatici. Con Griglia di eventi è possibile configurare un gestore per rispondere a detti eventi. Usare, ad esempio, Griglia di eventi per attivare immediatamente una funzione senza server per eseguire l'analisi dell'immagine ogni volta che una nuova foto viene aggiunta a un contenitore di archiviazione BLOB.
In alternativa è possibile usare Griglia di eventi con App per la logica per elaborare i dati ovunque, senza scrivere codice. Griglia di eventi connette le origini dati e i gestori di eventi.
Per visualizzare le proprietà e lo schema per gli eventi del servizio app, vedere Servizio app di Azure come origine di Griglia di eventi.
Flusso di log (tramite i log del servizio app)
Azure offre diagnostica predefinita per facilitare il debug di un'app del servizio app durante i test e lo sviluppo. Il flusso di log può essere usato per ottenere accesso rapido all'output e agli errori scritti dall'applicazione e ai log dal server Web. Si tratta di log di output/errori standard oltre ai log del server Web.
Analizzare i dati di monitoraggio
Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.
Strumenti di Monitoraggio di Azure
Il Monitoraggio di Azure supporta gli strumenti di base seguenti:
Esplora metriche, uno strumento nel portale di Azure che consente di visualizzare e analizzare le metriche per le risorse di Azure. Per altre informazioni, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.
Log Analytics, uno strumento nel portale di Azure che consente di eseguire query e analizzare i dati di log usando il linguaggio di query Kusto (KQL). Per altre informazioni, vedere Introduzione alle query dei log del Monitoraggio di Azure.
Log attività, che dispone di un'interfaccia utente nel portale di Azure per la visualizzazione e le ricerche di base. Per eseguire analisi più approfondite, è necessario instradare i dati verso i log di Monitoraggio di Azure ed eseguire query più complesse in Log Analytics.
Gli strumenti che consentono una visualizzazione più complessa includono:
- I dashboard che consentono di combinare tipi di dati diversi in un singolo riquadro nel portale di Azure.
- Cartelle di lavoro, report personalizzabili che è possibile creare nel portale di Azure. Le cartelle di lavoro possono includere testo, metriche e query di log.
- Grafana è una piattaforma aperta, ideale per i dashboard operativi. È possibile usare Grafana per creare dashboard che includano dati da più origini diverse dal Monitoraggio di Azure.
- Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive per un'ampia varietà di origini dati. È possibile configurare per Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare i vantaggi di queste visualizzazioni.
Strumenti di esportazione del Monitoraggio di Azure
È possibile ottenere dati dal Monitoraggio di Azure in altri strumenti usando i metodi seguenti:
Metriche: usare l'API REST per le metriche per estrarre i dati delle metriche dal database delle metriche del Monitoraggio di Azure. L'API supporta espressioni di filtro per perfezionare i dati recuperati. Per altre informazioni, vedere Informazioni di riferimento sull'API REST del Monitoraggio di Azure.
Log: usare l'API REST o le librerie client associate.
Un'altra opzione è l'esportazione dati dell'area di lavoro.
Per iniziare a usare l'API REST per il Monitoraggio di Azure, vedere Procedura dettagliata per l'API REST del Monitoraggio di Azure.
Query Kusto
È possibile analizzare i dati di monitoraggio nell'archivio dei Log/Log Analytics del Monitoraggio di Azure usando il linguaggio di query Kusto (KQL).
Importante
Quando si seleziona Log dal menu del servizio nel portale, Analisi dei log si apre con l'ambito della query impostato sul servizio corrente. Questo ambito fa sì che le query di log includano solo i dati di tale tipo di risorsa. Se si vuole eseguire una query che includa dati di altri servizi di Azure, selezionare Log nel menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.
Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Analisi dei log.
La query di esempio seguente consente di monitorare i log delle app usando AppServiceAppLogs
:
AppServiceAppLogs
| project CustomLevel, _ResourceId
| summarize count() by CustomLevel, _ResourceId
La query di esempio seguente consente di monitorare i log HTTP usando AppServiceHTTPLogs
dove HTTP response code
è 500
o superiore:
AppServiceHTTPLogs
//| where ResourceId = "MyResourceId" // Uncomment to get results for a specific resource Id when querying over a group of Apps
| where ScStatus >= 500
| reduce by strcat(CsMethod, ':\\', CsUriStem)
La query di esempio seguente consente di monitorare gli errori HTTP 500 aggiungendo AppServiceConsoleLogs
e AppserviceHTTPLogs
:
let myHttp = AppServiceHTTPLogs | where ScStatus == 500 | project TimeGen=substring(TimeGenerated, 0, 19), CsUriStem, ScStatus;
let myConsole = AppServiceConsoleLogs | project TimeGen=substring(TimeGenerated, 0, 19), ResultDescription;
myHttp | join myConsole on TimeGen | project TimeGen, CsUriStem, ScStatus, ResultDescription;
Per altre query di esempio, vedere Query di Monitoraggio di Azure per Servizio app.
Avvisi
Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate condizioni specifiche nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.
Esistono molte origini di avvisi comuni per le risorse di Azure. Per esempi di avvisi comuni per le risorse di Azure, vedere Query di avviso di log di esempio. Il sito Avvisi di base di Monitoraggio di Azure (AMBA) offre un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme di servizi di Azure in continua espansione, inclusi tutti i servizi che fanno parte della zona di destinazione di Azure.
Lo schema di avviso comune standardizza l'utilizzo delle notifiche di avviso di Monitoraggio di Azure. Per altre informazioni, vedere lo Schema degli avvisi comuni.
Tipi di avviso:
È possibile creare avvisi su qualsiasi metrica o fonte di dati di log nella piattaforma di dati di Monitoraggio di Azure. Esistono molti tipi diversi di avvisi a seconda dei servizi monitorati e dei dati di monitoraggio raccolti. Ogni tipo di avviso presenta vantaggi e svantaggi. Per altre informazioni, vedere Scegliere il tipo di avviso di monitoraggio corretto.
L'elenco seguente descrive i tipi di avvisi del Monitoraggio di Azure che è possibile creare:
- Gli avvisi delle metriche valutano le metriche delle risorse a intervalli regolari. Le metriche possono essere metriche della piattaforma, metriche personalizzate, log di Monitoraggio di Azure convertiti in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
- Gli avvisi relativi ai log consentono agli utenti di utilizzare una query di Log Analytics per valutare i log delle risorse con una frequenza predefinita.
- Gli avvisi dei log attività vengono attivati quando si verifica un nuovo evento del log attività che soddisfa le condizioni definite. Gli avvisi sull'integrità delle risorse e gli avvisi sull'integrità dei servizi sono avvisi di log delle attività che segnalano l'integrità dei servizi e delle risorse.
Alcuni servizi di Azure supportano anche avvisi di rilevamento intelligente, avvisi Prometheus o regole di avviso consigliate.
Per alcuni servizi, è possibile effettuare un monitoraggio su larga scala applicando la stessa regola di avviso delle metriche a più risorse dello stesso tipo presenti nella stessa area di Azure. Vengono inviate notifiche singole per ogni risorsa monitorata. Per i servizi e i cloud di Azure supportati, vedere Monitorare più risorse con una regola di avviso.
Nota
Se si crea o si esegue un'applicazione che viene eseguita nel servizio, Application Insights del Monitoraggio di Azure potrebbe offrire più tipi di avvisi.
Quote e avvisi
Le app ospitate nel servizio app sono soggette a determinati limiti in relazione alle risorse che possono usare. Tali limiti sono definiti nel piano di servizio app associato all'app. Le metriche per un'app o un piano di servizio app possono essere collegate ad avvisi specifici.
Regole di avviso del servizio app
La tabella seguente elenca le regole di avviso comuni e consigliate per Servizio app.
Tipo di avviso | Condizione | Esempi |
---|---|---|
Metric | Media connessioni | Quando il numero di connessioni supera un valore impostato |
Metric | HTTP 404 | Quando le risposte HTTP 404 superano un valore impostato |
Metric | Errori server HTTP | Quando gli errori HTTP 5xx superano un valore impostato |
Log attività | Creare o aggiornare un'app Web | Quando l'app viene creata o aggiornata |
Log attività | Eliminare l'app Web | Quando l'app viene eliminata |
Log attività | Riavviare l'app Web | Quando l'app viene riavviata |
Log attività | Arrestare l'app Web | Quando l'app viene arrestata |
Elementi consigliati di Advisor
Per alcuni servizi, se si verificano condizioni critiche o modifiche imminenti durante le operazioni sulle risorse, viene visualizzato un avviso nella pagina Panoramica del servizio nel portale. È possibile trovare altre informazioni e correzioni consigliate per l'avviso in Consigli di Advisor in Monitoraggio nel menu a sinistra. Durante il normale funzionamento non viene visualizzato nessun consiglio di Advisor.
Per altre informazioni su Azure Advisor, vedere Informazioni generali su Azure Advisor.
Contenuto correlato
- Per informazioni di riferimento sulle metriche, i log e altri valori importanti creati per il servizio app, vedere Informazioni di riferimento sui dati di monitoraggio del Servizio app.
- Per informazioni generali sul monitoraggio delle risorse di Azure, vedere Monitoraggio delle risorse di Azure con Monitoraggio di Azure.