Diagnostische logboeken - Azure Content Delivery Network
Met diagnostische logboeken van Azure kunt u kernanalyses bekijken en opslaan in een of meer bestemmingen, waaronder:
- Azure Storage-account
- Log Analytics-werkruimte
- Azure Event Hubs
Deze functie is beschikbaar op CDN eindpunten voor alle prijslagen.
Met diagnostische logboeken kunt u metrische basisgegevens over gebruik exporteren van uw CDN eindpunt naar verschillende soorten bronnen, zodat u ze op een aangepaste manier kunt gebruiken. U kunt de volgende typen gegevensexport uitvoeren:
- Gegevens exporteren naar blobopslag, exporteren naar CSV en grafieken genereren in Excel.
- Gegevens exporteren naar Event Hubs en correleren met gegevens uit andere Azure-services.
- Gegevens exporteren naar Azure Monitor logboeken en gegevens weergeven in uw eigen Log Analytics-werkruimte
Een Azure CDN is vereist voor de volgende stappen. Raadpleeg een profiel Azure CDN eindpunt maken voordat u doorgaat.
Logboekregistratie inschakelen met de Azure-portal
Volg deze stappen om logboekregistratie in te Azure CDN eindpunt:
Meld u aan bij de Azure-portal.
Navigeer in Azure Portal naar Alle resources -> uw-cdn-profiel
Selecteer het CDN eindpunt waarvoor u diagnostische logboeken wilt inschakelen:
Selecteer Diagnostische logboeken in de sectie Bewaking:
Logboekregistratie inschakelen met Azure Storage
Volg deze stappen om een opslagaccount te gebruiken voor het opslaan van de logboeken:
Notitie
Een opslagaccount is vereist om deze stappen uit te voeren. Raadpleeg: Maak een Azure Storage account voor meer informatie.
Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.
Selecteer Archiveren naar een opslagaccount en selecteer vervolgens CoreAnalytics.
Kies voor Retentie (dagen) het aantal retentiedagen. Met een bewaarperiode van nul dagen worden de logboeken voor onbepaalde tijd opgeslagen.
Selecteer het abonnement en het opslagaccount voor de logboeken.
Selecteer Opslaan.
Verzenden naar Log Analytics
Volg deze stappen om Log Analytics te gebruiken voor de logboeken:
Notitie
Een Log Analytics-werkruimte is vereist om deze stappen uit te voeren. Raadpleeg: Een Log Analytics-werkruimte maken in de Azure Portal voor meer informatie.
Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.
Selecteer Verzenden naar Log Analytics en selecteer vervolgens CoreAnalytics.
Selecteer het abonnement en de Log Analytics-werkruimte voor de logboeken.
Selecteer Opslaan.
Streamen naar een Event Hub
Volg deze stappen om een Event Hub te gebruiken voor de logboeken:
Notitie
Een Event Hub is vereist om deze stappen uit te voeren. Raadpleeg: Quickstart: Een Event Hub maken met behulp van Azure Portal voor meer informatie.
Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.
Selecteer Streamen naar een Event Hub en selecteer vervolgens CoreAnalytics.
Selecteer het abonnement en de Event Hub-naamruimte voor de logboeken.
Selecteer Opslaan.
Logboekregistratie inschakelen met PowerShell
In het volgende voorbeeld ziet u hoe u diagnostische logboeken kunt inschakelen via de Azure PowerShell Cmdlets.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. 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-AzAccountAls u diagnostische logboeken in een opslagaccount wilt inschakelen, voert u deze opdrachten in. Vervang de variabelen door uw waarden:
$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
Diagnostische logboeken inschakelen voor Log Analytics-werkruimte
Meld u aan bij Azure PowerShell:
Connect-AzAccountAls u diagnostische logboeken wilt inschakelen voor een Log Analytics-werkruimte, voert u deze opdrachten in. Vervang de variabelen door uw waarden:
$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
Diagnostische logboeken inschakelen voor event hub-naamruimte
Meld u aan bij Azure PowerShell:
Connect-AzAccountAls u diagnostische logboeken wilt inschakelen voor een Log Analytics-werkruimte, voert u deze opdrachten in. Vervang de variabelen door uw waarden:
$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
Diagnostische logboeken van Azure Storage gebruiken
In deze sectie wordt het schema beschreven van CDN core analytics, organisatie in een Azure-opslagaccount, en bevat voorbeeldcode voor het downloaden van de logboeken in een CSV-bestand.
Met Microsoft Azure Storage Explorer
Zie voor het downloaden van het hulpprogramma Azure Storage Explorer. Nadat u de software hebt gedownload en geïnstalleerd, configureert u deze voor het gebruik van hetzelfde Azure-opslagaccount dat is geconfigureerd als bestemming voor de CDN Diagnostische logboeken.
- Open Microsoft Azure Storage Explorer
- Het opslagaccount zoeken
- Vouw het knooppunt Blobcontainers onder dit opslagaccount uit.
- Selecteer de container met de naam insights-logs-coreanalytics.
- Resultaten worden weergegeven in het rechterdeelvenster, beginnend bij het eerste niveau, als resourceId=. Ga door met het selecteren van elk niveau totdat u het bestand PT1H.json vindt. Zie Indeling van blobpad voor een uitleg van het pad.
- Elk BLOB PT1H.json-bestand vertegenwoordigt de analyselogboeken één uur voor een specifiek CDN eindpunt of het aangepaste domein.
- Het schema van de inhoud van dit JSON-bestand wordt beschreven in het sectieschema van de kernanalyselogboeken.
Indeling van blobpad
Kernanalyselogboeken worden elk uur gegenereerd en de gegevens worden verzameld en opgeslagen in één Azure-blob als een JSON-nettolading. Storage Explorer-hulpprogramma interpreteert '/' als een mapscheidingsteken en toont de hiërarchie. Het pad naar de Azure-blob lijkt alsof er een hiërarchische structuur is en vertegenwoordigt de naam van de blob. De naam van de blob volgt de volgende naamconventie:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Beschrijving van velden:
| Waarde | Beschrijving |
|---|---|
| Abonnements-id | Id van het Azure-abonnement in Guid-indeling. |
| Naam resourcegroep | Naam van de resourcegroep waarvan de CDN resources deel uitmaken. |
| Profile Name (Profielnaam) | Naam van het CDN profiel |
| Eindpuntnaam | Naam van het CDN eindpunt |
| Year | Viercijferige weergave van het jaar, bijvoorbeeld 2017 |
| Maand | Een representatie van twee cijfers van het maandnummer. 01 = januari ... 12 =december |
| Dag | Tweecijferige weergave van de dag van de maand |
| PT1H.json | Werkelijk JSON-bestand waarin de analysegegevens worden opgeslagen |
De belangrijkste analysegegevens exporteren naar een CSV-bestand
Voor toegang tot kernanalyses wordt voorbeeldcode voor een hulpprogramma verstrekt. Met dit hulpprogramma kunt u de JSON-bestanden downloaden naar een platte bestandsindeling met door komma's gescheiden bestanden, die kunnen worden gebruikt om grafieken of andere aggregaties te maken.
U kunt het hulpprogramma als volgende gebruiken:
- Ga naar GitHub koppeling:https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Download de code.
- Volg de instructies om te compileren en te configureren.
- Voer het hulpprogramma uit.
- Het resulterende CSV-bestand toont de analysegegevens in een eenvoudige platte hiërarchie.
Vertragingen in logboekgegevens
In de volgende tabel ziet u vertragingen in logboekgegevens voor Azure CDN Standard van Microsoft , Azure CDN Standard van Akamai en Azure CDN Standard/Premium van Verizon.
| Vertragingen in Logboekgegevens van Microsoft | Vertragingen in logboekgegevens van Verizon | Vertragingen in logboekgegevens van Akamai |
|---|---|---|
| Een vertraging van 1 uur. | Een vertraging van 1 uur en het kan tot 2 uur duren voordat het wordt weergegeven nadat het eindpunt is doorgegeven. | 24 uur vertraagd; Als deze meer dan 24 uur geleden is gemaakt, duurt het maximaal 2 uur voordat deze wordt weergegeven. Als de logboeken onlangs zijn gemaakt, kan het tot 25 uur duren voordat de logboeken worden weergegeven. |
Diagnostische logboektypen voor CDN kernanalyse
Microsoft biedt momenteel alleen kernanalyselogboeken die metrische gegevens bevatten met http-antwoordstatistieken en statistieken voor CDN toegangspunten/randen.
Details van metrische kernanalysegegevens
In de volgende tabel ziet u een lijst met metrische gegevens die beschikbaar zijn in de kernanalyselogboeken voor:
- Azure CDN Standard van Microsoft
- Azure CDN Standard van Akamai
- Azure CDN Standard/Premium van Verizon
Niet alle metrische gegevens zijn beschikbaar bij alle providers, hoewel dergelijke verschillen minimaal zijn. In de tabel wordt ook weergegeven of een bepaald metrisch gegeven beschikbaar is via een provider. De metrische gegevens zijn alleen beschikbaar voor CDN eindpunten met verkeer erop.
| Metrisch | Beschrijving | Microsoft | Verizon | Akamai |
|---|---|---|---|---|
| RequestCountTotal | Totaal aantal treffers tijdens deze periode. | Ja | Ja | Ja |
| RequestCountHttpStatus2xx | Telling van alle aanvragen die hebben geleid tot een 2xx HTTP-code (bijvoorbeeld 200, 202). | Ja | Ja | Ja |
| RequestCountHttpStatus3xx | Telling van alle aanvragen die hebben geleid tot een 3xx HTTP-code (bijvoorbeeld 300, 302). | Ja | Ja | Ja |
| RequestCountHttpStatus4xx | Telling van alle aanvragen die hebben geleid tot een 4xx HTTP-code (bijvoorbeeld 400, 404). | Ja | Ja | Ja |
| RequestCountHttpStatus5xx | Telling van alle aanvragen die hebben geleid tot een 5xx HTTP-code (bijvoorbeeld 500, 504). | Ja | Ja | Ja |
| RequestCountHttpStatusOthers | Aantal van alle andere HTTP-codes (buiten 2xx-5xx). | Ja | Ja | Ja |
| RequestCountHttpStatus200 | Telling van alle aanvragen die hebben geleid tot een 200 HTTP-codereactie. | Ja | Nee | Ja |
| RequestCountHttpStatus206 | Telling van alle aanvragen die hebben geleid tot een 206 HTTP-codereactie. | Ja | Nee | Ja |
| RequestCountHttpStatus302 | Telling van alle aanvragen die hebben geleid tot een 302 HTTP-codereactie. | Ja | Nee | Ja |
| RequestCountHttpStatus304 | Telling van alle aanvragen die hebben geleid tot een 304 HTTP-codereactie. | Ja | Nee | Ja |
| RequestCountHttpStatus404 | Telling van alle aanvragen die hebben geleid tot een 404 HTTP-code-antwoord. | Ja | Nee | Ja |
| RequestCountCacheHit | Telling van alle aanvragen die hebben geleid tot een cache-treffer. De asset werd rechtstreeks vanuit de POP aan de client bediend. | Ja | Ja | Nee |
| RequestCountCacheMiss | Telling van alle aanvragen die hebben geleid tot een cache-misser. Een cache-misser betekent dat de asset niet is gevonden op de POP die het dichtst bij de client ligt en is opgehaald van de oorsprong. | Ja | Ja | Nee |
| RequestCountCacheNoCache | Telling van alle aanvragen voor een asset die niet in de cache kunnen worden opgeslagen vanwege een gebruikersconfiguratie aan de rand. | Ja | Ja | Nee |
| RequestCountCacheUncacheable | Telling van alle aanvragen voor assets die niet in de cache kunnen worden opgeslagen door de activumkopteksten Cache-Control verlopen. Dit aantal geeft aan dat het niet in de cache mag worden opgeslagen op een POP of door de HTTP-client. | Ja | Ja | Nee |
| RequestCountCacheOthers | Telling van alle aanvragen met de cachestatus die hierboven niet wordt gedekt. | Nee | Ja | Nee |
| EgressTotal | Uitgaande gegevensoverdracht in GB | Ja | Ja | Ja |
| EgressHttpStatus2xx | Uitgaande gegevensoverdracht* voor antwoorden met 2xx HTTP-statuscodes in GB. | Ja | Ja | Nee |
| EgressHttpStatus3xx | Uitgaande gegevensoverdracht voor antwoorden met 3xx HTTP-statuscodes in GB. | Ja | Ja | Nee |
| EgressHttpStatus4xx | Uitgaande gegevensoverdracht voor antwoorden met 4xx HTTP-statuscodes in GB. | Ja | Ja | Nee |
| EgressHttpStatus5xx | Uitgaande gegevensoverdracht voor antwoorden met 5xx HTTP-statuscodes in GB. | Ja | Ja | Nee |
| EgressHttpStatusOthers | Uitgaande gegevensoverdracht voor antwoorden met andere HTTP-statuscodes in GB. | Ja | Ja | Nee |
| EgressCacheHit | Uitgaande gegevensoverdracht voor antwoorden die rechtstreeks vanuit de CDN cache op de CDN/randen zijn geleverd. | Ja | Ja | Nee |
| EgressCacheMiss. | Uitgaande gegevensoverdracht voor antwoorden die niet zijn gevonden op de dichtstbijzijnde POP-server en zijn opgehaald van de oorspronkelijke server. | Ja | Ja | Nee |
| EgressCacheNoCache | Uitgaande gegevensoverdracht voor assets die niet in de cache kunnen worden opgeslagen vanwege een gebruikersconfiguratie aan de rand. | Ja | Ja | Nee |
| EgressCacheUncacheable | Uitgaande gegevensoverdracht voor assets die niet in de cache kunnen worden opgeslagen door de headers Cache-Control of Verloopt. Geeft aan dat deze niet in de cache moet worden opgeslagen op een POP of door de HTTP-client. | Ja | Ja | Nee |
| EgressCacheOthers | Uitgaande gegevensoverdrachten voor andere cachescenario's. | Nee | Ja | Nee |
*Uitgaande gegevensoverdracht verwijst naar verkeer dat wordt geleverd van CDN POP-servers naar de client.
Schema van de kernanalyselogboeken
Alle logboeken worden opgeslagen in JSON-indeling en elke vermelding heeft tekenreeksvelden volgens het volgende 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,
}
}
]
}
Wanneer tijd de begintijd vertegenwoordigt van de uurgrens waarvoor de statistieken worden gerapporteerd. Een metrische waarde die niet wordt ondersteund door een CDN-provider in plaats van een dubbele waarde of een geheel getal, resulteert in een null-waarde. Deze null-waarde geeft aan dat er geen metrische waarde is en verschilt van een waarde van 0. Eén set van deze metrische gegevens per domein is geconfigureerd op het eindpunt.
Voorbeeldeigenschappen:
{
"DomainName": "manlingakamaitest2.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
}