Condividi tramite


Dati di diagnostica di calcolo paaS (Piattaforma distribuita come servizio) di Windows Azure

Quando è necessario risolvere un problema, una delle cose più importanti da comprendere è quali dati di diagnostica sono disponibili. Se non si sa dove cercare i log o altre informazioni diagnostiche, potrebbe essere necessario ricorrere all'approccio di valutazione e errore o fucile per la risoluzione dei problemi. Se si ha accesso ai log, si hanno maggiori possibilità di diagnosticare eventuali problemi, anche se non rientrano nell'area di competenza.

Questo articolo illustra i dati disponibili negli ambienti di calcolo PaaS (Platform as a Service) di Azure. Descrive come raccogliere facilmente questi dati da una macchina virtuale (VM) PaaS Di Windows.

Le sezioni seguenti includono le origini dati usate più di frequente quando si esezionano problemi in una macchina virtuale PaaS Windows. Le sezioni vengono ordinate approssimativamente in base all'importanza (la frequenza di utilizzo del log per diagnosticare i problemi).

Registri eventi di Windows Azure

I log eventi di Windows Azure contengono l'output di diagnostica chiave del runtime di Azure. I log registrano informazioni su tali eventi come le seguenti:

  • Il ruolo viene avviato e arrestato
  • Attività di avvio
  • OnStart avviare e arrestare
  • OnRun Iniziare
  • Si blocca
  • Ricicla

Per visualizzare i log eventi di Windows Azure:

  1. Nel menu Start cercare Visualizzatore eventi e quindi selezionare l'app.

  2. Nel riquadro di spostamento espandere Registri applicazioni e servizi e quindi selezionare Windows Azure.

Questa origine diagnostica consente di identificare la causa di molti dei problemi più comuni che impediscono l'avvio corretto dei ruoli di Azure. Sono inclusi gli errori delle attività di avvio e l'arresto anomalo di OnStart o OnRun. Visualizzatore eventi acquisisce arresti anomali nei processi host di runtime di Azure che eseguono il codice del punto di ingresso del ruolo (ad esempio WebRole.cs o WorkerRole.cs) e fornisce stack di chiamate.

Registri eventi dell'applicazione

È possibile usare i log eventi dell'applicazione per la risoluzione dei problemi standard nei server azure e locali. È possibile che in questi log vengano spesso rilevati errori correlati a w3wp.exe.

Per visualizzare i log eventi dell'applicazione:

  1. Nel menu Start cercare Visualizzatore eventi e quindi selezionare l'app.

  2. Nel riquadro di spostamento espandere Log di Windows e quindi selezionare Applicazione.

Log di runtime dell'agente app

Il log di runtime dell'agente app si trova in C:\Logs\AppAgentRuntime.log ed è scritto dal file eseguibile WindowsAzureGuestAgent.exe . Il log contiene informazioni sugli eventi che si verificano all'interno dell'agente guest e della macchina virtuale. Queste informazioni sull'evento includono, ma non è limitato a, le categorie seguenti:

  • Configurazione firewall
  • Modifiche allo stato del ruolo
  • Ricicla
  • Riavvio
  • Modifiche dello stato di integrità
  • Il ruolo si arresta e avvia
  • Configurazione dei certificati

Questo log è utile per ottenere una rapida panoramica degli eventi che si verificano nel tempo in un ruolo. Questo perché registra le modifiche principali al ruolo senza registrare heartbeat. Se l'agente guest non è in grado di avviare correttamente il ruolo, ad esempio se un file bloccato impedisce la pulizia della directory, l'evento verrà registrato in questo log.

Log dell'heartbeat dell'agente app

Il log heartbeat dell'agente app si trova in C:\Logs\WaAppAgent.log ed è scritto dal file eseguibile WindowsAzureGuestAgent.exe . Contiene informazioni sullo stato dei probe di integrità nel bootstrapper host.

Il processo dell'agente guest è responsabile della segnalazione dello stato di integrità (ad esempio, Ready o Busy) all'infrastruttura. Pertanto, lo stato di integrità segnalato da questo log è lo stesso dello stato che verrà visualizzato nel portale di gestione. Il log è utile per determinare lo stato corrente del ruolo all'interno della macchina virtuale o per determinare qual era lo stato in un momento precedente. È possibile fornire descrizioni dei problemi, ad esempio "Il mio sito Web è passato dalle 10:00 alle 11:30 di ieri" per usare il log heartbeat per determinare lo stato di integrità del ruolo durante quel periodo di tempo.

Log del bootstrapper host

Il log del bootsstrapper host si trova in C:\Resources\WaHostBootstrapper.log. Contiene voci per le attività di avvio, inclusi i plug-in, ad esempio memorizzazione nella cache o RDP (Remote Desktop Protocol). Il log contiene anche probe di integrità per il processo host che esegue il codice del punto di ingresso del ruolo (il codice WebRole.cs eseguito in WaIISHost.exe).

Viene generato un file di log ogni volta che viene riavviato il bootstrapper host. In altre parole, viene riavviato ogni volta che il ruolo viene riciclato a causa di un evento come arresto anomalo, riciclo, riavvio della macchina virtuale o aggiornamento. Questa procedura semplifica l'uso del log per determinare la frequenza o il momento in cui il ruolo è stato riciclato.

Log di Internet Information Services

I log di Internet Information Services (IIS) si trovano in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\LogFiles\Web. Questi log vengono usati per la risoluzione dei problemi standard nei server azure e locali.

I log IIS sono spesso trascurati in scenari come "Il mio sito Web è passato dalle 10:00 alle 11:30 di ieri". È naturale incolpare Azure per l'interruzione. ("Il mio sito funzionava bene per due settimane, quindi il problema deve essere Azure!") Tuttavia, i log IIS spesso indicano diversamente. È possibile che si sia verificato un aumento dei tempi di risposta immediatamente prima dell'interruzione. In alternativa, è possibile che i codici di stato non riusciti siano stati restituiti da IIS. Questi codici indicano un problema che si è verificato all'interno del sito Web stesso,ovvero nel codice ASP.NET eseguito in w3wp.exe) e non in Azure.

Contatori delle prestazioni

Per visualizzare i contatori delle prestazioni, selezionare il menu Start, cercare in perfmon e quindi selezionare Monitor prestazioni. Questa app è uno snap-in per Microsoft Management Console (MMC). In alternativa, installare e configurare l'estensione di diagnostica di Windows Azure.

I contatori delle prestazioni vengono usati per la risoluzione dei problemi standard nei server di Azure e locali. Se si configura WAD in anticipo, si avranno spesso contatori delle prestazioni utili per risolvere i problemi che si sono verificati in passato (ad esempio, "Il mio sito Web è passato dalle 10:00 alle 11:30 di ieri".

A parte i problemi per cui si raccolgono contatori delle prestazioni specifici, gli usi più comuni per i contatori delle prestazioni raccolti da WAD sono la ricerca degli elementi seguenti, nell'ordine specificato:

  1. Voci regolari dei contatori delle prestazioni

  2. Periodo di assenza di voci

  3. Uno degli stati nella tabella seguente.

    Stato Descrizione
    Ripresa di voci regolari Scenario in cui la macchina virtuale potenzialmente non era in esecuzione
    Utilizzo della CPU al 100% Un ciclo infinito o qualche altro problema logico nel codice del sito Web stesso

log HTTP.SYS

I log HTTP.SYS si trovano in D:\Windows\System32\LogFiles\HTTPERR. Questi log vengono usati per la risoluzione dei problemi standard nei server azure e locali.

Come avviene per i log IIS, i log HTTP.SYS vengono spesso trascurati. Tuttavia, sono importanti quando si tenta di risolvere un problema in cui un sito Web del servizio ospitato non risponde. Spesso, questo problema è causato dal fatto che IIS non è in grado di elaborare il volume di richieste che arrivano. L'evidenza per questa causa viene in genere visualizzata nei log HTTP.SYS.

File di log delle richieste non riuscite di IIS

I file di log "RICHIESTA IIS non riuscita" si trovano in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\FailedReqLogFiles. Questi log vengono usati per la risoluzione dei problemi standard nei server azure e locali.

Per impostazione predefinita, questi file di log non sono attivati in Windows Azure. Vengono usati raramente. Tuttavia, se si stanno risolvendo problemi specifici di IIS o ASP.NET, è consigliabile attivare la traccia FREB (buffering degli eventi di richiesta non riuscita). La traccia FREB può fornire maggiori dettagli su questi problemi.

Tabelle di diagnostica e configurazione di Windows Azure

Le tabelle e la configurazione per l'estensione diagnostica di Windows Azure si trovano in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\Monitor. Questi elementi rappresentano la cache locale nella macchina virtuale dei dati WAD.

WAD esegue i passaggi seguenti:

  1. Acquisisce i dati man mano che sono stati configurati.

  2. Archivia i dati in file TSF personalizzati nella macchina virtuale.

  3. Trasferisce i dati nell'archiviazione in base al periodo di trasferimento pianificato specificato.

Sfortunatamente, poiché i dati sono in un formato TSF personalizzato, il contenuto dei dati WAD è di uso limitato. Ma contengono i file di configurazione di diagnostica utili per risolvere i problemi se WAD non funziona correttamente. Nella cartella Configuration cercare un file denominato config.xml. Questo file include i dati di configurazione per WAD. Se WAD non funziona correttamente, controllare questo file per assicurarsi che rifletta il modo in cui si prevede che WAD venga configurato.

File di log di memorizzazione nella cache di Windows Azure

I file di log di memorizzazione nella cache di Windows Azure si trovano in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\AzureCaching. Questi log contengono informazioni dettagliate sulla memorizzazione nella cache basata sui ruoli di Windows Azure. I log consentono di risolvere i problemi in cui la memorizzazione nella cache non funziona come previsto.

Log di WaIISHost

Il log WaIISHost si trova in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\WaIISHost.log. Contiene informazioni dal processo diWaIISHost.exe . Questo processo è il punto di esecuzione del codice del punto di ingresso del ruolo (WebRole.cs) per WebRoles. La maggior parte di queste informazioni è inclusa anche negli altri log descritti in questo articolo, ad esempio i log eventi di Windows Azure. In alcuni casi, tuttavia, è possibile trovare informazioni più utili qui.

Log di IISConfigurator

Il log IISConfigurator si trova in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\IISConfigurator.log. Contiene informazioni sul processo IISConfigurator. Questo processo viene usato per eseguire la configurazione IIS effettiva del sito Web, in base al modello definito nei file di definizione del servizio. Il processo raramente ha esito negativo o rileva errori. Tuttavia, se IIS o w3wp.exe non sembrano essere configurati correttamente per il servizio, questo log è la posizione da controllare.

File di configurazione del ruolo

Il file di configurazione del ruolo si trova in C:\Config\<DeploymentID>.<RoleName>.<Versione>.xml. Contiene informazioni sulla configurazione per il ruolo, ad esempio gli elementi seguenti:

  • Impostazioni definite nel file ServiceConfiguration.cscfg

  • Directory delle risorse locali

  • Indirizzi IP e porte per IP dinamico (DIP) e IP virtuale (VIP)

  • Identificazioni personali del certificato

  • Probe del servizio di bilanciamento del carico

  • Altre istanze

Il file di configurazione del ruolo è simile al file di definizione del modello di ruolo in quanto non contiene informazioni generate dal runtime. Tuttavia, può essere utile assicurarsi che il servizio sia configurato come previsto.

File di definizione del modello di ruolo

Il file di definizione del modello di ruolo si trova in E:\RoleModel.xml o F:\RoleModel.xml. Contiene informazioni sulla definizione del servizio in base al runtime di Azure.

Il file contiene voci per ogni attività di avvio e informazioni su come viene eseguita l'attività, incluse le caratteristiche seguenti:

  • Background
  • Variabili di ambiente
  • Posizione

È anche possibile vedere come viene definito l'elemento <sites> per un ruolo Web.

Il file di definizione del modello di ruolo non contiene informazioni generate dal runtime, ma può essere utile per verificare che Azure esegua il servizio come previsto. Questa verifica è spesso utile quando si dispone di una determinata versione di una definizione di servizio nel computer di sviluppo, ma il server di compilazione e pacchetto usa un'altra versione dei file di definizione del servizio.

Informazioni sui file ETL

La cartella C:\Logs contiene i file RuntimeEvents_<Iteration.etl> e WaAppAgent_<Iteration.etl>. Questi file del log di traccia eventi (ETL) sono tracce ETW (Event Tracing for Windows) che contengono una compilazione delle informazioni disponibili nei log eventi di Windows Azure, nei log degli agenti guest e in altri log. I file sono una comoda compilazione dei dati di log più importanti in una macchina virtuale di Azure. Poiché i file sono in formato ETL, è necessario eseguire alcuni passaggi aggiuntivi per utilizzare le informazioni. Se si dispone di uno strumento di visualizzazione ETW preferito, è possibile ignorare molti dei file di log menzionati. È invece possibile esaminare solo le informazioni contenute in questi due file ETL.

Passaggi successivi

Ulteriori informazioni

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.