Inizializzare o modificare la configurazione di Diagnostica Azure

Aggiornamento: novembre 2015

I dati di diagnostica possono essere raccolti importando il modulo Diagnostica Microsoft Azure nel modello del servizio e configurando le origini dati da cui vengono raccolti tali dati. Il monitoraggio Diagnostica viene eseguito in Azure e nell'Emulatore di calcolo di Microsoft Azure per raccogliere i dati di diagnostica per un'istanza del ruolo. Se il modulo Diagnostica è stato importato nel modello del servizio per un ruolo, il monitoraggio Diagnostica viene avviato automaticamente all'avvio di un'istanza del ruolo. Per raccogliere i dati di diagnostica, è necessario aggiungere le origini dati alla configurazione del monitoraggio Diagnostica. Se il monitoraggio Diagnostica non viene configurato in modo esplicito, all'avvio del ruolo verrà utilizzata la configurazione predefinita. Solo alcune delle origini dati disponibili vengono aggiunte al monitoraggio Diagnostica per impostazione predefinita, pertanto è necessario configurare la raccolta di altre origini dati utilizzando il file diagnostics.wadcfg. I dati di diagnostica verranno raccolti e archiviati nell'istanza del ruolo, ma non verranno salvati in modo permanente nello spazio di archiviazione, a meno che non sia stato specificato un account di archiviazione nel file ServiceConfiguration.cscfg. Dopo aver distribuito l'applicazione in Azure, è possibile modificare in modalità remota la configurazione del monitoraggio Diagnostica da un'applicazione eseguita esternamente ad Azure. Per una descrizione dettagliata dei passaggi necessari per abilitare la diagnostica nell'applicazione, vedere Come abilitare il modulo Diagnostica in un servizio cloud.

Per raccogliere i dati di diagnostica, è necessario importare il modulo Diagnostica nel modello del servizio per ogni ruolo da cui si desidera raccogliere questi dati. Il modulo viene importato aggiungendo un elemento Import nel file ServiceDefinition.csdef. Nell'esempio seguente viene illustrato l'elemento Import definito per un ruolo Web:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1">
    <!--<Sites> ... </Sites> -->
    <!-- <Endpoints> ... </Endpoints> -->
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

Per ulteriori informazioni sulla definizione del file di definizione e del file di configurazione del servizio, vedere Guida di riferimento agli schemi di Windows Azure. Per ulteriori informazioni sulla definizione del modello per un servizio ospitato, vedere Set Up a Hosted Service for Windows Azure.

I dati di diagnostica non vengono salvati in modo permanente nello spazio di archiviazione per impostazione predefinita. Per trasferire i dati di diagnostica nell'account di archiviazione, è necessario definire una stringa di connessione nel file ServiceConfiguration.cscfg. Nell'esempio seguente viene illustrato come definire una stringa di connessione per trasferire i dati nell'Emulatore di archiviazione di Microsoft Azure:

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
  <Role name="WebRole1">
    <Instances count="1" />
    <ConfigurationSettings>
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Se si desidera utilizzare un account di archiviazione in Azure, è necessario modificare la stringa di connessione per includere un nome e una chiave account:


<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"/>
</ConfigurationSettings>

I valori AccountName e AccountKey sono inclusi nel dashboard dell'account di archiviazione sul portale di gestione di Microsoft Azure, in Gestisci chiavi di accesso. Il protocollo per la stringa di connessione deve essere https.

Solo alcune delle origini dati disponibili vengono aggiunte al monitoraggio Diagnostica per impostazione predefinita, pertanto è necessario aggiungerne altre per raccogliere tipi specifici di questi dati. Per informazioni sui tipi di dati di diagnostica per cui è possibile configurare la raccolta tramite l'applicazione, vedere Origini dati di diagnostica.

I dati di diagnostica possono essere raccolti importando il modulo Diagnostica nel modello del servizio e configurando le origini dati da cui vengono raccolti questi dati. Per raccogliere i dati di diagnostica, è necessario aggiungere le origini dati alla configurazione del monitoraggio Diagnostica. Sono disponibili diversi meccanismi per configurare il modulo Diagnostica. L'utilizzo del file di configurazione diagnostics.wadcfg in fase di distribuzione è il meccanismo preferito per gestire la configurazione a livello del ruolo. Per altre informazioni, vedere Meccanismi di configurazione della diagnostica e ordine di precedenza.

Dopo aver distribuito un servizio cloud, è possibile modificare in modalità remota la configurazione del monitoraggio Diagnostica nell'applicazione da un'altra applicazione eseguita esternamente ad Azure.

Nella versione 1.2 è possibile configurare il monitor di diagnostica a livello di codice. Questa funzionalità è deprecata a partire dalla versione 1.3. Nelle versioni 1.2, 1.3 e successive Microsoft Azure SDK consente di configurare il modulo Diagnostica tramite un file di configurazione XML (diagnostics.wadcfg). Questo metodo presenta numerosi vantaggi rispetto alla scrittura di codice nel metodo OnStart:

  1. Il modulo Diagnostica viene avviato prima che venga eseguito il metodo OnStart in modo che gli errori che si verificano nelle attività di avvio possano essere rilevati e registrati.

  2. Eventuali modifiche apportate alla configurazione in fase di esecuzione verranno mantenute anche dopo un riavvio.

  3. Le modifiche alla configurazione del modulo Diagnostica non richiedono ricompilazione del codice.

  4. È possibile avviare automaticamente il monitoraggio Diagnostica con una configurazione specifica senza necessità di altro codice (che potrebbe causare un'eccezione che impedirebbe l'avvio del ruolo).

Per i ruoli Web, il file di configurazione diagnostics.wadcfg si trova nella directory bin nella directory radice del ruolo. Per i ruoli di ruolo, il file di configurazione diagnostics.wadcfg si trova nella directory radice del ruolo. Se il file di configurazione si trova in uno di questi percorsi quando viene importato il modulo Diagnostica, le impostazioni predefinite verranno sostituite da quelle configurate tramite il file di configurazione. Quando il ruolo di lavoro o il ruolo Web viene distribuito, le informazioni di configurazione nel file diagnostics.wadcfg vengono scritte nel contenitore wad-control-container nell'account di archiviazione. Per ulteriori informazioni sull'utilizzo del file di configurazione di Diagnostica, vedere Utilizzare il file di configurazione di Diagnostica Azure.

Il metodo Start con DiagnosticMonitorConfiguration può essere utilizzato per impostare la configurazione di Diagnostica nel metodo OnStart del ruolo. Questo approccio è efficace per le nuove distribuzioni, ma inefficace per quelle aggiornate, pertanto è preferibile evitarlo.

noteNota
Si applica ad Azure SDK 2.4 e versioni precedenti.

Dopo aver distribuito un servizio cloud, è possibile modificare in modalità remota la configurazione del monitoraggio di diagnostica dal codice eseguito in un'applicazione esternamente ad Azure utilizzando la classe DeploymentDiagnosticManager. Da questa classe, è possibile modificare i monitoraggi Diagnostica per una o più istanze del ruolo. È anche possibile modificare la configurazione del monitoraggio Diagnostica per una sola istanza del ruolo utilizzando la classe RoleInstanceDiagnosticManager. Per altre informazioni, vedere Modificare in modalità remota la configurazione del monitoraggio Diagnostica.

noteNota
Si applica ad Azure SDK 2.4 e versioni precedenti.

Vedere anche

Mostra: