Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
I servizi Cloud (versione classica) sono ora obsoleti per tutti i clienti a partire dal 1° settembre 2024. Tutte le distribuzioni in esecuzione esistenti verranno fermate e spente da Microsoft e i dati andranno persi permanentemente a partire da ottobre 2024. Le nuove distribuzioni devono usare il nuovo modello di distribuzione basato su Azure Resource Manager (supporto esteso) di Servizi cloud di Azure.
È possibile monitorare le metriche di prestazioni chiave per qualsiasi servizio cloud. Ogni ruolo del servizio cloud raccoglie dati minimi: utilizzo della CPU, utilizzo della rete e utilizzo del disco. Se il servizio cloud ha l’estensione Microsoft.Azure.Diagnostics
applicata a un ruolo, tale ruolo può raccogliere più punti di dati. Questo articolo fornisce un'introduzione a Diagnostica di Azure per Servizi cloud.
Con il monitoraggio di base, i dati dei contatori delle prestazioni provenienti dalle istanze del ruolo vengono campionati e raccolti a intervalli di 3 minuti. Questi dati di monitoraggio di base non vengono archiviati nell'account di archiviazione e non comportano costi aggiuntivi.
Con il monitoraggio avanzato, vengono campionate più metriche e raccolte a intervalli di 5 minuti, 1 ora e 12 ore. I dati aggregati vengono salvati in un account di archiviazione all'interno di tabelle e vengono eliminati dopo 10 giorni. L’account di archiviazione usato è configurato per ogni ruolo; è possibile usare account di archiviazione diversi per ruoli diversi. Si utilizza una stringa di connessione nei file .csdef e .cscfg per la configurazione.
Monitoraggio di base
Come indicato nell'introduzione, un servizio cloud raccoglie automaticamente i dati di monitoraggio di base dalla macchina virtuale host. Questi dati includono percentuale della CPU, in/out di rete e lettura/scrittura su disco. I dati di monitoraggio raccolti vengono visualizzati automaticamente nelle pagine di panoramica e metriche del servizio cloud, nel portale di Azure.
Il monitoraggio di base non richiede un account di archiviazione.
Monitoraggio avanzato
Il monitoraggio avanzato prevede l'uso dell'estensione Diagnostica di Azure (e facoltativamente di Application Insights SDK) nel ruolo che si vuole monitorare. L'estensione di diagnostica usa un file di configurazione (per ruolo) denominato diagnostics.wadcfgx per configurare le metriche di diagnostica monitorate. L'estensione Diagnostica di Azure raccoglie e archivia i dati in un account di archiviazione di Azure. Queste impostazioni vengono configurate nei file con estensione wadcfgx, csdef e cscfg . Ciò significa che è previsto un costo aggiuntivo associato al monitoraggio avanzato.
In fase di creazione, Visual Studio aggiunge a ogni ruolo l'estensione Diagnostica di Azure. Questa estensione di diagnostica può raccogliere i tipi di informazioni seguenti:
- Contatori delle prestazioni personalizzati
- Log delle applicazioni
- Registri eventi di Windows
- Origine degli eventi .NET
- Log di IIS (Internet Information Services)
- Tracciamento degli eventi di Windows (ETW) basato su manifesto
- I registri degli errori dei clienti
Importante
Sebbene tutti questi dati vengano aggregati nell'account di archiviazione, il portale non fornisce un modo nativo per tracciare i dati. È consigliabile integrare un altro servizio, come ad esempio Application Insights, nell'applicazione.
Configurare l'estensione di diagnostica
Prima di tutto, se non si ha un account di archiviazione classico , crearne uno. Assicurarsi che l'account di archiviazione venga creato con il modello di distribuzione classica specificato.
Passare quindi alla risorsa Account di archiviazione (versione classica). Selezionare Impostazioni Chiavi>di accesso e copiare il valore della stringa di connessione primaria . Questo valore è necessario per il servizio cloud.
Per abilitare la diagnostica avanzata è necessario modificare due file di configurazione, ServiceDefinition.csdef e ServiceConfiguration.cscfg.
ServiceDefinition.csdef
Nel file ServiceDefinition.csdef aggiungere una nuova impostazione denominata Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
per ogni ruolo che usa la diagnostica avanzata. Visual Studio aggiunge questo valore al file quando viene creato un nuovo progetto. Nel caso in cui non sia presente, è possibile aggiungerlo ora.
<ServiceDefinition name="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="WorkerRoleWithSBQueue1" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
Questo frammento di codice definisce una nuova impostazione che deve essere aggiunta a ogni file ServiceConfiguration.cscfg .
Probabilmente si hanno due file con estensione cscfg , uno denominato ServiceConfiguration.cloud.cscfg per la distribuzione in Azure e un file denominato ServiceConfiguration.local.cscfg usato per le distribuzioni locali nell'ambiente emulato. Aprire e modificare ogni file con estensione cscfg . Aggiungere un'impostazione denominata Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
. Impostare il valore sulla stringa di connessione primaria dell'account di archiviazione classico. Se si vuole usare l'archiviazione locale nel computer di sviluppo, usare UseDevelopmentStorage=true
.
<ServiceConfiguration serviceName="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
<Role name="WorkerRoleWithSBQueue1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=KWwkdfmskOIS240jnBOeeXVGHT9QgKS4kIQ3wWVKzOYkfjdsjfkjdsaf+sddfwwfw+sdffsdafda/w==" />
<!-- or use the local development machine for storage
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
-->
Usare Application Insights
Quando si pubblica il servizio cloud da Visual Studio, è possibile inviare i dati di diagnostica ad Application Insights. È possibile creare la risorsa Azure Application Insights in quel momento o inviare i dati a una risorsa Azure esistente. Application Insights può monitorare il servizio cloud per disponibilità, prestazioni, errori e utilizzo. È possibile aggiungere grafici personalizzati ad Application Insights che mostrino i dati più importanti. I dati delle istanze dei ruoli possono essere raccolti utilizzando il Software Development Kit (SDK) di Application Insights nel progetto del servizio cloud. Per altre informazioni su come integrare Application Insights, vedere Application Insights con Servizi cloud.
Anche se è possibile usare Application Insights per visualizzare i contatori delle prestazioni, e le altre impostazioni, specificati tramite l’estensione Diagnostica di Microsoft Azure, è possibile ottenere un’esperienza più completa integrando l’SDK di Application Insights nei ruoli di lavoro e Web.