Condividi tramite


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:

  1. Accedere al portale di Azure.

  2. Nel portale di Azure passare a Tutte le risorse>il profilo-cdn.

  3. Selezionare l'endpoint di rete per la distribuzione di contenuti per cui si vogliono abilitare i log di diagnostica:

    Screenshot della selezione dell'endpoint di rete per la distribuzione di contenuti.

  4. Selezionare Log di diagnostica nella sezione Monitoraggio:

    Screenshot del pulsante Log di diagnostica nel menu di 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.

  1. Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.

  2. Selezionare Archivia in un account di archiviazione e quindi selezionare CoreAnalytics.

  3. In Conservazione (giorni) scegliere il numero di giorni di conservazione. Se il valore di conservazione è zero giorni, i log vengono conservati all'infinito.

  4. Selezionare la sottoscrizione e l'account di archiviazione per i log.

    Log di diagnostica - Archiviazione.

  5. 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.

  1. Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.

  2. Selezionare Invia a Log Analyticse quindi selezionare CoreAnalytics.

  3. Selezionare la sottoscrizione e l'area di lavoro Log Analytics per i log.

    Log di diagnostica - Log Analytics.

  4. 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.

  1. Per Nome impostazione di diagnostica immettere un nome per le impostazioni dei log di diagnostica.

  2. Selezionare Streaming in un hub eventi, quindi CoreAnalytics.

  3. Selezionare la sottoscrizione e lo spazio dei nomi dell'hub eventi per i log.

    Log di diagnostica - Hub eventi.

  4. 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

  1. Accedere ad Azure PowerShell:

    Connect-AzAccount 
    
  2. 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

  1. Accedere ad Azure PowerShell:

    Connect-AzAccount 
    
  2. 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

  1. Accedere ad Azure PowerShell:

    Connect-AzAccount 
    
  2. 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.

  1. Aprire Microsoft Azure Storage Explorer
  2. Individuare l'account di archiviazione
  3. Espandere il nodo Contenitori BLOB in questo account di archiviazione.
  4. Selezionare il contenitore denominato insights-logs-coreanalytics.
  5. 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.
  6. 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.
  7. 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:

  1. Visitare il collegamento di github: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Scaricare il codice.
  3. Seguire le istruzioni per la compilazione e la configurazione.
  4. Eseguire lo strumento.
  5. 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.
RequestCountHttpStatus2xx Numero di tutte le richieste che hanno generato un codice HTTP 2xx (ad esempio 200, 202).
RequestCountHttpStatus3xx Numero di tutte le richieste che hanno generato un codice HTTP 3xx (ad esempio 300, 302).
RequestCountHttpStatus4xx Numero di tutte le richieste che hanno generato un codice HTTP 4xx (ad esempio 400, 404).
RequestCountHttpStatus5xx Numero di tutte le richieste che hanno generato un codice HTTP 5xx (ad esempio 500, 504).
RequestCountHttpStatusOthers Numero di tutti gli altri codici HTTP (non inclusi nell'intervallo 2xx-5xx).
RequestCountHttpStatus200 Numero di tutte le richieste che hanno generato una risposta di codice HTTP 200. No
RequestCountHttpStatus206 Numero di tutte le richieste che hanno generato una risposta di codice HTTP 206. No
RequestCountHttpStatus302 Numero di tutte le richieste che hanno generato una risposta di codice HTTP 302. No
RequestCountHttpStatus304 Numero di tutte le richieste che hanno generato una risposta di codice HTTP 304. No
RequestCountHttpStatus404 Numero di tutte le richieste che hanno generato una risposta di codice HTTP 404. No
RequestCountCacheHit Conteggio di tutte le richieste che hanno generato un riscontro nella cache. L'asset è stato servito direttamente dal POP al client.
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.
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.
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.
RequestCountCacheOthers Conteggio di tutte le richieste con stato della cache non coperto dalle metriche in precedenza. No
EgressTotal Trasferimento di dati in uscita in GB
EgressHttpStatus2xx Trasferimento di dati in uscita* per risposte con codici di stato HTTP 2xx in GB.
EgressHttpStatus3xx Trasferimento di dati in uscita per risposte con codici di stato HTTP 3xx in GB.
EgressHttpStatus4xx Trasferimento di dati in uscita per risposte con codici di stato HTTP 4xx in GB.
EgressHttpStatus5xx Trasferimento di dati in uscita per risposte con codici di stato HTTP 5xx in GB.
EgressHttpStatusOthers Trasferimento di dati in uscita per risposte con altri codici di stato HTTP in GB.
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.
EgressCacheMiss. Trasferimento di dati in uscita per risposte non trovate nel server POP più vicino e recuperate dal server di origine.
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.
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.
EgressCacheOthers Trasferimento di dati in uscita per altri scenari di cache. No

*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
}

Altre risorse