Risoluzione dei problemi di Diagnostica di AzureAzure Diagnostics troubleshooting

Questo articolo contiene informazioni sulla risoluzione dei problemi relativi all'uso di Diagnostica di Azure.This article describes troubleshooting information that's relevant to using Azure Diagnostics. Per altre informazioni su Diagnostica di Azure, vedere la panoramica di Diagnostica di Azure.For more information about Azure diagnostics, see Azure Diagnostics overview.

Componenti logiciLogical components

Utilità di avvio del plug-in di diagnostica (DiagnosticsPluginLauncher.exe): avvia l'estensione Diagnostica di Azure.Diagnostics Plugin Launcher (DiagnosticsPluginLauncher.exe): Launches the Azure Diagnostics extension. Svolge la funzione di processo del punto di ingresso.Serves as the entry point process.

Plug-in di Diagnostica (DiagnosticsPlugin.exe): configura e avvia l'agente di monitoraggio e ne gestisce il ciclo di vita.Diagnostics Plugin (DiagnosticsPlugin.exe): Configures, launches, and manages the lifetime of the monitoring agent. È il principale processo avviato dall'utilità di avvio.It is the main process that is launched by the launcher.

Agente di monitoraggio (processi MonAgent*.exe): monitora, raccoglie e trasferisce i dati di diagnostica.Monitoring Agent (MonAgent*.exe processes): Monitors, collects, and transfers the diagnostics data.

Percorsi di log ed elementiLog/artifact paths

Di seguito sono elencati i percorsi di alcuni log ed elementi importanti.Following are the paths to some important logs and artifacts. Nel resto del documento verrà fatto riferimento a queste informazioni.We refer to this information throughout the rest of the document.

Servizi cloud di AzureAzure Cloud Services

ElementoArtifact PathPath
File di configurazione di Diagnostica di AzureAzure Diagnostics configuration file %SystemDrive%\Packages\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<versione>\Config.txt%SystemDrive%\Packages\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<version>\Config.txt
File di logLog files C:\Logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<versione>\C:\Logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<version>\
Archivio locale dei dati di diagnosticaLocal store for diagnostics data C:\Resources\Directory<CloudServiceDeploymentID>.<NomeRuolo>.DiagnosticStore\WAD0107\TablesC:\Resources\Directory<CloudServiceDeploymentID>.<RoleName>.DiagnosticStore\WAD0107\Tables
File di configurazione dell'agente di monitoraggioMonitoring agent configuration file C:\Resources\Directory<CloudServiceDeploymentID>.<NomeRuolo>.DiagnosticStore\WAD0107\Configuration\MaConfig.xmlC:\Resources\Directory<CloudServiceDeploymentID>.<RoleName>.DiagnosticStore\WAD0107\Configuration\MaConfig.xml
Pacchetto dell'estensione Diagnostica di AzureAzure Diagnostics extension package %SystemDrive%\Packages\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<versione>%SystemDrive%\Packages\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics<version>
Percorso dell'utilità di raccolta dei logLog collection utility path %SystemDrive%\Packages\GuestAgent\%SystemDrive%\Packages\GuestAgent\
File di log MonAgentHostMonAgentHost log file C:\Resources\Directory<CloudServiceDeploymentID>.<RoleName>.DiagnosticStore\WAD0107\Configuration\MonAgentHost.<seq_num>.logC:\Resources\Directory<CloudServiceDeploymentID>.<RoleName>.DiagnosticStore\WAD0107\Configuration\MonAgentHost.<seq_num>.log

Macchine virtualiVirtual machines

ElementoArtifact PathPath
File di configurazione di Diagnostica di AzureAzure Diagnostics configuration file C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<versione>\RuntimeSettingsC:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<version>\RuntimeSettings
File di logLog files C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<versione>\Logs\C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<version>\Logs\
Archivio locale dei dati di diagnosticaLocal store for diagnostics data C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<VersioneDiagnostica>\WAD0107\TablesC:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<DiagnosticsVersion>\WAD0107\Tables
File di configurazione dell'agente di monitoraggioMonitoring agent configuration file C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<VersioneDiagnostica>\WAD0107\Configuration\MaConfig.xmlC:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<DiagnosticsVersion>\WAD0107\Configuration\MaConfig.xml
File di statoStatus file C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<versione>\StatusC:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<version>\Status
Pacchetto dell'estensione Diagnostica di AzureAzure Diagnostics extension package C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<VersioneDiagnostica>C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<DiagnosticsVersion>
Percorso dell'utilità di raccolta dei logLog collection utility path C:\WindowsAzure\PackagesC:\WindowsAzure\Packages
File di log MonAgentHostMonAgentHost log file C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<DiagnosticsVersion>\WAD0107\Configuration\MonAgentHost.<seq_num>.logC:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<DiagnosticsVersion>\WAD0107\Configuration\MonAgentHost.<seq_num>.log

Mancata visualizzazione dei dati relativi alle metriche nel portale di AzureMetric data doesn't appear in the Azure portal

Diagnostica di Azure offre dati relativi alle metriche che possono essere visualizzati nel portale di Azure.Azure Diagnostics provides metric data that can be displayed in the Azure portal. In caso di problemi con la visualizzazione dei dati nel portale, controllare la tabella WADMetrics* nell'account di archiviazione di Diagnostica di Azure per verificare se siano presenti i record delle metriche corrispondenti.If you have problems seeing the data in portal, check the WADMetrics* table in the Azure Diagnostics storage account to see if the corresponding metric records are there.

Il valore PartitionKey della tabella è l'ID risorsa, la macchina virtuale o il set di scalabilità di macchine virtuali.Here, the PartitionKey of the table is the resource ID, virtual machine, or virtual machine scale set. RowKey è il nome della metrica (detto anche nome del contatore delle prestazioni).RowKey is the metric name (also known as the performance counter name).

Se l'ID risorsa non è corretto, controllare in Diagnostics Configuration (Configurazione di diagnostica) > Metriche > ResourceId se l'ID risorsa è impostato correttamente.If the resource ID is incorrect, check Diagnostics Configuration > Metrics > ResourceId to see if the resource ID is set correctly.

Se non sono presenti dati per la metrica specifica, controllare in Diagnostics Configuration (Configurazione di diagnostica) > PerformanceCounter se la metrica (contatore delle prestazioni) è inclusa.If there's no data for the specific metric, check Diagnostics Configuration > PerformanceCounter to see if the metric (performance counter) is included. Per impostazione predefinita sono abilitati i contatori seguenti:We enable the following counters by default:

  • \Processor(_Total)% Processor Time\Processor(_Total)% Processor Time
  • \Memory\Available Bytes\Memory\Available Bytes
  • \ASP.NET Applications(Total)\Requests/Sec\ASP.NET Applications(Total)\Requests/Sec
  • \ASP.NET Applications(Total)\Errors Total/Sec\ASP.NET Applications(Total)\Errors Total/Sec
  • \ASP.NET\Requests Queued\ASP.NET\Requests Queued
  • \ASP.NET\Requests Rejected\ASP.NET\Requests Rejected
  • \Processor(w3wp)% Processor Time\Processor(w3wp)% Processor Time
  • \Process(w3wp)\Private Bytes\Process(w3wp)\Private Bytes
  • \Process(WaIISHost)% Processor Time\Process(WaIISHost)% Processor Time
  • \Process(WaIISHost)\Private Bytes\Process(WaIISHost)\Private Bytes
  • \Process(WaWorkerHost)% Processor Time\Process(WaWorkerHost)% Processor Time
  • \Process(WaWorkerHost)\Private Bytes\Process(WaWorkerHost)\Private Bytes
  • \Memory\Page Faults/sec\Memory\Page Faults/sec
  • .NET CLR Memory(Global)% Time in GC.NET CLR Memory(Global)% Time in GC
  • \LogicalDisk(C:)\Disk Write Bytes/sec\LogicalDisk(C:)\Disk Write Bytes/sec
  • \LogicalDisk(C:)\Disk Read Bytes/sec\LogicalDisk(C:)\Disk Read Bytes/sec
  • \LogicalDisk(D:)\Disk Write Bytes/sec\LogicalDisk(D:)\Disk Write Bytes/sec
  • \LogicalDisk(D:)\Disk Read Bytes/sec\LogicalDisk(D:)\Disk Read Bytes/sec

Se la configurazione è impostata correttamente ma i dati relativi alle metriche non vengono comunque visualizzati, usare le linee guida seguenti per risolvere il problema.If the configuration is set correctly but you still can't see the metric data, use the following guidelines to help you troubleshoot.

Mancato avvio di Diagnostica di AzureAzure Diagnostics isn't starting

Per informazioni sui motivi per cui non è stato possibile avviare Diagnostica di Azure, vedere i file DiagnosticsPluginLauncher.log e DiagnosticsPlugin.log nel percorso dei file di log riportati in precedenza.For information about why Azure Diagnostics failed to start, see the DiagnosticsPluginLauncher.log and DiagnosticsPlugin.log files in the log files location that was provided earlier.

Se questi log indicano Monitoring Agent not reporting success after launch, significa che si è verificato un errore di avvio di MonAgentHost.exe.If these logs indicate Monitoring Agent not reporting success after launch, it means there was a failure launching MonAgentHost.exe. Esaminare i log nel percorso indicato per MonAgentHost log file nella sezione precedente.Look at the logs in the location that's indicated for MonAgentHost log file in the previous section.

L'ultima riga del file di log contiene il codice di uscita.The last line of the log files contains the exit code.

DiagnosticsPluginLauncher.exe Information: 0 : [4/16/2016 6:24:15 AM] DiagnosticPlugin exited with code 0

Se si trova un codice di uscita negativo, vedere la tabella dei codici di uscita nella sezione Riferimenti.If you find a negative exit code, refer to the exit code table in the References section.

Mancata registrazione dei dati di diagnostica in Archiviazione di AzureDiagnostics data is not logged to Azure Storage

Determinare se i dati non vengono visualizzati interamente o in parte.Determine if none of the data is appearing or some of the data is appearing.

Log dell'infrastruttura di diagnosticaDiagnostics infrastructure logs

Diagnostica registra tutti gli errori nei log dell'infrastruttura di diagnostica.Diagnostics logs all errors in the Diagnostics infrastructure logs. Verificare di aver abilitato l'acquisizione dei log dell'infrastruttura di diagnostica nella configurazione.Make sure you have enabled the capture of Diagnostics infrastructure logs in your configuration. È quindi possibile cercare rapidamente gli errori pertinenti riportati nella tabella DiagnosticInfrastructureLogsTable nell'account di archiviazione configurato.Then you can quickly look for any relevant errors that appear in the DiagnosticInfrastructureLogsTable table in your configured storage account.

Nessun dato visualizzatoNo data is appearing

La causa più comune per cui non viene visualizzato alcun dato di eventi è la definizione non corretta delle informazioni dell'account di archiviazione.The most common reason that event data doesn't appear at all is that the storage account information is defined incorrectly.

Soluzione: correggere la configurazione della diagnostica e reinstallare Diagnostica.Solution: Correct your Diagnostics configuration and reinstall Diagnostics.

Se l'account di archiviazione è configurato correttamente, accedere in remoto al computer e verificare che DiagnosticsPlugin.exe e MonAgentCore.exe siano in esecuzione.If the storage account is configured correctly, remote access into the machine and verify that DiagnosticsPlugin.exe and MonAgentCore.exe are running. Se non sono in esecuzione, seguire la procedura illustrata in Mancato avvio di Diagnostica di Azure.If they aren't running, follow the steps in Azure Diagnostics is not starting.

Se i processi sono in esecuzione, passare a I dati vengono acquisiti in locale? e seguire le istruzioni riportate in tale sottoparagrafo.If the processes are running, go to Is data getting captured locally? and follow the instructions there.

Alcuni dati sono mancantiPart of the data is missing

Se vengono visualizzati alcuni dati ma non tutti, la pipeline di raccolta/trasferimento dati è impostata correttamente.If you are getting some data but not all, it means that the data collection/transfer pipeline is set correctly. Seguire le istruzioni di questi sottoparagrafi per circoscrivere il problema.Follow the subsections here to narrow down the issue.

La raccolta è configurata?Is the collection configured?

La configurazione di Diagnostica contiene istruzioni per la raccolta di un determinato tipo di dati.The Diagnostics configuration contains instructions for a particular type of data to be collected. Esaminare la configurazione per assicurarsi di cercare solo i dati per cui è stata configurata la raccolta.Review your configuration to verify that you are only looking for data that you've configured for the collection.

L'host genera dati?Is the host generating data?

  • Contatori delle prestazioni: aprire perfmon e controllare il contatore.Performance counters: Open perfmon and check the counter.

  • Log di traccia: accedere in remoto alla VM e aggiungere TextWriterTraceListener al file di configurazione dell'app.Trace logs: Remote access into the VM and add a TextWriterTraceListener to the app’s config file. Vedere http://msdn.microsoft.com/library/sk36c28t.aspx per impostare il listener di testo.See http://msdn.microsoft.com/library/sk36c28t.aspx to set up the text listener. Verificare che l'elemento <trace> includa <trace autoflush="true">.Make sure the <trace> element has <trace autoflush="true">.
    Se non risulta che i log di traccia vengano generati, vedere Altre informazioni sui log di traccia mancanti.If you don't see trace logs being generated, see More about trace logs missing.

  • Tracce ETW: accedere in remoto alla VM e installare PerfView.ETW traces: Remote access into the VM and install PerfView. In PerfView eseguire File > User Command > Listen etwprovder1 > etwprovider2 (File > Comando utente -> Ascolto etwprovder1 > etwprovider2) e così via.In PerfView, run File > User Command > Listen etwprovder1 > etwprovider2, and so on. Nel comando di ascolto viene fatta distinzione tra maiuscole e minuscole e nell'elenco separato da virgole dei provider ETW non possono essere presenti spazi.The Listen command is case-sensitive, and there cannot be spaces between the comma-separated list of ETW providers. Se l'esecuzione del comando ha esito negativo, è possibile selezionare il pulsante Log in basso a destra nello strumento Perfview per visualizzare i tentativi di esecuzione e i risultati.If the command fails to run, you can select the Log button in the bottom right of the Perfview tool to see what attempted to run and what the result was. Se l'input è corretto, verrà aperta una nuova finestra.Assuming the input is correct, a new window pops up. Dopo pochi secondi inizieranno a essere visualizzate le tracce ETW.In a few seconds, you begin seeing ETW traces.

  • Log eventi: accedere in remoto alla VM.Event logs: Remote access into the VM. Aprire Event Viewer e quindi verificare che gli eventi siano presenti.Open Event Viewer, and then ensure that the events exist.

I dati vengono acquisiti in locale?Is data getting captured locally?

Verificare quindi che i dati vengano acquisiti in locale.Next, make sure the data is getting captured locally. I dati vengono archiviati in locale nei file *.tsf nell'archivio locale per i dati di diagnostica.The data is locally stored in *.tsf files in the local store for diagnostics data. I diversi tipi di log vengono raccolti in file .tsf diversi.Different kinds of logs get collected in different .tsf files. I nomi sono simili a quelli delle tabelle in Archiviazione di Azure.The names are similar to the table names in Azure Storage.

Ad esempio, i log di Performance Counters vengono raccolti in PerformanceCountersTable.tsf,For example, Performance Counters get collected in PerformanceCountersTable.tsf. mentre i log eventi vengono raccolti in WindowsEventLogsTable.tsf.Event logs get collected in WindowsEventLogsTable.tsf. Usare le istruzioni riportate nella sezione Estrazione dei log locali per aprire i file di raccolta locali e verificare che vengano raccolti su disco.Use the instructions in the Local log extraction section to open the local collection files and verify that you see them getting collected on disk.

Se non risulta che i log vengano raccolti in locale e si è già verificato che l'host genera dati, è probabile che sia presente un problema di configurazione.If you don't see logs getting collected locally, and have already verified that the host is generating data, you likely have a configuration issue. Esaminare attentamente la configurazione.Review your configuration carefully.

Analizzare anche la configurazione generata per il file MaConfig.xml dell'agente di monitoraggio.Also review the configuration that was generated for MonitoringAgent MaConfig.xml. Verificare che sia presente una sezione che descrive l'origine di log pertinenteVerify that there is a section that describes the relevant log source. e quindi che non sia andata persa nella conversione tra la configurazione di Diagnostica e la configurazione dell'agente di monitoraggio.Then verify that it is not lost in translation between the Diagnostics configuration and the monitoring agent configuration.

I dati vengono trasferiti?Is data getting transferred?

Se è stato verificato che i dati vengono acquisiti in locale ma non vengono comunque visualizzati nell'account di archiviazione, seguire questa procedura:If you have verified that the data is getting captured locally but you still don't see it in your storage account, take the following steps:

  • Verificare di aver specificato un account di archiviazione corretto e che non sia stato eseguito il rollover di chiavi per l'account di archiviazione indicato.Verify that you have provided a correct storage account, and that you haven't rolled over keys for the given storage account. Per Servizi cloud di Azure, si riscontra talvolta che gli utenti non aggiornano useDevelopmentStorage=true.For Azure Cloud Services, sometimes we see that people don't update useDevelopmentStorage=true.

  • Verificare che l'account di archiviazione specificato sia corretto.Verify that the provided storage account is correct. Assicurarsi che non siano presenti restrizioni di rete che impediscono ai componenti di raggiungere gli endpoint di archiviazione pubblici.Make sure you don't have network restrictions that prevent the components from reaching public storage endpoints. Questa operazione può essere eseguita accedendo in remoto al computer e provando quindi a scrivere nello stesso account di archiviazione.One way to do that is to remote access into the machine, and then try to write something to the same storage account yourself.

  • È infine possibile esaminare gli errori segnalati dall'agente di monitoraggio.Finally, you can look at what failures are being reported by the monitoring Agent. L'agente di monitoraggio scrive i log in maeventtable.tsf, che si trova nell'archivio locale dei dati di diagnostica.The monitoring agent writes its logs in maeventtable.tsf, which is located in the local store for diagnostics data. Per aprire questo file, seguire le istruzioni riportate nella sezione Estrazione dei log locali.Follow the instructions in the Local log extraction section for opening this file. Provare quindi a determinare se siano presenti errors che indicano errori di lettura nei file locali o scrittura nelle risorse di archiviazione.Then try to determine if there are errors that indicate failures reading to local files writing to storage.

Acquisizione e archiviazione dei logCapturing and archiving logs

Se si intende contattare il supporto tecnico, considerare che per prima cosa potrebbe essere richiesto di raccogliere i log del computer.If you are thinking about contacting support, the first thing they might ask you is to collect logs from your machine. È possibile risparmiare tempo eseguendo questa operazione autonomamente.You can save time by doing that yourself. Eseguire CollectGuestLogs.exe nel percorso dell'utilità di raccolta dei log.Run the CollectGuestLogs.exe utility at Log collection utility path. Verrà generato un file ZIP con tutti i log di Azure pertinenti nella stessa cartella.It generates a .zip file with all relevant Azure logs in the same folder.

Tabelle dei dati di diagnostica non trovateDiagnostics data tables not found

Le tabelle in Archiviazione di Azure contenenti gli eventi ETW vengono denominate usando il codice seguente:The tables in Azure storage that hold ETW events are named by using the following code:

        if (String.IsNullOrEmpty(eventDestination)) {
            if (e == "DefaultEvents")
                tableName = "WADDefault" + MD5(provider);
            else
                tableName = "WADEvent" + MD5(provider) + eventId;
        }
        else
            tableName = "WAD" + eventDestination;

Di seguito è fornito un esempio:Here is an example:

        <EtwEventSourceProviderConfiguration provider="prov1">
          <Event id="1" />
          <Event id="2" eventDestination="dest1" />
          <DefaultEvents />
        </EtwEventSourceProviderConfiguration>
        <EtwEventSourceProviderConfiguration provider="prov2">
          <DefaultEvents eventDestination="dest2" />
        </EtwEventSourceProviderConfiguration>
"EtwEventSourceProviderConfiguration": [
    {
        "provider": "prov1",
        "Event": [
            {
                "id": 1
            },
            {
                "id": 2,
                "eventDestination": "dest1"
            }
        ],
        "DefaultEvents": {
            "eventDestination": "DefaultEventDestination",
            "sinks": ""
        }
    },
    {
        "provider": "prov2",
        "DefaultEvents": {
            "eventDestination": "dest2"
        }
    }
]

Questo codice genera quattro tabelle:This code generates four tables:

EventoEvent Nome tabellaTable name
provider="prov1" <Event id=v1" />provider=”prov1” <Event id=”1” /> WADEvent+MD5(“prov1”)+”1”WADEvent+MD5(“prov1”)+”1”
provider="prov1" <Event id="2" eventDestination="dest1" />provider=”prov1” <Event id=”2” eventDestination=”dest1” /> WADdest1WADdest1
provider="prov1" <DefaultEvents />provider=”prov1” <DefaultEvents /> WADDefault+MD5(“prov1”)WADDefault+MD5(“prov1”)
provider="prov2" <DefaultEvents eventDestination="dest2" />provider=”prov2” <DefaultEvents eventDestination=”dest2” /> WADdest2WADdest2

RiferimentiReferences

Come controllare la configurazione dell'estensione DiagnosticaHow to check Diagnostics extension configuration

Il modo più semplice per controllare la configurazione dell'estensione consiste nel passare ad Azure Resource Explorer e quindi alla macchina virtuale o al servizio cloud in cui si trova l'estensione Diagnostica di Azure (IaaSDiagnostics/PaasDiagnostics).The easiest way to check your extension configuration is to go to Azure Resource Explorer, and then go to the virtual machine or cloud service where the Azure Diagnostics extension (IaaSDiagnostics / PaaDiagnostics) is.

In alternativa, connettersi tramite desktop remoto al computer ed esaminare il file di configurazione di Diagnostica di Azure descritto nella sezione Percorsi di log ed elementi.Alternatively, remote desktop into the machine and look at the Azure Diagnostics Configuration file that's described in the Log artifacts path section.

In entrambi i casi cercare Microsoft.Azure.Diagnostics e quindi il campo xmlCfg o WadCfg.In either case, search for Microsoft.Azure.Diagnostics, and then for the xmlCfg or WadCfg field.

Se si esegue la ricerca su una macchina virtuale ed è presente il campo WadCfg, la configurazione è in formato JSON.If you're searching on a virtual machine and the WadCfg field is present, it means the config is in JSON format. Se è presente il campo xmlCfg, la configurazione è in formato XML con codifica Base64.If the xmlCfg field is present, it means the config is in XML and is base64-encoded. Per visualizzare il codice XML caricato da Diagnostica è necessario decodificare il file.You need to decode it to see the XML that was loaded by Diagnostics.

Per il ruolo del servizio cloud, se si seleziona la configurazione dal disco, ai dati è applicata la codifica Base64 ed è quindi necessario decodificarli per visualizzare il codice XML caricato da Diagnostica.For the cloud service role, if you pick the configuration from disk, the data is base64-encoded, so you need to decode it to see the XML that was loaded by Diagnostics.

Codici di uscita del plug-in di Diagnostica di AzureAzure Diagnostics plugin exit codes

Il plug-in restituisce i seguenti codici di uscita:The plugin returns the following exit codes:

Codice di uscitaExit code DescrizioneDescription
00 Completamento della procedura.Success.
-1-1 Errore generico.Generic error.
-2-2 Impossibile caricare il file rcf.Unable to load the rcf file.

Questo errore interno dovrebbe verificarsi solo se l'utilità di avvio del plug-in dell'agente guest viene richiamata manualmente in modo non corretto sulla VM.This internal error should only happen if the guest agent plugin launcher is manually invoked incorrectly on the VM.

-3-3 Impossibile caricare il file di configurazione di Diagnostica.Cannot load the Diagnostics configuration file.

Soluzione: questo errore si verifica quando un file di configurazione non ha superato la convalida dello schema.Solution: Caused by a configuration file not passing schema validation. La soluzione consiste nel fornire un file di configurazione conforme allo schema.The solution is to provide a configuration file that complies with the schema.

-4-4 La directory delle risorse locali è già usata da un'altra istanza dell'agente di monitoraggio di Diagnostica.Another instance of the monitoring agent Diagnostics is already using the local resource directory.

Soluzione: specificare un valore diverso per LocalResourceDirectory.Solution: Specify a different value for LocalResourceDirectory.

-6-6 L'utilità di avvio del plug-in dell'agente guest ha tentato di avviare Diagnostica con una riga di comando non valida.The guest agent plugin launcher attempted to launch Diagnostics with an invalid command line.

Questo errore interno dovrebbe verificarsi solo se l'utilità di avvio del plug-in dell'agente guest viene richiamata manualmente in modo non corretto sulla VM.This internal error should only happen if the guest agent plugin launcher is manually invoked incorrectly on the VM.

-10-10 Il plug-in di Diagnostica ha generato un'eccezione non gestita.The Diagnostics plugin exited with an unhandled exception.
-11-11 L'agente guest non è stato in grado di creare il processo responsabile dell'avvio e del monitoraggio dell'agente di monitoraggio.The guest agent was unable to create the process responsible for launching and monitoring the monitoring agent.

Soluzione: verificare che siano disponibili risorse di sistema sufficienti per avviare nuovi processi.Solution: Verify that sufficient system resources are available to launch new processes.

-101-101 Argomenti non validi durante la chiamata del plug-in di Diagnostica.Invalid arguments when calling the Diagnostics plugin.

Questo errore interno dovrebbe verificarsi solo se l'utilità di avvio del plug-in dell'agente guest viene richiamata manualmente in modo non corretto sulla VM.This internal error should only happen if the guest agent plugin launcher is manually invoked incorrectly on the VM.

-102-102 Il processo del plug-in non è in grado di inizializzarsi.The plugin process is unable to initialize itself.

Soluzione: verificare che siano disponibili risorse di sistema sufficienti per avviare nuovi processi.Solution: Verify that sufficient system resources are available to launch new processes.

-103-103 Il processo del plug-in non è in grado di inizializzarsi.The plugin process is unable to initialize itself. In particolare, non riesce a creare l'oggetto logger.Specifically, it is unable to create the logger object.

Soluzione: verificare che siano disponibili risorse di sistema sufficienti per avviare nuovi processi.Solution: Verify that sufficient system resources are available to launch new processes.

-104-104 Impossibile caricare il file rcf fornito dall'agente guest.Unable to load the rcf file provided by the guest agent.

Questo errore interno dovrebbe verificarsi solo se l'utilità di avvio del plug-in dell'agente guest viene richiamata manualmente in modo non corretto sulla VM.This internal error should only happen if the guest agent plugin launcher is manually invoked incorrectly on the VM.

-105-105 Il plug-in di Diagnostica non è in grado di aprire il file di configurazione di Diagnostica.The Diagnostics plugin cannot open the Diagnostics configuration file.

Questo errore interno dovrebbe verificarsi solo se il plug-in di Diagnostica viene richiamato manualmente in modo non corretto sulla VM.This internal error should only happen if the Diagnostics plugin is manually invoked incorrectly on the VM.

-106-106 Impossibile leggere il file di configurazione di Diagnostica.Cannot read the Diagnostics configuration file.

Questo errore si verifica quando un file di configurazione non supera la convalida dello schema.Caused by a configuration file not passing schema validation.

Soluzione: specificare un file di configurazione conforme allo schema.Solution: Provide a configuration file that complies with the schema. Per altre informazioni, vedere Come controllare la configurazione dell'estensione Diagnostica.For more information, see How to check Diagnostics Extension Configuration.

-107-107 La directory delle risorse passata all'agente di monitoraggio non è valida.The resource directory pass to the monitoring agent is invalid.

Questo errore interno dovrebbe verificarsi solo se l'agente di monitoraggio viene richiamato manualmente in modo non corretto sulla VM.This internal error should only happen if the monitoring agent is manually invoked incorrectly on the VM.

-108-108 Impossibile convertire il file di configurazione di Diagnostica nel file di configurazione dell'agente di monitoraggio.Unable to convert the Diagnostics configuration file into the monitoring agent configuration file.

Questo errore interno dovrebbe verificarsi solo se il plug-in di Diagnostica viene richiamato manualmente con un file di configurazione non valido.This internal error should only happen if the Diagnostics plugin is manually invoked with an invalid configuration file.

-110-110 Errore di configurazione generale di Diagnostica.General Diagnostics configuration error.

Questo errore interno dovrebbe verificarsi solo se il plug-in di Diagnostica viene richiamato manualmente con un file di configurazione non valido.This internal error should only happen if the Diagnostics plugin is manually invoked with an invalid configuration file.

-111-111 Impossibile avviare l'agente di monitoraggio.Unable to start the monitoring agent.

Soluzione: verificare che siano disponibili risorse di sistema sufficienti.Solution: Verify that sufficient system resources are available.

-112-112 Errore generale:General error

Estrazione dei log localiLocal log extraction

L'agente di monitoraggio raccoglie log ed elementi come file .tsf.The monitoring agent collects logs and artifacts as .tsf files. Il file con estensione .tsf non è leggibile ma può essere convertito in .csv come illustrato di seguito:The .tsf file is not readable but you can convert it into a .csv as follows:

<Azure diagnostics extension package>\Monitor\x64\table2csv.exe <relevantLogFile>.tsf

Un nuovo file denominato <relevantLogFile>.csv verrà creato nello stesso percorso del file con estensione .tsf corrispondente.A new file called <relevantLogFile>.csv is created in the same path as the corresponding .tsf file.

Nota

È necessario eseguire questa utilità solo per il file con estensione tsf principale, ad esempio PerformanceCountersTable.tsf.You only need to run this utility against the main .tsf file (for example, PerformanceCountersTable.tsf). I file associati, ad esempio PerformanceCountersTables_**001.tsf, PerformanceCountersTables_**002.tsf e così via, verranno elaborati automaticamente.The accompanying files (for example, PerformanceCountersTables_**001.tsf, PerformanceCountersTables_**002.tsf, and so on) are automatically processed.

Altre informazioni sui log di traccia mancantiMore about missing trace logs

Nota

Le informazioni seguenti si applicano prevalentemente a Servizi cloud di Azure, a meno che non si sia configurato DiagnosticsMonitorTraceListener in un'applicazione eseguita nella VM IaaS.The following information applies mostly to Azure Cloud Services unless you have configured the DiagnosticsMonitorTraceListener on an application that's running on your IaaS VM.

  • Verificare che in web.config o app.config sia configurato DiagnosticMonitorTraceListener. Nei progetti di servizi cloud è configurato per impostazione predefinita,Make sure the DiagnosticMonitorTraceListener is configured in the web.config or app.config. This is configured by default in cloud service projects. ma viene impostato come commento da alcuni clienti e in questo caso le istruzioni di traccia non verranno raccolte da Diagnostica.However, some customers comment it out, which causes the trace statements to not be collected by diagnostics.

  • Se i log non vengono scritti dal metodo OnStart o Run, verificare che in app.config sia presente DiagnosticMonitorTraceListener. Per impostazione predefinita si trova in web.config, ma ciò si applica solo al codice eseguito in w3wp.exe.If logs are not getting written from the OnStart or Run method, make sure the DiagnosticMonitorTraceListener is in the app.config. By default it is in the web.config, but that only applies to code running within w3wp.exe. Per acquisire le tracce in esecuzione in WaIISHost.exe è necessario che sia presente in app.config.So you need it in app.config to capture traces that are running in WaIISHost.exe.

  • Verificare di usare Diagnostics.Trace.TraceXXX anziché Diagnostics.Debug.WriteXXX.Make sure you are using Diagnostics.Trace.TraceXXX instead of Diagnostics.Debug.WriteXXX. Le istruzioni di debug vengono rimosse da una build di versione.The Debug statements are removed from a release build.

  • Verificare che il codice compilato includa effettivamente le righe Diagnostics.Trace (per la verifica usare Reflector, ildasm o ILSpy).Make sure the compiled code actually has the Diagnostics.Trace lines (use Reflector, ildasm, or ILSpy to verify). I comandi Diagnostics.Trace vengono rimossi dal file binario compilato a meno che non venga usato il simbolo di compilazione condizionale TRACE.Diagnostics.Trace commands are removed from the compiled binary unless you use the TRACE conditional compilation symbol. Questo problema comune si verifica quando si usa msbuild per compilare un progetto.This is a common problem that occurs when you're using msbuild to build a project.

Problemi noti e procedure di prevenzioneKnown issues and mitigations

Di seguito è riportato un elenco di problemi noti con le relative misure di prevenzione:Here is a list of known issues with known mitigations:

1. Dipendenza da .NET 4.51. .NET 4.5 dependency

L'estensione Diagnostica di Microsoft Azure presenta una dipendenza di runtime da .NET Framework 4.5 o versione successiva.Windows Azure Diagnostics Extension has a runtime dependency on .NET 4.5 framework or later. Al momento della stesura di questo articolo, in tutti i computer sottoposti a provisioning per Servizi cloud di Azure e in tutte le immagini ufficiali basate su macchine virtuali di Azure è installato .NET 4.5 o versione successiva.At the time of writing, all machines that are provisioned for Azure Cloud Services, as well as all official images that are based on Azure virtual machines, have .NET 4.5 or later installed.

È comunque possibile che si provi a eseguire l'estensione Diagnostica di Microsoft Azure in un computer in cui non è presente .NET 4.5 o versione successiva.It is still possible encounter a situation where you try to run Windows Azure Diagnostics Extension on a machine that doesn't have .NET 4.5 or later. Ciò si verifica quando si crea il computer da un'immagine o uno snapshot meno recente o si usa un disco personalizzato.This happens when you create your machine from an old image or snapshot, or when you bring your own custom disk.

Questa situazione si manifesta in genere con un codice di uscita 255 durante l'esecuzione di DiagnosticsPluginLauncher.exe.This generally manifests as an exit code 255 when running DiagnosticsPluginLauncher.exe. L'errore è causato dall'eccezione non gestita seguente:Failure happens due to the following unhandled exception:

System.IO.FileLoadException: Could not load file or assembly 'System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies

Prevenzione: installare .NET 4.5 o versione successiva nel computer.Mitigation: Install .NET 4.5 or later on your machine.

2. I dati dei contatori delle prestazioni sono disponibili nella risorsa di archiviazione ma non vengono visualizzati nel portale2. Performance counters data is available in storage but not showing in the portal

Nell'esperienza del portale per le macchine virtuali vengono visualizzati per impostazione predefinita determinati contatori delle prestazioni.The portal experience in the virtual machines shows certain performance counters by default. Se i contatori non vengono visualizzati e si è certi che i dati vengano generati perché sono disponibili nella risorsa di archiviazione, controllare quanto segue:If you don't see the performance counters, and you know that the data is getting generated because it is available in storage, check the following:

  • Se i dati nella risorsa di archiviazione contengono i nomi dei contatori in lingua inglese.Whether the data in storage has counter names in English. Se i nomi dei contatori non sono in inglese, il grafico delle metriche del portale non riesce a riconoscerli.If the counter names are not in English, the portal metric chart won't able to recognize it.

  • Se si usano caratteri jolly (*) nei nomi dei contatori delle prestazioni, il portale non può correlare il contatore configurato e il contatore raccolto.If you are using wildcards (*) in your performance counter names, the portal won't able to correlate the configured and collected counter.

Prevenzione: modificare la lingua del computer impostando l'inglese per gli account di sistema.Mitigation: Change the machine's language to English for system accounts. A tale scopo, selezionare Pannello di controllo > Area geografica > Opzioni di amministrazione > Copia impostazioni.To do this, select Control Panel > Region > Administrative > Copy Settings. Deselezionare quindi Schermata iniziale e account di sistema affinché la lingua personalizzata non venga applicata all'account di sistema.Next, deselect Welcome screen and system accounts so that the custom language is not applied to the system account. Assicurarsi anche di non usare caratteri jolly se si vuole usare il portale come esperienza di utilizzo principale.Also make sure you do not use wildcards if you want the portal to be your primary consumption experience.