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:
På menyn i Azure-portalen väljer du Alla resurser>><din CDN-profil.>
Under Övervakning väljer du Diagnostikinställningar.
Väj + Lägg till diagnostikinställning.
Viktigt!
Rådataloggar är endast tillgängliga på profilnivå medan aggregerade HTTP-statuskodloggar är tillgängliga på slutpunktsnivå.
Under Diagnostikinställningar anger du ett namn för diagnostikinställningen under Namn på diagnostikinställningar.
Välj AzureCdnAccessLog och ange kvarhållningen i dagar.
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.
- Skicka till Log Analytics
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
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:
## 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
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:
## 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
Logga in på Azure PowerShell:
Connect-AzAccount
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
På menyn i Azure-portalen väljer du Alla resurser>><din CDN-profil.>
Under Övervakning väljer du Mått:
Välj Lägg till mått och välj det mått som ska läggas till:
Välj Lägg till filter för att lägga till ett filter:
Välj Använd delning för att se trend efter olika dimensioner:
Välj Nytt diagram för att lägga till ett nytt diagram:
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:
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.
Följ stegen i föregående avsnitt för att aktivera diagnostik för att skicka råloggen till Log Analytics.
Välj den Log Analytics-arbetsyta som du skapade:
Välj Loggar under Allmänt på Log Analytics-arbetsytan. Välj sedan Kom igång:
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:
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:
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:
Analysera Användningsmönster för Azure CDN.
Läs mer om Azure Monitor.
Konfigurera Log Analytics i Azure Monitor.