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:
Logga in på Azure-portalen.
I Azure Portal du till Alla resurser -> din-cdn-profil
Välj den CDN slutpunkt som du vill aktivera diagnostikloggar för:
Välj Diagnostikloggar i avsnittet Övervakning:
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.
För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.
Välj Arkivera till ett lagringskonto och välj sedan CoreAnalytics.
För Kvarhållning (dagar) väljer du antalet kvarhållningsdagar. Med en kvarhållning på noll dagar lagras loggarna på obestämd tid.
Välj prenumeration och lagringskonto för loggarna.
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.
För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.
Välj Skicka till Log Analytics och välj sedan CoreAnalytics.
Välj prenumerationen och Log Analytics-arbetsytan för loggarna.
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.
För Namn på diagnostikinställning anger du ett namn för inställningarna för diagnostikloggen.
Välj Strömma till en händelsehubb och välj sedan CoreAnalytics.
Välj prenumerationen och händelsehubbens namnrymd för loggarna.
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
Logga in på Azure PowerShell:
Connect-AzAccountOm 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
Logga in på Azure PowerShell:
Connect-AzAccountOm 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
Logga in på Azure PowerShell:
Connect-AzAccountOm 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.
- Öppna Microsoft Azure Storage Explorer
- Leta upp lagringskontot
- Expandera noden Blobcontainrar under det här lagringskontot.
- Välj containern insights-logs-coreanalytics.
- 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.
- Varje blob PT1H.json-fil representerar analysloggarna i en timme för en CDN slutpunkt eller dess anpassade domän.
- 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:
- Gå till GitHub länken:https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Ladda ned koden.
- Följ instruktionerna för att kompilera och konfigurera.
- Kör verktyget.
- 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
}