Diagnostikloggar – Azure Content Delivery Network

Med Azure-diagnostikloggar kan du visa kärnanalys och spara dem i ett eller flera mål, inklusive:

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

Den här funktionen är tillgänglig på nätverksslutpunkter för innehållsleverans för alla prisnivåer.

Med diagnostikloggar kan du exportera grundläggande användningsstatistik från slutpunkten för innehållsleveransnätverket 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 och 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 Content Delivery Network-profil krävs för följande steg. Se Skapa en Azure Content Delivery Network-profil och slutpunkt innan du fortsätter.

Aktivera loggning i Azure-portalen

Följ de här stegen för att aktivera loggning för din Azure Content Delivery Network-slutpunkt:

  1. Logga in på Azure-portalen.

  2. I Azure-portalen går du till Alla resurser>din cdn-profil.

  3. Välj den nätverksslutpunkt för innehållsleverans som du vill aktivera diagnostikloggar för:

    Skärmbild av nätverksslutpunkten för innehållsleverans.

  4. Välj Diagnostikloggar i avsnittet Övervakning :

    Skärmbild av knappen diagnostikloggar under övervakningsmenyn.

Aktivera loggning med Azure Storage

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

Kommentar

Ett lagringskonto krävs för att slutföra de här stegen. Mer information finns i: Skapa ett Azure Storage-konto.

  1. Som 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. En kvarhållning på noll dagar lagrar loggarna på obestämd tid.

  4. Välj prenumerationen och lagringskontot för loggarna.

    Diagnostikloggar – Lagring.

  5. Välj Spara.

Skicka till Log Analytics

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

Kommentar

En Log Analytics-arbetsyta krävs för att slutföra de här stegen. Mer information finns i: Skapa en Log Analytics-arbetsyta i Azure-portalen.

  1. Som 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:

Kommentar

En händelsehubb krävs för att slutföra de här stegen. Mer information finns i: Snabbstart: Skapa en händelsehubb med Hjälp av Azure-portalen.

  1. Som 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 namnområdet för prenumerationen och händelsehubben 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-cmdletar.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. 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

Det här avsnittet beskriver schemat för kärnanalys för innehållsleveransnätverk, 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 laddat ned och installerat programvaran konfigurerar du den så att den använder samma Azure Storage-konto som har konfigurerats som mål för nätverksdiagnostikloggar för innehållsleverans.

  1. Öppna Microsoft Azure Storage Explorer
  2. Leta upp lagringskontot
  3. Expandera noden BlobContainrar under det här lagringskontot.
  4. Välj containern med namnet insights-logs-coreanalytics.
  5. Resultaten visas i den högra rutan, med början på 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 Format för blobsökväg.
  6. Varje blobfil PT1H.json representerar analysloggarna i en timme för en specifik nätverksslutpunkt för innehållsleverans 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. Verktyget Storage Explorer 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 globalt unikt identifierarformat (GUID).
Namnet på resursgruppen Namn på den resursgrupp som nätverksresurserna för innehållsleverans tillhör.
Profilnamn Namn på nätverksprofilen för innehållsleverans
Slutpunktsnamn Namn på slutpunkten för innehållsleveransnätverket
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. Besök GitHub-länken: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Ladda ned koden.
  3. Följ anvisningarna 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 av loggdata

I följande tabell visas fördröjningar av loggdata för Azure CDN Standard från Microsoft och Azure CDN Standard/Premium från Edgio.

Fördröjningar av Microsoft-loggdata Fördröjningar i Edgio-loggdata
Fördröjd med 1 timme. Fördröjd med 1 timme och kan ta upp till 2 timmar att börja visas efter att slutpunktens spridning har slutförts.

Diagnostikloggtyper för kärnanalys för innehållsleveransnätverk

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

Grundläggande analysmåttinformation

I följande tabell visas en lista över mått som är tillgängliga i kärnanalysloggarna för:

  • Azure CDN Standard från Microsoft
  • Azure CDN Standard/Premium från Edgio

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 provider. Måtten är endast tillgängliga för de nätverksslutpunkter för innehållsleverans som har trafik på sig.

Mätvärde Beskrivning Microsoft Edgio
RequestCountTotal Totalt antal begärandeträffar under den här perioden. Ja Ja
RequestCountHttpStatus2xx Antal begäranden som resulterade i en 2xx HTTP-kod (till exempel 200, 202). Ja Ja
RequestCountHttpStatus3xx Antal begäranden som resulterade i en 3xx HTTP-kod (till exempel 300, 302). Ja Ja
RequestCountHttpStatus4xx Antal begäranden som resulterade i en 4xx HTTP-kod (till exempel 400, 404). Ja Ja
RequestCountHttpStatus5xx Antal begäranden som resulterade i en 5xx HTTP-kod (till exempel 500, 504). Ja Ja
RequestCountHttpStatusOthers Antal andra HTTP-koder (utanför 2xx-5xx). Ja Ja
RequestCountHttpStatus200 Antal begäranden som resulterade i ett HTTP-kodsvar på 200. Ja Nej
RequestCountHttpStatus206 Antal begäranden som resulterade i ett HTTP-kodsvar på 206. Ja Nej
RequestCountHttpStatus302 Antal begäranden som resulterade i ett HTTP-kodsvar på 302. Ja Nej
RequestCountHttpStatus304 Antal begäranden som resulterade i ett HTTP-kodsvar på 304. Ja Nej
RequestCountHttpStatus404 Antal begäranden som resulterade i ett HTTP-kodsvar på 404. Ja Nej
RequestCountCacheHit Antal begäranden som resulterade i en cacheträff. Tillgången serverades direkt från POP till klienten. Ja Ja
RequestCountCacheMiss Antal begäranden som resulterade i en cachemiss. En cachemiss innebär att tillgången inte hittades på DEN POP som är närmast klienten och hämtades från ursprunget. Ja Ja
RequestCountCacheNoCache Antal begäranden till en tillgång som förhindras från att cachelagras på grund av en användarkonfiguration på gränsen. Ja Ja
RequestCountCacheUncacheable Antal begäranden till tillgångar som förhindras från att cachelagras av tillgångens cachekontroll- och förfallna huvuden. Det här antalet anger att den inte ska cachelagras på en POP- eller HTTP-klient. Ja Ja
RequestCountCacheOthers Antal begäranden med cachestatus som inte omfattas av mått som angetts tidigare. Nej Ja
EgressTotal Utgående dataöverföring i GB Ja Ja
EgressHttpStatus2xx Utgående dataöverföring* för svar med 2xx HTTP-statuskoder i GB. Ja Ja
EgressHttpStatus3xx Utgående dataöverföring för svar med 3xx HTTP-statuskoder i GB. Ja Ja
EgressHttpStatus4xx Utgående dataöverföring för svar med 4xx HTTP-statuskoder i GB. Ja Ja
EgressHttpStatus5xx Utgående dataöverföring för svar med 5xx HTTP-statuskoder i GB. Ja Ja
EgressHttpStatusOthers Utgående dataöverföring för svar med andra HTTP-statuskoder i GB. Ja Ja
EgressCacheHit Utgående dataöverföring för svar som levererades direkt från innehållsleveransnätverkets cacheminne i innehållsleveransnätverkets IP-adresser/kanter. Ja Ja
EgressCacheMiss. Utgående dataöverföring för svar som inte hittades på närmaste POP-server och hämtades från ursprungsservern. Ja Ja
EgressCacheNoCache Utgående dataöverföring för tillgångar som förhindras från att cachelagras på grund av en användarkonfiguration på gränsen. Ja Ja
EgressCacheUncacheable Utgående dataöverföring för tillgångar som hindras från att cachelagras av tillgångens Cache-Control- och eller Expires-huvuden. Anger att den inte ska cachelagras på en POP- eller HTTP-klient. Ja Ja
EgressCacheOthers Utgående dataöverföringar för andra cachescenarier. Nej Ja

*Utgående dataöverföring avser trafik som levereras från POP-servrar för innehållsleveransnätverk 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 tiden representerar starttiden för den timgräns som statistiken rapporteras för. Ett mått som inte stöds av en nätverksprovider för innehållsleverans resulterar i ett null-värde i stället för ett dubbelt eller heltalsvärde. Det här null-värdet anger avsaknaden 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": "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
}

Fler resurser