Realtidsövervakning, mått och åtkomstloggar för Azure CDN

Med Azure CDN från Microsoft kan du övervaka resurser på följande sätt för att felsöka, spåra och felsöka problem.

  • Rådataloggar innehåller omfattande information om varje begäran som CDN tar emot. Rådataloggar skiljer sig från aktivitetsloggar. Aktivitetsloggar ger insyn i de åtgärder som utförs på Azure-resurser.
  • Mått, som visar fyra nyckelmått på CDN, inklusive Byte Hit Ratio, Request Count, Response Size och Total Latency. Den innehåller också olika dimensioner för att dela upp mått.
  • Avisering, som gör att kunden kan konfigurera aviseringar för nyckelmått
  • Fler mått som gör det möjligt för kunder att använda Azure Log Analytics för att aktivera fler värdemått. Vi tillhandahåller även frågeexempel för några andra mått under Azure Log Analytics.

Viktigt!

Funktionen HTTP-rådataloggar är tillgänglig för Azure CDN från Microsoft.

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Logga in på Azure

Logga in på Azure-portalen.

Konfiguration – Azure-portalen

Så här konfigurerar du Raw-loggar för din Azure CDN från Microsoft-profilen:

  1. På menyn i Azure-portalen väljer du Alla resurser>><din CDN-profil.>

  2. Under Övervakning väljer du Diagnostikinställningar.

  3. Väj + Lägg till diagnostikinställning.

    Lägg till diagnostikinställning för CDN-profil.

    Viktigt!

    Rådataloggar är endast tillgängliga på profilnivå medan aggregerade HTTP-statuskodloggar är tillgängliga på slutpunktsnivå.

  4. Under Diagnostikinställningar anger du ett namn för diagnostikinställningen under Namn på diagnostikinställningar.

  5. Välj AzureCdnAccessLog och ange kvarhållningen i dagar.

  6. Välj målinformationen. Målalternativ är:

    • Skicka till Log Analytics
      • Välj arbetsytan Prenumeration och Log Analytics.
    • Arkivera till ett lagringskonto
      • Välj Prenumeration och Lagringskonto.
    • Strömma till en händelsehubb
      • Välj namnrymden Prenumeration, Händelsehubb, Händelsehubbnamn (valfritt) och Principnamn för händelsehubben.

    Konfigurera mål för logginställningar.

  7. Välj Spara.

Konfiguration – Azure PowerShell

Använd Set-AzDiagnosticSetting för att konfigurera diagnostikinställningen för råloggar.

Kvarhållningsdata definieras av alternativet -RetentionInDays i kommandot .

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:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $cdn = Get-AzCdnProfile -ResourceGroupName $rsg -ProfileName $cdnprofile
    
    $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

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:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $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 -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

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 händelsehubbnamnrymd anger du dessa kommandon. Ersätt variablerna med dina värden:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $evthubnamespace = <your-event-hub-namespace-name>
    $diagname = <your-diagnostic-setting-name>
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $eventhub = Get-AzEventHubNamespace -ResourceGroupName $rsg -Name $eventhubname
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhub.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Egenskaper för rådataloggar

Azure CDN från Microsoft Service tillhandahåller för närvarande råloggar. Rådataloggar ger enskilda API-begäranden med varje post med följande schema:

Property beskrivning
BackendHostname Om begäran vidarebefordras till en serverdel representerar det här fältet värdnamnet för serverdelen. Det här fältet är tomt om begäran omdirigeras eller vidarebefordras till en regional cache (när cachelagring aktiveras för routningsregeln).
CacheStatus För cachelagringsscenarier definierar det här fältet cacheträffen/-missen på POP
ClientIp IP-adressen för klienten som gjorde begäran. Om det fanns ett X-Forwarded-For-huvud i begäran, väljs klient-IP från samma.
ClientPort IP-porten för klienten som gjorde begäran.
HttpMethod HTTP-metod som används av begäran.
HttpStatusCode HTTP-statuskoden som returneras från proxyn. Om en begäran till ursprungstimeouten överskrider värdet för HttpStatusCode anges till 0.
HttpStatusDetails Resulterande status för begäran. Innebörden av det här strängvärdet finns i en statusreferenstabell.
HttpVersion Typ av begäran eller anslutning.
POP Kort namn på gränsen där begäran landade.
RequestBytes Storleken på HTTP-begärandemeddelandet i byte, inklusive begärandehuvudena och begärandetexten.
RequestUri URI för den mottagna begäran.
ResponseBytes Byte som skickas av serverdelsservern som svar.
RoutingRuleName Namnet på routningsregeln som begäran matchade.
RulesEngineMatchNames Namnen på de regler som begäran matchade.
SecurityProtocol TLS/SSL-protokollversionen som används av begäran eller null om det inte finns någon kryptering.
SentToOriginShield
(inaktuell) * Se anteckningar om utfasning i följande avsnitt.
Om det är sant innebär det att begäran besvarades från ursprungssköldcachen i stället för kantpopen. Ursprungssköld är en överordnad cache som används för att förbättra cacheträffförhållandet.
isReceivedFromClient Om det är sant innebär det att begäran kom från klienten. Om det är falskt är begäran en miss i gränsen (underordnad POP) och besvaras från ursprungsskölden (överordnad POP).
TimeTaken Hur lång tid från första byte av begäran till Azure Front Door till sista byte svar ut, i sekunder.
TrackingReference Den unika referenssträngen som identifierar en begäran som hanteras av Azure Front Door, skickas även som X-Azure-Ref-huvud till klienten. Krävs för att söka efter information i åtkomstloggarna för en specifik begäran.
UserAgent Webbläsartypen som klienten använde.
ErrorInfo Det här fältet innehåller den specifika typen av fel för att begränsa felsökningsområdet.
Möjliga värden är:
NoError: Anger att inga fel hittades.
CertificateError: Allmänt SSL-certifikatfel.
CertificateNameCheckFailed: Värdnamnet i SSL-certifikatet är ogiltigt eller matchar inte.
ClientDisconnected: Begärandefel på grund av klientnätverksanslutning.
UnspecifiedClientError: Allmänt klientfel.
InvalidRequest: Ogiltig begäran. Det kan inträffa på grund av felaktigt sidhuvud, brödtext och URL.
DNSFailure: DNS-fel.
DNSNameNotResolved: Servernamnet eller adressen kunde inte matchas.
Origin Anslut ionAborted: Anslutningen till ursprunget stoppades plötsligt.
Origin Anslut ionError: Allmänt anslutningsfel för ursprung.
Origin Anslut ionRefused: Anslutningen till ursprunget kunde inte upprättas.
OriginError: Allmänt ursprungsfel.
OriginInvalidResponse: Origin returnerade ett ogiltigt eller okänt svar.
OriginTimeout: Tidsgränsen för ursprungsbegäran har upphört att gälla.
ResponseHeaderTooBig: Ursprunget returnerade för stort svarshuvud.
RestrictedIP: Begäran blockerades på grund av begränsad IP-adress.
SSLHandshakeError: Det går inte att upprätta en anslutning med ursprunget på grund av SSL-handskakningsfel.
UnspecifiedError: Ett fel uppstod som inte passade in i något av felen i tabellen.
TimeToFirstByte Hur lång tid i millisekunder från när Microsoft CDN tar emot begäran till den tidpunkt då den första byte skickas till klienten. Tiden mäts endast från Microsoft-sidan. Data på klientsidan mäts inte.
Resultat SSLMismatchedSNI är en statuskod som innebär en lyckad begäran med en matchningsvarning mellan SNI (Server Name Indication) och värdhuvudet. Den här statuskoden innebär domänfronting, en teknik som strider mot Azure Front Door-användarvillkoren. Begäranden med SSLMismatchedSNI avvisas efter den 22 januari 2024.
SNI Det här fältet anger den servernamnsindikator (SNI) som skickas under handskakningen för TLS/SSL. Den kan användas för att identifiera det exakta SNI-värdet om det fanns en SSLMismatchedSNI statuskod. Dessutom kan det jämföras med värdvärdet i requestUri fältet för att identifiera och lösa felmatchningsproblemet.

Kommentar

Loggarna kan visas under din Log Analytics-profil genom att köra en fråga. En exempelfråga skulle se ut så här: AzureDiagnostics | where Category == "AzureCdnAccessLog"

Skickas till utfasning av ursprungssköld

Egenskapen raw log isSentToOriginShield är inaktuell och ersätts av ett nytt fält isReceivedFromClient. Använd det nya fältet om du redan använder det inaktuella fältet.

Rådataloggar innehåller loggar som genererats från både CDN-gränsen (underordnad POP) och ursprungsskölden. Ursprungssköld refererar till överordnade noder som är strategiskt placerade över hela världen. Dessa noder kommunicerar med ursprungsservrar och minskar trafikbelastningen på ursprunget.

För varje begäran som går till ursprungsskölden finns det två loggposter:

  • En för kantnoder
  • En för ursprungssköld.

Om du vill skilja utgående eller svar från gränsnoderna jämfört med ursprungsskölden kan du använda fältet isReceivedFromClient för att hämta rätt data.

Om värdet är falskt innebär det att begäran besvaras från ursprungsskölden till kantnoder. Den här metoden är effektiv för att jämföra rådata med faktureringsdata. Avgifter debiteras inte för utgående från ursprungsskölden till kantnoderna. Avgifter tillkommer för utgående trafik från gränsnoderna till klienter.

Kusto-frågeexempel för att exkludera loggar som genererats på ursprungsskölden i Log Analytics.

AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient == true

Viktigt!

Funktionen HTTP Raw-loggar är tillgänglig automatiskt för profiler som skapats eller uppdaterats efter den 25 februari 2020. För CDN-profiler som skapades tidigare bör man uppdatera CDN-slutpunkten när loggning har konfigurerats. Till exempel kan man navigera till geofiltrering under CDN-slutpunkter och blockera alla länder/regioner som inte är relevanta för deras arbetsbelastning och trycka på Spara.

Mått

Azure CDN från Microsoft är integrerat med Azure Monitor och publicerar fyra CDN-mått för att spåra, felsöka och felsöka problem.

Måtten visas i diagram och är tillgängliga via PowerShell, CLI och API. CDN-måtten är kostnadsfria.

Azure CDN från Microsoft mäter och skickar sina mått i 60-sekundersintervall. Måtten kan ta upp till 3 minuter att visas i portalen.

Mer information finns i Azure Monitor-mått.

Mått som stöds av Azure CDN från Microsoft

Metrics beskrivning Dimensioner
Bytes Träff-förhållande* Procentandelen utgående från CDN-cache, beräknad mot den totala utgående. Slutpunkt
RequestCount Antalet klientbegäranden som hanteras av CDN. Slutpunktsklientland
.
Klientregion.
HTTP-status.
HTTP-statusgrupp.
ResponseSize Antalet byte som skickas som svar från CDN Edge till klienter. Slutpunktsklientland
.
Klientregion.
HTTP-status.
HTTP-statusgrupp.
TotalLatency Den totala tiden från klientbegäran som tagits emot av CDN tills senaste svarsbyte skickas från CDN till klienten. Slutpunktsklientland
.
Klientregion.
HTTP-status.
HTTP-statusgrupp.

Kommentar

Om en begäran till tidsgränsen för ursprunget anges värdet för HttpStatusCode till 0.

*Bytes Hit Ratio = (utgående från kant - utgående från ursprung)/utgående från kant

Scenarier som undantas i bytes träffkvotberäkning:

  • Du konfigurerar uttryckligen ingen cache varken via regelmotorn eller cachelagringsbeteendet för frågesträngar.
  • Du konfigurerar uttryckligen cachekontrolldirektivet utan lagring eller privat cacheminne.

Måttkonfiguration

  1. På menyn i Azure-portalen väljer du Alla resurser>><din CDN-profil.>

  2. Under Övervakning väljer du Mått:

    Mått för CDN-profil.

  3. Välj Lägg till mått och välj det mått som ska läggas till:

    Lägg till och välj mått för CDN-profil.

  4. Välj Lägg till filter för att lägga till ett filter:

    Använd filter för mått.

  5. Välj Använd delning för att se trend efter olika dimensioner:

    Tillämpa delning på måttet.

  6. Välj Nytt diagram för att lägga till ett nytt diagram:

    Lägg till ett nytt diagram i måttvyn.

Aviseringar

Du kan konfigurera aviseringar på Microsoft CDN genom att välja Övervakningsaviseringar>>.

Välj Ny aviseringsregel för mått som anges i avsnittet Mått:

Konfigurera aviseringar för CDN-slutpunkt.

Aviseringen debiteras baserat på Azure Monitor. Mer information om aviseringar finns i Azure Monitor-aviseringar.

Fler mått

Du kan aktivera fler mått med Hjälp av Azure Log Analytics och råloggar för en extra kostnad.

  1. Följ stegen i föregående avsnitt för att aktivera diagnostik för att skicka råloggen till Log Analytics.

  2. Välj den Log Analytics-arbetsyta som du skapade:

    Skärmbild av menyn Välj Log Analytics-arbetsyta.

  3. Välj Loggar under Allmänt på Log Analytics-arbetsytan. Välj sedan Kom igång:

    Skärmbild av Log Analytics-resursarbetsytan.

  4. Välj CDN-profiler. Välj en exempelfråga för att KÖRA eller stäng exempelskärmen för att ange en anpassad fråga:

    Skärmbild av exempel på frågeskärmen.

    Skärmbild av frågekörningen.

  5. Om du vill visa data efter diagram väljer du Diagram. Välj Fäst på instrumentpanelen för att fästa diagrammet på Azure-instrumentpanelen:

    Skärmbild av fästdiagram på instrumentpanelen.

Nästa steg

I den här artikeln har du aktiverat HTTP-rådataloggar för Microsoft CDN-tjänsten.

Mer information om Azure CDN och andra Azure-tjänster som nämns i den här artikeln finns i: