Diagnostikloggar – Azure Content Delivery Network

Med Azure-diagnostikloggar kan du visa grundläggande analyser och spara dem på ett eller flera mål, inklusive:

  • Azure-lagringskonto
  • Log Analytics-arbetsyta
  • Azure Event Hubs

Den här funktionen finns CDN slutpunkter för alla prisnivåer.

Med diagnostikloggar kan du exportera grundläggande användningsstatistik från din CDN till olika typer av källor så att du kan använda dem på ett anpassat sätt. Du kan göra följande typer av dataexport:

  • Exportera data till bloblagring, exportera till CSV och generera grafer i Excel.
  • Exportera data till Event Hubs korrelera med data från andra Azure-tjänster.
  • Exportera data till Azure Monitor loggar och visa data på din egen Log Analytics-arbetsyta

En Azure CDN profil krävs för följande steg. Se skapa en Azure CDN profil och slutpunkt innan du fortsätter.

Aktivera loggning i Azure-portalen

Följ dessa steg för att aktivera loggning Azure CDN slutpunkten:

  1. Logga in på Azure-portalen.

  2. I Azure Portal du till Alla resurser -> din-cdn-profil

  3. Välj den CDN slutpunkt som du vill aktivera diagnostikloggar för:

    Välj CDN slutpunkt.

  4. Välj Diagnostikloggar i avsnittet Övervakning:

    Välj diagnostikloggar.

Aktivera loggning med Azure Storage

Följ dessa steg om du vill använda ett lagringskonto för att lagra loggarna:

Anteckning

Ett lagringskonto krävs för att slutföra de här stegen. Se: Skapa ett Azure Storage för mer information.

  1. För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.

  2. Välj Arkivera till ett lagringskonto och välj sedan CoreAnalytics.

  3. För Kvarhållning (dagar) väljer du antalet kvarhållningsdagar. Med en kvarhållning på noll dagar lagras loggarna på obestämd tid.

  4. Välj prenumeration och lagringskonto för loggarna.

    Diagnostikloggar – Storage.

  5. Välj Spara.

Skicka till Log Analytics

Följ dessa steg om du vill använda Log Analytics för loggarna:

Anteckning

En log analytics-arbetsyta krävs för att slutföra de här stegen. Se: Skapa en Log Analytics-arbetsyta i Azure Portal för mer information.

  1. För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.

  2. Välj Skicka till Log Analytics och välj sedan CoreAnalytics.

  3. Välj prenumerationen och Log Analytics-arbetsytan för loggarna.

    Diagnostikloggar – Log Analytics.

  4. Välj Spara.

Strömma till en händelsehubb

Följ dessa steg om du vill använda en händelsehubb för loggarna:

Anteckning

En händelsehubb krävs för att slutföra de här stegen. Se: Snabbstart: Skapa en händelsehubb med hjälp Azure Portal mer information.

  1. För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.

  2. Välj Strömma till en händelsehubb och välj sedan CoreAnalytics.

  3. Välj prenumerationen och händelsehubbens namnrymd för loggarna.

    Diagnostikloggar – händelsehubb.

  4. Välj Spara.

aktivera loggning med PowerShell

I följande exempel visas hur du aktiverar diagnostikloggar via Azure PowerShell-cmdlets.

Anteckning

I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Aktivera diagnostikloggar i ett lagringskonto

  1. Logga in på Azure PowerShell:

    Connect-AzAccount 
    
  2. Om du vill aktivera diagnostikloggar i ett lagringskonto anger du dessa kommandon. Ersätt variablerna med dina värden:

    $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
    

Aktivera diagnostikloggar för Log Analytics-arbetsytan

  1. Logga in på Azure PowerShell:

    Connect-AzAccount 
    
  2. Om du vill aktivera diagnostikloggar för en Log Analytics-arbetsyta anger du dessa kommandon. Ersätt variablerna med dina värden:

    $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
    

Aktivera diagnostikloggar för händelsehubbens namnområde

  1. Logga in på Azure PowerShell:

    Connect-AzAccount 
    
  2. Om du vill aktivera diagnostikloggar för en Log Analytics-arbetsyta anger du dessa kommandon. Ersätt variablerna med dina värden:

    $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
    

Använda diagnostikloggar från Azure Storage

I det här avsnittet beskrivs schemat CDN grundläggande analys, organisation i ett Azure Storage-konto och innehåller exempelkod för att ladda ned loggarna i en CSV-fil.

Använda Microsoft Azure Storage Explorer

Information om hur du laddar ned verktyget finns i Azure Storage Explorer. När du har hämtat och installerat programvaran konfigurerar du den så att den använder samma Azure Storage-konto som konfigurerades som ett mål för CDN Diagnostikloggar.

  1. Öppna Microsoft Azure Storage Explorer
  2. Leta upp lagringskontot
  3. Expandera noden Blobcontainrar under det här lagringskontot.
  4. Välj containern insights-logs-coreanalytics.
  5. Resultaten visas i det högra fönstret, från och med den första nivån, som resourceId=. Fortsätt att välja varje nivå tills du hittar filen PT1H.json. En förklaring av sökvägen finns i Blob path format.
  6. Varje blob PT1H.json-fil representerar analysloggarna i en timme för en CDN slutpunkt eller dess anpassade domän.
  7. Schemat för innehållet i den här JSON-filen beskrivs i avsnittsschemat för kärnanalysloggarna.

Format för blobsökväg

Kärnanalysloggar genereras varje timme och data samlas in och lagras i en enda Azure-blob som en JSON-nyttolast. Storage-verktyget tolkar "/" som en katalogavgränsare och visar hierarkin. Sökvägen till Azure-bloben visas som om det finns en hierarkisk struktur och representerar blobnamnet. Namnet på bloben följer följande namngivningskonvention:

resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json

Beskrivning av fält:

Värde Beskrivning
Prenumerations-ID:t ID för Azure-prenumerationen i Guid-format.
Namnet på resursgruppen Namnet på den resursgrupp som CDN tillhör.
Profilnamn Namnet på CDN profilen
Slutpunktens namn Namnet på den CDN slutpunkten
Year Fyrsiffrig representation av året, till exempel 2017
Månad Tvåsiffrig representation av månadsnumret. 01 = januari ... 12 = december
Dag Tvåsiffrig representation av dagen i månaden
PT1H.json Faktisk JSON-fil där analysdata lagras

Exportera kärnanalysdata till en CSV-fil

För att få åtkomst till kärnanalys tillhandahålls exempelkod för ett verktyg. Med det här verktyget kan du ladda ned JSON-filerna till ett platt kommaavgränsat filformat som kan användas för att skapa diagram eller andra sammansättningar.

Så här kan du använda verktyget:

  1. Gå till GitHub länken:https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Ladda ned koden.
  3. Följ instruktionerna för att kompilera och konfigurera.
  4. Kör verktyget.
  5. Den resulterande CSV-filen visar analysdata i en enkel platt hierarki.

Fördröjningar i loggdata

I följande tabell visas loggdatafördröjningar för Azure CDN Standard från Microsoft , Azure CDN Standard från Akamai och Azure CDN Standard/Premium från Verizon.

Fördröjningar i Microsoft-loggdata Fördröjningar i Verizon-loggdata Fördröjningar i Akamai-loggdata
Fördröjd med 1 timme. Fördröjd med 1 timme och det kan ta upp till 2 timmar innan den visas när slutpunktsspridningen har slutförts. Fördröjd med 24 timmar; Om den skapades för mer än 24 timmar sedan tar det upp till 2 timmar innan den visas. Om den nyligen har skapats kan det ta upp till 25 timmar innan loggarna visas.

Diagnostikloggtyper för CDN kärnanalys

Microsoft erbjuder för närvarande endast kärnanalysloggar, som innehåller mått som visar HTTP-svarsstatistik och utgående statistik från CDN POPs/kanter.

Information om grundläggande analysmått

I följande tabell visas en lista över mått som är tillgängliga i de grundläggande analysloggarna för:

  • Azure CDN Standard från Microsoft
  • Azure CDN Standard från Akamai
  • Azure CDN Standard/Premium från Verizon

Alla mått är inte tillgängliga från alla leverantörer, även om sådana skillnader är minimala. Tabellen visar också om ett visst mått är tillgängligt från en leverantör. Måtten är bara tillgängliga för de CDN slutpunkter som har trafik på dem.

Metric Beskrivning Microsoft Verizon Akamai
RequestCountTotal Totalt antal träffar på förfrågningar under den här perioden. Ja Ja Ja
RequestCountHttpStatus2xx Antal alla begäranden som resulterade i en 2xx HTTP-kod (till exempel 200, 202). Ja Ja Ja
RequestCountHttpStatus3xx Antal alla begäranden som resulterade i en 3xx HTTP-kod (till exempel 300, 302). Ja Ja Ja
RequestCountHttpStatus4xx Antal alla begäranden som resulterade i en 4xx HTTP-kod (till exempel 400, 404). Ja Ja Ja
RequestCountHttpStatus5xx Antal av alla begäranden som resulterade i en 5xx HTTP-kod (till exempel 500, 504). Ja Ja Ja
RequestCountHttpStatusOthers Antal andra HTTP-koder (utanför 2xx-5xx). Ja Ja Ja
RequestCountHttpStatus200 Antal alla begäranden som resulterade i ett 200 HTTP-kodsvar. Ja Nej Ja
RequestCountHttpStatus206 Antal alla begäranden som resulterade i ett 206 HTTP-kodsvar. Ja Nej Ja
RequestCountHttpStatus302 Antal alla begäranden som resulterade i ett 302 HTTP-kodsvar. Ja Nej Ja
RequestCountHttpStatus304 Antal alla begäranden som resulterade i ett 304 HTTP-kodsvar. Ja Nej Ja
RequestCountHttpStatus404 Antal alla begäranden som resulterade i ett 404 HTTP-kodsvar. Ja Nej Ja
RequestCountCacheHit Antal av alla begäranden som resulterade i en cache träff. Tillgången betjänades direkt från POP till klienten. Ja Ja Nej
RequestCountCacheMiss Antal förfrågningar som resulterade i en cachemiss. En cachemiss innebär att tillgången inte hittades på den POP som låg närmast klienten och hämtades från ursprunget. Ja Ja Nej
RequestCountCacheNoCache Antal begäranden till en tillgång som hindras från att cachelagras på grund av en användarkonfiguration på gränsen. Ja Ja Nej
RequestCountCacheUncacheable Antal begäranden till tillgångar som hindras från att cachelagras av tillgångens huvuden Cache-Control upphör att gälla. Det här antalet anger att den inte ska cachelagras på en POP eller av HTTP-klienten. Ja Ja Nej
RequestCountCacheOthers Antal förfrågningar med cachestatus som inte omfattas av ovan. Nej Ja Nej
EgressTotal Utgående dataöverföring i GB Ja Ja Ja
EgressHttpStatus2xx Utgående dataöverföring* för svar med 2xx HTTP-statuskoder i GB. Ja Ja Nej
EgressHttpStatus3xx Utgående dataöverföring för svar med 3xx HTTP-statuskoder i GB. Ja Ja Nej
EgressHttpStatus4xx Utgående dataöverföring för svar med 4xx HTTP-statuskoder i GB. Ja Ja Nej
EgressHttpStatus5xx Utgående dataöverföring för svar med 5xx HTTP-statuskoder i GB. Ja Ja Nej
EgressHttpStatusOthers Utgående dataöverföring för svar med andra HTTP-statuskoder i GB. Ja Ja Nej
EgressCacheHit Utgående dataöverföring för svar som har levererats direkt från CDN cacheminnet på CDN IP-adresser/kanter. Ja Ja Nej
EgressCacheMiss. Utgående dataöverföring för svar som inte hittades på närmaste POP-server och som hämtats från ursprungsservern. Ja Ja Nej
EgressCacheNoCache Utgående dataöverföring för tillgångar som hindras från att cachelagras på grund av en användarkonfiguration på gränsen. Ja Ja Nej
EgressCacheUncacheable Utgående dataöverföring för tillgångar som hindras från att cachelagras av tillgångens Cache-Control och, eller upphör att gälla, huvuden. Anger att den inte ska cachelagras på en POP eller av HTTP-klienten. Ja Ja Nej
EgressCacheOthers Utgående dataöverföringar för andra cachescenarier. Nej Ja Nej

*Utgående dataöverföring avser trafik som levereras från CDN POP-servrar till klienten.

Schema för kärnanalysloggarna

Alla loggar lagras i JSON-format och varje post har strängfält enligt följande schema:

    "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,
            }
        }

    ]
}

Där tid representerar starttiden för timgränsen som statistiken rapporteras för. Ett mått som inte stöds av en CDN-provider resulterar i ett null-värde i stället för ett double- eller heltalsvärde. Det här null-värdet anger frånvaron av ett mått och skiljer sig från värdet 0. En uppsättning av dessa mått per domän konfigureras på slutpunkten.

Exempelegenskaper:

{
     "DomainName": "manlingakamaitest2.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
}

Ytterligare resurser