Diagnostikloggar – Azure Content Delivery Network
Viktigt!
Azure CDN Standard från Microsoft (klassisk) dras tillbaka den 30 september 2027. För att undvika avbrott i tjänsten är det viktigt att du migrerar din Azure CDN Standard från Microsofts (klassiska) profiler till Azure Front Door Standard- eller Premium-nivån senast den 30 september 2027. Mer information finns i Azure CDN Standard från Microsoft (klassisk) tillbakadragning.
Azure CDN från Edgio dras tillbaka den 15 januari 2025. Du måste migrera din arbetsbelastning till Azure Front Door före det här datumet för att undvika avbrott i tjänsten. Mer information finns i Azure CDN från vanliga frågor och svar om Edgio-pensionering.
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:
Logga in på Azure-portalen.
I Azure Portal går du till Alla resurser>din cdn-profil.
Välj den nätverksslutpunkt för innehållsleverans 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:
Kommentar
Ett lagringskonto krävs för att slutföra de här stegen. Mer information finns i: Skapa ett Azure Storage-konto.
Som 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. En kvarhållning på noll dagar lagrar loggarna på obestämd tid.
Välj prenumerationen och lagringskontot för loggarna.
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 Portal.
Som 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:
Kommentar
En händelsehubb krävs för att slutföra de här stegen. Se: Snabbstart: Skapa en händelsehubb med Azure Portal för mer information.
Som 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 namnområdet för prenumerationen och händelsehubben för loggarna.
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
Logga in på Azure PowerShell:
Connect-AzAccount
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
Logga in på Azure PowerShell:
Connect-AzAccount
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
Logga in på Azure PowerShell:
Connect-AzAccount
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.
- Öppna Microsoft Azure Storage Explorer
- Leta upp lagringskontot
- Expandera noden BlobContainrar under det här lagringskontot.
- Välj containern med namnet insights-logs-coreanalytics.
- 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.
- Varje blobfil PT1H.json representerar analysloggarna i en timme för en specifik nätverksslutpunkt för innehållsleverans 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. 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:
- Besök GitHub-länken: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Ladda ned koden.
- Följ anvisningarna för att kompilera och konfigurera.
- Kör verktyget.
- 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
}