Realtime-bewaking, metrische gegevens en toegangslogboeken voor Azure CDN

Met Azure CDN van Microsoft kunt u resources op de volgende manieren bewaken om u te helpen bij het oplossen, bijhouden en opsporen van problemen.

  • Onbewerkte logboeken bieden uitgebreide informatie over elke aanvraag die CDN ontvangt. Onbewerkte logboeken verschillen van activiteitenlogboeken. Activiteitenlogboeken bieden inzicht in de bewerkingen die worden uitgevoerd op Azure-resources.
  • Metrische gegevens, die vier belangrijke metrische gegevens op CDN weergeven, waaronder Byte Hit Ratio, Aantal aanvragen, Antwoordgrootte en Totale latentie. Het biedt ook verschillende dimensies voor het opsplitsen van metrische gegevens.
  • Waarschuwing, waarmee de klant een waarschuwing kan instellen voor belangrijke metrische gegevens
  • Meer metrische gegevens, waardoor klanten Azure Log Analytics kunnen gebruiken om meer metrische gegevens van waarde in te schakelen. We bieden ook queryvoorbeelden voor enkele andere metrische gegevens onder Azure Log Analytics.

Belangrijk

De functie voor onbewerkte HTTP-logboeken is beschikbaar voor Azure CDN van Microsoft.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Aanmelden bij Azure

Meld u aan bij het Azure-portaal.

Configuratie - Azure Portal

Raw-logboeken configureren voor uw Azure CDN vanuit het Microsoft-profiel:

  1. Selecteer in het menu van Azure Portal alle resources>><uw CDN-profiel.>

  2. Selecteer Diagnostische instellingen onder Bewaking.

  3. Selecteer + Diagnostische instelling toevoegen.

    Diagnostische instelling voor CDN-profiel toevoegen.

    Belangrijk

    Onbewerkte logboeken zijn alleen beschikbaar op profielniveau, terwijl geaggregeerde HTTP-statuscodelogboeken beschikbaar zijn op eindpuntniveau.

  4. Voer onder Diagnostische instellingen een naam in voor de diagnostische instelling onder De naam van de diagnostische instellingen.

  5. Selecteer azureCdnAccessLog en stel de retentie in dagen in.

  6. Selecteer de doeldetails. Doelopties zijn:

    • Verzenden naar Log Analytics
      • Selecteer de werkruimte Abonnement en Log Analytics.
    • Archiveren naar een opslagaccount
      • Selecteer het abonnement en het opslagaccount.
    • Streamen naar een Event Hub
      • Selecteer het abonnement, de Event Hub-naamruimte, de Event Hub-naam (optioneel) en de naam van het Event Hub-beleid.

    Configureer de bestemming voor logboekinstellingen.

  7. Selecteer Opslaan.

Configuratie - Azure PowerShell

Gebruik Set-AzDiagnosticSetting om de diagnostische instelling voor onbewerkte logboeken te configureren.

Retentiegegevens worden gedefinieerd door de optie -RetentionInDays in de opdracht.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Diagnostische logboeken inschakelen in een opslagaccount

  1. Meld u aan bij Azure PowerShell:

    Connect-AzAccount 
    
  2. Als u diagnostische logboeken in een opslagaccount wilt inschakelen, voert u deze opdrachten in. Vervang de variabelen door uw waarden:

    ## 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
    

Diagnostische logboeken inschakelen voor Log Analytics-werkruimte

  1. Meld u aan bij Azure PowerShell:

    Connect-AzAccount 
    
  2. Als u diagnostische logboeken wilt inschakelen voor een Log Analytics-werkruimte, voert u deze opdrachten in. Vervang de variabelen door uw waarden:

    ## 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
    

Diagnostische logboeken inschakelen voor Event Hub-naamruimte

  1. Meld u aan bij Azure PowerShell:

    Connect-AzAccount 
    
  2. Als u diagnostische logboeken wilt inschakelen voor een Event Hub-naamruimte, voert u deze opdrachten in. Vervang de variabelen door uw waarden:

    ## 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
    

Eigenschappen van onbewerkte logboeken

Azure CDN van Microsoft Service biedt momenteel Raw-logboeken. Onbewerkte logboeken bieden afzonderlijke API-aanvragen met elk item met het volgende schema:

Eigenschappen Beschrijving
BackendHostname Als de aanvraag wordt doorgestuurd naar een back-end, vertegenwoordigt dit veld de hostnaam van de back-end. Dit veld is leeg als de aanvraag wordt omgeleid of doorgestuurd naar een regionale cache (wanneer caching wordt ingeschakeld voor de routeringsregel).
CacheStatus Voor cachescenario's definieert dit veld de cachetreffer/miss in de POP
ClientIp Het IP-adres van de client die de aanvraag heeft ingediend. Als er een X-Forwarded-For-header in de aanvraag was, wordt het CLIENT-IP-adres uit hetzelfde gekozen.
ClientPort De IP-poort van de client die de aanvraag heeft ingediend.
HttpMethod De HTTP-methode die wordt gebruikt door de aanvraag.
HttpStatusCode De HTTP-statuscode die is geretourneerd door de proxy. Als een aanvraag voor de oorspronkelijke time-outs de waarde voor HttpStatusCode is ingesteld op 0.
HttpStatusDetails Resulterende status van de aanvraag. De betekenis van deze tekenreekswaarde vindt u in een statusreferentietabel.
HttpVersion Type aanvraag of verbinding.
POP Korte naam van de rand waar de aanvraag is geland.
RequestBytes De grootte van het HTTP-aanvraagbericht in bytes, inclusief de aanvraagheaders en de aanvraagbody.
RequestUri URI van de ontvangen aanvraag.
ResponseBytes Bytes die door de back-endserver worden verzonden als antwoord.
RoutingRuleName De naam van de routeringsregel die overeenkomt met de aanvraag.
RulesEngineMatchNames De namen van de regels die overeenkomen met de aanvraag.
SecurityProtocol De TLS/SSL-protocolversie die wordt gebruikt door de aanvraag of null als er geen versleuteling is.
SentToOriginShield
(afgeschaft) * Zie de opmerkingen over afschaffing in de volgende sectie.
Als waar, betekent dit dat de aanvraag is beantwoord vanuit de origin shield-cache in plaats van de edge pop. Origin Shield is een bovenliggende cache die wordt gebruikt om de verhouding tussen cachetreffers te verbeteren.
isReceivedFromClient Indien waar, betekent dit dat de aanvraag afkomstig is van de client. Als dit onwaar is, is de aanvraag een misser in de rand (onderliggende POP) en wordt er gereageerd vanaf het oorspronkelijke schild (bovenliggende POP).
TimeTaken De tijdsduur van de eerste byte van de aanvraag in Azure Front Door tot laatste byte van reactie, in seconden.
TrackingReference De unieke referentietekenreeks die een aanvraag identificeert die wordt geleverd door Azure Front Door, ook verzonden als X-Azure-Ref-header naar de client. Vereist voor het zoeken naar details in de toegangslogboeken voor een specifieke aanvraag.
UserAgent Het browsertype dat de client heeft gebruikt.
ErrorInfo Dit veld bevat het specifieke type fout om het probleemoplossingsgebied te beperken.
Mogelijke waarden zijn:
NoError: Geeft aan dat er geen fouten zijn gevonden.
CertificateError: Algemene SSL-certificaatfout.
CertificateNameCheckFailed: de hostnaam in het SSL-certificaat is ongeldig of komt niet overeen.
ClientDisconnected: aanvraagfout vanwege clientnetwerkverbinding.
UnspecifiedClientError: Algemene clientfout.
InvalidRequest: Ongeldige aanvraag. Dit kan optreden vanwege ongeldige headers, hoofdteksten en URL's.
DNSFailure: DNS-fout.
DNSNameNotResolved: de servernaam of het adres kan niet worden omgezet.
Origin Verbinding maken ionAborted: De verbinding met de oorsprong is plotseling gestopt.
Origin Verbinding maken ionError: Algemene verbindingsfout voor oorsprong.
Origin Verbinding maken ionRefused: De verbinding met de oorsprong kon niet tot stand worden gebracht.
OriginError: Algemene oorsprongsfout.
OriginInvalidResponse: Origin heeft een ongeldig of niet-herkend antwoord geretourneerd.
OriginTimeout: de time-outperiode voor de oorspronkelijke aanvraag is verlopen.
ResponseHeaderTooBig: De oorsprong heeft te groot geretourneerd van een antwoordheader.
RestrictedIP: de aanvraag is geblokkeerd vanwege een beperkt IP-adres.
SSLHandshakeError: kan geen verbinding maken met de oorsprong vanwege een SSL-handshakefout.
UnspecifiedError: er is een fout opgetreden die niet in een van de fouten in de tabel past.
TimeToFirstByte De tijdsduur in milliseconden vanaf wanneer Microsoft CDN de aanvraag ontvangt tot de tijd dat de eerste byte naar de client wordt verzonden. De tijd wordt alleen gemeten aan de zijde van Microsoft. Gegevens aan de clientzijde worden niet gemeten.
Resultaat SSLMismatchedSNI is een statuscode die een geslaagde aanvraag aangeeft met een waarschuwing over niet-overeenkomende waarden tussen de servernaamindicatie (SNI) en de hostheader. Deze statuscode impliceert domeinfronting, een techniek die de servicevoorwaarden van Azure Front Door schendt. Aanvragen met SSLMismatchedSNI worden geweigerd na 22 januari 2024.
SNI Dit veld geeft de servernaamindicatie (SNI) op die wordt verzonden tijdens de TLS/SSL-handshake. Deze kan worden gebruikt om de exacte SNI-waarde te identificeren als er een SSLMismatchedSNI statuscode is. Daarnaast kan het worden vergeleken met de hostwaarde in het requestUri veld om het probleem met niet-overeenkomende items te detecteren en op te lossen.

Notitie

De logboeken kunnen worden weergegeven onder uw Log Analytics-profiel door een query uit te voeren. Een voorbeeldquery ziet er als volgt uit: AzureDiagnostics | where Category == "AzureCdnAccessLog"

Verzonden naar afschaffing van oorsprongsschild

De onbewerkte logboekeigenschap isSentToOriginShield is afgeschaft en vervangen door een nieuw veld isReceivedFromClient. Gebruik het nieuwe veld als u het afgeschafte veld al gebruikt.

Onbewerkte logboeken bevatten logboeken die zijn gegenereerd op basis van zowel CDN Edge (onderliggende POP) als origin shield. Oorsprongsschild verwijst naar bovenliggende knooppunten die strategisch over de hele wereld zijn gelegen. Deze knooppunten communiceren met oorspronkelijke servers en verminderen de belasting van het verkeer op de oorsprong.

Voor elke aanvraag die naar het oorsprongsschild gaat, zijn er twee logboekvermeldingen:

  • Eén voor edge-knooppunten
  • Een voor oorsprongsschild.

U kunt het veld isReceivedFromClient gebruiken om de juiste gegevens op te halen om het uitgangspunt of de antwoorden van de edge-knooppunten te onderscheiden van de edge-knooppunten versus het oorsprongsschild.

Als de waarde onwaar is, betekent dit dat de aanvraag wordt gereageerd van oorsprongsschild naar edge-knooppunten. Deze methode is effectief om onbewerkte logboeken te vergelijken met factureringsgegevens. Er worden geen kosten in rekening gebracht voor uitgaand verkeer van oorsprongsschild naar de edge-knooppunten. Er worden kosten in rekening gebracht voor uitgaand verkeer van de edge-knooppunten naar clients.

Kusto-queryvoorbeeld voor het uitsluiten van logboeken die zijn gegenereerd op het oorspronkelijke schild in Log Analytics.

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

Belangrijk

De functie HTTP Raw-logboeken is automatisch beschikbaar voor profielen die na 25 februari 2020 zijn gemaakt of bijgewerkt. Voor CDN-profielen die u eerder hebt gemaakt, moet u het CDN-eindpunt bijwerken nadat u logboekregistratie hebt ingesteld. U kunt bijvoorbeeld navigeren naar geofiltering onder CDN-eindpunten en elk land/elke regio blokkeren die niet relevant is voor de werkbelasting en het opslaan ervan.

Metrische gegevens voor

Azure CDN van Microsoft is geïntegreerd met Azure Monitor en publiceert vier CDN-metrische gegevens om problemen bij te houden, op te lossen en op te sporen.

De metrische gegevens worden weergegeven in grafieken en toegankelijk via PowerShell, CLI en API. De metrische CDN-gegevens zijn gratis.

Azure CDN van Microsoft meet en verzendt de metrische gegevens in intervallen van 60 seconden. Het kan tot 3 minuten duren voordat de metrische gegevens in de portal worden weergegeven.

Zie metrische gegevens van Azure Monitor voor meer informatie.

Metrische gegevens die worden ondersteund door Azure CDN van Microsoft

Metrische gegevens voor Beschrijving Dimensies
Verhouding aantal treffers voor bytes* Het percentage uitgaand verkeer van cdn-cache, berekend op basis van het totale uitgaand verkeer. Eindpunt
RequestCount Het aantal clientaanvragen dat door CDN wordt verwerkt. Land van eindpuntclient
.
Clientregio.
HTTP-status.
HTTP-statusgroep.
ResponseSize Het aantal bytes dat is verzonden als antwoorden van CDN Edge naar clients. Land van eindpuntclient
.
Clientregio.
HTTP-status.
HTTP-statusgroep.
TotalLatency De totale tijd van de clientaanvraag die door CDN is ontvangen tot het laatste antwoord byte verzendt van CDN naar de client. Land van eindpuntclient
.
Clientregio.
HTTP-status.
HTTP-statusgroep.

Notitie

Als een aanvraag voor de time-out van de oorsprong is ingesteld op 0, wordt de waarde voor HttpStatusCode ingesteld op 0.

*Bytes Hit Ratio = (uitgaand verkeer vanaf rand - uitgaand van oorsprong)/uitgaand verkeer vanaf rand

Scenario's die zijn uitgesloten in berekening van de verhouding van bytes:

  • U configureert expliciet geen cache via de regelengine of het cachegedrag van queryreeksen.
  • U configureert expliciet de instructie voor cachebeheer met geen opslag of privécache.

Configuratie van metrische gegevens

  1. Selecteer in het menu van Azure Portal alle resources>><uw CDN-profiel.>

  2. Selecteer onder Bewaking de optie Metrische gegevens:

    Metrische gegevens voor CDN-profiel.

  3. Selecteer Metrische waarde toevoegen, selecteer de metrische waarde die u wilt toevoegen:

    Voeg metrische gegevens toe en selecteer deze voor het CDN-profiel.

  4. Selecteer Filter toevoegen om een filter toe te voegen:

    Filter toepassen op metrische gegevens.

  5. Selecteer Splitsen toepassen om trend op verschillende dimensies te bekijken:

    Splitsen toepassen op de metrische waarde.

  6. Selecteer Nieuwe grafiek om een nieuwe grafiek toe te voegen:

    Voeg een nieuwe grafiek toe aan de metrische weergave.

Waarschuwingen

U kunt waarschuwingen instellen op Microsoft CDN door Bewakingswaarschuwingen>> te selecteren.

Selecteer nieuwe waarschuwingsregel voor metrische gegevens die worden vermeld in de sectie Metrische gegevens:

Configureer waarschuwingen voor CDN-eindpunt.

Er worden kosten in rekening gebracht op basis van Azure Monitor. Zie Azure Monitor-waarschuwingen voor meer informatie over waarschuwingen.

Meer metrische gegevens

U kunt meer metrische gegevens inschakelen met behulp van Azure Log Analytics en onbewerkte logboeken voor extra kosten.

  1. Volg de stappen in de vorige sectie om diagnostische gegevens in te schakelen voor het verzenden van onbewerkt logboek naar Log Analytics.

  2. Selecteer de Log Analytics-werkruimte die u hebt gemaakt:

    Schermopname van het menu Log Analytics-werkruimte selecteren.

  3. Selecteer Logboeken onder Algemeen in de Log Analytics-werkruimte. Selecteer vervolgens Aan de slag:

    Schermopname van de Log Analytics-resourcewerkruimte.

  4. Selecteer CDN-profielen. Selecteer een voorbeeldquery om het voorbeeldscherm uit te voeren of te sluiten om een aangepaste query in te voeren:

    Schermopname van voorbeeldqueryscherm.

    Schermopname van de uitvoering van de query.

  5. Om gegevens per grafiek weer te geven, selecteert u Grafiek. Selecteer Vastmaken aan dashboard om de grafiek vast te maken aan het Azure-dashboard:

    Schermopname van grafiek vastmaken aan dashboard.

Volgende stappen

In dit artikel hebt u onbewerkte HTTP-logboeken ingeschakeld voor de Microsoft CDN-service.

Zie voor meer informatie over Azure CDN en de andere Azure-services die in dit artikel zijn vermeld: