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:

  1. Meld u aan bij de Azure-portal.

  2. Navigeer in Azure Portal naar Alle resources -> uw-cdn-profiel

  3. Selecteer het CDN eindpunt waarvoor u diagnostische logboeken wilt inschakelen:

    Selecteer CDN eindpunt.

  4. Selecteer Diagnostische logboeken in de sectie Bewaking:

    Selecteer Diagnostische logboeken.

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.

  1. Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.

  2. Selecteer Archiveren naar een opslagaccount en selecteer vervolgens CoreAnalytics.

  3. Kies voor Retentie (dagen) het aantal retentiedagen. Met een bewaarperiode van nul dagen worden de logboeken voor onbepaalde tijd opgeslagen.

  4. Selecteer het abonnement en het opslagaccount voor de logboeken.

    Diagnostische logboeken : Storage.

  5. 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.

  1. Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.

  2. Selecteer Verzenden naar Log Analytics en selecteer vervolgens CoreAnalytics.

  3. Selecteer het abonnement en de Log Analytics-werkruimte voor de logboeken.

    Diagnostische logboeken - Log Analytics.

  4. 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.

  1. Voer bij Naam diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.

  2. Selecteer Streamen naar een Event Hub en selecteer vervolgens CoreAnalytics.

  3. Selecteer het abonnement en de Event Hub-naamruimte voor de logboeken.

    Diagnostische logboeken - Event Hub.

  4. 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

  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:

    $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

  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:

    $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

  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:

    $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.

  1. Open Microsoft Azure Storage Explorer
  2. Het opslagaccount zoeken
  3. Vouw het knooppunt Blobcontainers onder dit opslagaccount uit.
  4. Selecteer de container met de naam insights-logs-coreanalytics.
  5. 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.
  6. Elk BLOB PT1H.json-bestand vertegenwoordigt de analyselogboeken één uur voor een specifiek CDN eindpunt of het aangepaste domein.
  7. 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:

  1. Ga naar GitHub koppeling:https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Download de code.
  3. Volg de instructies om te compileren en te configureren.
  4. Voer het hulpprogramma uit.
  5. 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
}

Aanvullende bronnen