Log di diagnostica - Rete per la distribuzione di contenuti di Azure
Importante
Rete CDN di Azure Standard di Microsoft (versione classica) verrà ritirato il 30 settembre 2027. Per evitare interruzioni del servizio, è importante eseguire la migrazione dei profili di Rete CDN di Azure Standard di Microsoft (versione classica) al livello Frontdoor di Azure Standard o Premium entro il 30 settembre 2027. Per altre informazioni, vedere Ritiro di Rete CDN di Azure Standard di Microsoft (versione classica).
Rete CDN di Azure di Edgio verrà ritirato 4 novembre 2025. È necessario eseguire la migrazione del carico di lavoro in Frontdoor di Azure prima di questa data per evitare interruzioni del servizio. Per altre informazioni, vedere Rete CDN di Azure da Domande frequenti sul ritiro di Edgio.
Con i log di diagnostica di Azure è possibile visualizzare le principali analisi e salvarle in una o più destinazioni, tra cui:
- account di archiviazione di Azure
- area di lavoro Log Analytics
- Hub eventi di Azure
Questa funzionalità è disponibile su tutti gli endpoint della rete per la distribuzione di contenuti per tutti i piani tariffari.
I log di diagnostica consentono di esportare di esportare le metriche di utilizzo di base dall'endpoint di rete per la distribuzione di contenuti in diverse origini, per poterle usare in modo personalizzato. È possibile eseguire i tipi di esportazione di dati seguenti:
- Esportare i dati in archivi BLOB, esportare in file CSV e generare grafici in Excel.
- Esportare i dati in Hub eventi e correlarli con dati provenienti da altri servizi di Azure.
- Esportare i dati nei log di Monitoraggio di Azure e visualizzare i dati nell'area di lavoro Log Analytics
Per la procedura seguente è necessario un profilo di rete per la distribuzione di contenuti di Azure. Fare riferimento a Creare un profilo e un endpoint della rete per la distribuzione di contenuti di Azure prima di continuare.
Abilitare la registrazione con il portale di Azure
Seguire questa procedura per abilitare la registrazione per l'endpoint della rete per la distribuzione di contenuti di Azure:
Accedere al portale di Azure.
Nel portale di Azure passare a Tutte le risorse>il profilo-cdn.
Selezionare l'endpoint di rete per la distribuzione di contenuti per cui si vogliono abilitare i log di diagnostica:
Selezionare Log di diagnostica nella sezione Monitoraggio:
Abilitare la registrazione con Archiviazione di Azure
Per usare un account di archiviazione per archiviare i log, seguire questa procedura:
Nota
Per completare questi passaggi, è necessario un account di archiviazione. Per altre informazioni, vedere Creare un account di archiviazione di Azure.
Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.
Selezionare Archivia in un account di archiviazione e quindi selezionare CoreAnalytics.
In Conservazione (giorni) scegliere il numero di giorni di conservazione. Se il valore di conservazione è zero giorni, i log vengono conservati all'infinito.
Selezionare la sottoscrizione e l'account di archiviazione per i log.
Seleziona Salva.
Invia a Log Analytics
Per usare Log Analytics per i log, seguire questa procedura:
Nota
Per completare questi passaggi, è necessaria un'area di lavoro Log Analytics. Per altre informazioni, vedere Creare un'area di lavoro Log Analytics nel portale di Azure.
Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.
Selezionare Invia a Log Analyticse quindi selezionare CoreAnalytics.
Selezionare la sottoscrizione e l'area di lavoro Log Analytics per i log.
Seleziona Salva.
Streaming in un hub eventi
Per usare Log Analytics per i log, seguire questa procedura:
Nota
Per completare questi passaggi, è necessario un hub eventi. Per altre informazioni, vedere: Avvio rapido: creare un hub eventi usando il portale di Azure.
Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.
Selezionare Streaming in un hub eventi, quindi CoreAnalytics.
Selezionare la sottoscrizione e lo spazio dei nomi dell'hub eventi per i log.
Seleziona Salva.
Abilitare la registrazione con PowerShell
L'esempio seguente mostra come abilitare i log di diagnostica tramite i cmdlet di Azure PowerShell.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Abilitare i log di diagnostica in un account di archiviazione
Accedere ad Azure PowerShell:
Connect-AzAccount
Per abilitare i log di diagnostica in un account di archiviazione, immettere questi comandi. Sostituire le variabili con i propri valori:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $storageacct = <your-storage-account-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Categories CoreAnalytics
Abilitare i log di diagnostica per un'area di lavoro Log Analytics
Accedere ad Azure PowerShell:
Connect-AzAccount
Per abilitare i log di diagnostica per un'area di lavoro Log Analytics immettere questi comandi. Sostituire le variabili con i propri valori:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $workspacename = <your-log-analytics-workspace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rsg -Name $workspacename Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -WorkspaceId $workspace.ResourceId -Enabled $true -Categories CoreAnalytics
Abilitare i log di diagnostica per uno spazio dei nomi dell'hub eventi
Accedere ad Azure PowerShell:
Connect-AzAccount
Per abilitare i log di diagnostica per un'area di lavoro Log Analytics immettere questi comandi. Sostituire le variabili con i valori effettivi:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $eventhubname = <your-event-hub-namespace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhubname -Enabled $true -Categories CoreAnalytics
Utilizzo di log di diagnostica da Archiviazione di Azure
Questa sezione descrive lo schema dell'analisi principale della rete per la distribuzione di contenuti, l'organizzazione in un account di archiviazione di Azure e fornisce codice di esempio per scaricare i log in un file CSV.
Uso di Microsoft Azure Storage Explorer
Per scaricare lo strumento, vedere Azure Storage Explorer. Dopo aver scaricato e installato il software, configurarlo per usare lo stesso account di archiviazione di Azure impostato come destinazione per i log di diagnostica della rete per la distribuzione di contenuti.
- Aprire Microsoft Azure Storage Explorer
- Individuare l'account di archiviazione
- Espandere il nodo Contenitori BLOB in questo account di archiviazione.
- Selezionare il contenitore denominato insights-logs-coreanalytics.
- I risultati vengono visualizzati nel riquadro di destra, a partire dal primo livello, come "resourceId=". Continuare selezionando ogni livello fino a quando non si trova il file PT1H.json. Per una spiegazione del percorso, vedere Formato del percorso BLOB.
- Il file PT1H.json di ogni BLOB rappresenta i log di analisi per un'ora per un endpoint della rete per la distribuzione di contenuti specifico o per il relativo dominio personalizzato.
- Lo schema del contenuto di questo file JSON è descritto nella sezione dello schema dei log dell'analisi principale.
Formato del percorso BLOB
I log dell'analisi principale vengono generati ogni ora e i dati vengono raccolti e archiviati all'interno di un singolo BLOB di Azure come payload JSON. Lo strumento Storage Explorer interpreta "/" come un separatore di directory e mostra la gerarchia. Il percorso di questo BLOB di Azure appare come se fosse presente una struttura gerarchica e rappresenta il nome del BLOB. Il nome del BLOB segue la convenzione di denominazione seguente:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Descrizione dei campi:
valore | Descrizione |
---|---|
ID sottoscrizione | ID della sottoscrizione di Azure in formato identificatore univoco globale (GUID). |
Nome gruppo di risorse | Nome del gruppo di risorse a cui appartengono le risorse di rete per la distribuzione di contenuti. |
Nome profilo | Nome del profilo di rete per la distribuzione di contenuti |
Nome endpoint | Nome dell'endpoint di rete per la distribuzione di contenuti |
Anno | Rappresentazione a quattro cifre dell'anno, ad esempio 2017 |
Mese | Rappresentazione a due cifre del numero del mese. 01=Gennaio... 12=Dicembre |
Giorno | Rappresentazione a due cifre del giorno del mese |
PT1H.json | File JSON effettivo in cui vengono archiviati i dati di analisi |
Esportazione dei dati dell'analisi principale in un file CSV
Per accedere all'analisi principale, viene fornito il codice di esempio per uno strumento. Questo strumento consente di scaricare i file JSON in un formato di file normale con valori delimitati da virgole, che può essere usato per creare grafici o altre aggregazioni.
Di seguito è illustrato come è possibile usare lo strumento:
- Visitare il collegamento di github: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Scaricare il codice.
- Seguire le istruzioni per la compilazione e la configurazione.
- Eseguire lo strumento.
- Il file CSV risultate mostra i dati di analisi in una semplice gerarchia.
Ritardi dei dati di log
La tabella seguente mostra i ritardi dei dati di log per la rete CDN Standard di Azure con tecnologia Microsoft e rete CDN Standard/Premium di Azure con tecnologia Edgio.
Ritardi dei dati di log di Microsoft | Ritardi dei dati di log di Edgio |
---|---|
Ritardato di 1 ora. | Ritardato di 1 ora e può richiedere fino a 2 ore prima di essere visualizzati dopo il completamento della propagazione dell'endpoint. |
Tipi di log di diagnostica per l'analisi principale della rete per la distribuzione di contenuti
Microsoft offre attualmente solo i log di analisi principale, contenenti metriche che mostrano le statistiche sulle risposte HTTP e le statistiche relative all'uscita rilevate dai server POP/perimetrali della rete per la distribuzione di contenuti.
Dettagli delle metriche dell'analisi principale
La tabella seguente mostra un elenco di metriche disponibili nei log di analisi principale per:
- Rete CDN Standard di Azure offerta da Microsoft
- Rete CDN di Azure Standard/Premium di Edgio
Non tutte le metriche sono disponibili da tutti i provider, sebbene le differenze siano minime. La tabella mostra anche se una determinata metrica può essere indicata da un provider. Le metriche sono disponibili solo per gli endpoint di rete per la distribuzione di contenuti con traffico su di essi.
Metrico | Descrizione | Microsoft | Edgio |
---|---|---|---|
RequestCountTotal | Numero totale di riscontri della richiesta durante questo periodo. | Sì | Sì |
RequestCountHttpStatus2xx | Numero di tutte le richieste che hanno generato un codice HTTP 2xx (ad esempio 200, 202). | Sì | Sì |
RequestCountHttpStatus3xx | Numero di tutte le richieste che hanno generato un codice HTTP 3xx (ad esempio 300, 302). | Sì | Sì |
RequestCountHttpStatus4xx | Numero di tutte le richieste che hanno generato un codice HTTP 4xx (ad esempio 400, 404). | Sì | Sì |
RequestCountHttpStatus5xx | Numero di tutte le richieste che hanno generato un codice HTTP 5xx (ad esempio 500, 504). | Sì | Sì |
RequestCountHttpStatusOthers | Numero di tutti gli altri codici HTTP (non inclusi nell'intervallo 2xx-5xx). | Sì | Sì |
RequestCountHttpStatus200 | Numero di tutte le richieste che hanno generato una risposta di codice HTTP 200. | Sì | No |
RequestCountHttpStatus206 | Numero di tutte le richieste che hanno generato una risposta di codice HTTP 206. | Sì | No |
RequestCountHttpStatus302 | Numero di tutte le richieste che hanno generato una risposta di codice HTTP 302. | Sì | No |
RequestCountHttpStatus304 | Numero di tutte le richieste che hanno generato una risposta di codice HTTP 304. | Sì | No |
RequestCountHttpStatus404 | Numero di tutte le richieste che hanno generato una risposta di codice HTTP 404. | Sì | No |
RequestCountCacheHit | Conteggio di tutte le richieste che hanno generato un riscontro nella cache. L'asset è stato servito direttamente dal POP al client. | Sì | Sì |
RequestCountCacheMiss | Conteggio di tutte le richieste che hanno generato un mancato riscontro nella cache. Mancato riscontro nella cache significa che l'asset non è stato trovato nel POP più vicino al client ed è stato recuperato dall'origine. | Sì | Sì |
RequestCountCacheNoCache | Conteggio di tutte le richieste a un asset a cui è stata impedita la memorizzazione nella cache a causa di una configurazione dell'utente sull'edge. | Sì | Sì |
RequestCountCacheUncacheable | Numero di tutte le richieste per asset a cui è stata impedita la memorizzazione nella cache dalle intestazioni Cache-Control ed Expires dell'asset. Questo conteggio indica che non deve essere memorizzato nella cache in un POP o da un client HTTP. | Sì | Sì |
RequestCountCacheOthers | Conteggio di tutte le richieste con stato della cache non coperto dalle metriche in precedenza. | No | Sì |
EgressTotal | Trasferimento di dati in uscita in GB | Sì | Sì |
EgressHttpStatus2xx | Trasferimento di dati in uscita* per risposte con codici di stato HTTP 2xx in GB. | Sì | Sì |
EgressHttpStatus3xx | Trasferimento di dati in uscita per risposte con codici di stato HTTP 3xx in GB. | Sì | Sì |
EgressHttpStatus4xx | Trasferimento di dati in uscita per risposte con codici di stato HTTP 4xx in GB. | Sì | Sì |
EgressHttpStatus5xx | Trasferimento di dati in uscita per risposte con codici di stato HTTP 5xx in GB. | Sì | Sì |
EgressHttpStatusOthers | Trasferimento di dati in uscita per risposte con altri codici di stato HTTP in GB. | Sì | Sì |
EgressCacheHit | Trasferimento di dati in uscita per risposte recapitate direttamente dalla cache della rete per la distribuzione di contenuti nei POP/Archi della rete per la distribuzione di contenuti. | Sì | Sì |
EgressCacheMiss. | Trasferimento di dati in uscita per risposte non trovate nel server POP più vicino e recuperate dal server di origine. | Sì | Sì |
EgressCacheNoCache | Trasferimento di dati in uscita per asset a cui è stata impedita la memorizzazione nella cache a causa di una configurazione dell'utente sull'edge. | Sì | Sì |
EgressCacheUncacheable | Trasferimento di dati in uscita per asset a cui è stata impedita la memorizzazione nella cache dalle intestazioni Cache-Control ed Expires dell'asset. Indica che non deve essere memorizzato nella cache in un POP o da un client HTTP. | Sì | Sì |
EgressCacheOthers | Trasferimento di dati in uscita per altri scenari di cache. | No | Sì |
*Il trasferimento di dati in uscita si riferisce al traffico recapitato da server POP della rete per la distribuzione di contenuti al client.
Schema dei log dell'analisi principale
Tutti i log vengono archiviati in formato JSON e per ogni voce sono presenti campi stringa in base allo schema seguente:
"records": [
{
"time": "2017-04-27T01:00:00",
"resourceId": "<ARM Resource Id of the CDN Endpoint>",
"operationName": "Microsoft.Cdn/profiles/endpoints/contentDelivery",
"category": "CoreAnalytics",
"properties": {
"DomainName": "<Name of the domain for which the statistics is reported>",
"RequestCountTotal": integer value,
"RequestCountHttpStatus2xx": integer value,
"RequestCountHttpStatus3xx": integer value,
"RequestCountHttpStatus4xx": integer value,
"RequestCountHttpStatus5xx": integer value,
"RequestCountHttpStatusOthers": integer value,
"RequestCountHttpStatus200": integer value,
"RequestCountHttpStatus206": integer value,
"RequestCountHttpStatus302": integer value,
"RequestCountHttpStatus304": integer value,
"RequestCountHttpStatus404": integer value,
"RequestCountCacheHit": integer value,
"RequestCountCacheMiss": integer value,
"RequestCountCacheNoCache": integer value,
"RequestCountCacheUncacheable": integer value,
"RequestCountCacheOthers": integer value,
"EgressTotal": double value,
"EgressHttpStatus2xx": double value,
"EgressHttpStatus3xx": double value,
"EgressHttpStatus4xx": double value,
"EgressHttpStatus5xx": double value,
"EgressHttpStatusOthers": double value,
"EgressCacheHit": double value,
"EgressCacheMiss": double value,
"EgressCacheNoCache": double value,
"EgressCacheUncacheable": double value,
"EgressCacheOthers": double value,
}
}
]
}
Dove time rappresenta l'ora di inizio del limite di ore per cui vengono restituite le statistiche. Una metrica non supportata da un provider di rete per la distribuzione di contenuti, anziché un valore doppio o intero, restituisce un valore Null. Questo valore null indica l'assenza di una metrica ed è diverso da un valore 0. Un solo set di queste metriche per ogni dominio è configurato nell'endpoint.
Proprietà di esempio:
{
"DomainName": "azurecdntest.azureedge.net",
"RequestCountTotal": 480,
"RequestCountHttpStatus2xx": 480,
"RequestCountHttpStatus3xx": 0,
"RequestCountHttpStatus4xx": 0,
"RequestCountHttpStatus5xx": 0,
"RequestCountHttpStatusOthers": 0,
"RequestCountHttpStatus200": 480,
"RequestCountHttpStatus206": 0,
"RequestCountHttpStatus302": 0,
"RequestCountHttpStatus304": 0,
"RequestCountHttpStatus404": 0,
"RequestCountCacheHit": null,
"RequestCountCacheMiss": null,
"RequestCountCacheNoCache": null,
"RequestCountCacheUncacheable": null,
"RequestCountCacheOthers": null,
"EgressTotal": 0.09,
"EgressHttpStatus2xx": null,
"EgressHttpStatus3xx": null,
"EgressHttpStatus4xx": null,
"EgressHttpStatus5xx": null,
"EgressHttpStatusOthers": null,
"EgressCacheHit": null,
"EgressCacheMiss": null,
"EgressCacheNoCache": null,
"EgressCacheUncacheable": null,
"EgressCacheOthers": null
}