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:
Selecteer in het menu van Azure Portal alle resources>><uw CDN-profiel.>
Selecteer Diagnostische instellingen onder Bewaking.
Selecteer + Diagnostische instelling toevoegen.
Belangrijk
Onbewerkte logboeken zijn alleen beschikbaar op profielniveau, terwijl geaggregeerde HTTP-statuscodelogboeken beschikbaar zijn op eindpuntniveau.
Voer onder Diagnostische instellingen een naam in voor de diagnostische instelling onder De naam van de diagnostische instellingen.
Selecteer azureCdnAccessLog en stel de retentie in dagen in.
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.
- Verzenden naar Log Analytics
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
Meld u aan bij Azure PowerShell:
Connect-AzAccount
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
Meld u aan bij Azure PowerShell:
Connect-AzAccount
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
Meld u aan bij Azure PowerShell:
Connect-AzAccount
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
Selecteer in het menu van Azure Portal alle resources>><uw CDN-profiel.>
Selecteer onder Bewaking de optie Metrische gegevens:
Selecteer Metrische waarde toevoegen, selecteer de metrische waarde die u wilt toevoegen:
Selecteer Filter toevoegen om een filter toe te voegen:
Selecteer Splitsen toepassen om trend op verschillende dimensies te bekijken:
Selecteer Nieuwe grafiek om een nieuwe grafiek toe te voegen:
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:
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.
Volg de stappen in de vorige sectie om diagnostische gegevens in te schakelen voor het verzenden van onbewerkt logboek naar Log Analytics.
Selecteer de Log Analytics-werkruimte die u hebt gemaakt:
Selecteer Logboeken onder Algemeen in de Log Analytics-werkruimte. Selecteer vervolgens Aan de slag:
Selecteer CDN-profielen. Selecteer een voorbeeldquery om het voorbeeldscherm uit te voeren of te sluiten om een aangepaste query in te voeren:
Om gegevens per grafiek weer te geven, selecteert u Grafiek. Selecteer Vastmaken aan dashboard om de grafiek vast te maken aan het Azure-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:
Meer informatie over Azure Monitor.
Configureer Log Analytics in Azure Monitor.