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 netwerkeindpunten voor contentlevering voor alle prijscategorieën.

Met diagnostische logboeken kunt u metrische gegevens over basisgebruik exporteren van het netwerkeindpunt voor contentlevering 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

Voor de volgende stappen is een Azure Content Delivery Network-profiel vereist. Raadpleeg Een Azure Content Delivery Network-profiel en -eindpunt maken voordat u doorgaat.

Logboekregistratie inschakelen met de Azure-portal

Volg deze stappen om logboekregistratie in te schakelen voor uw Azure Content Delivery Network-eindpunt:

  1. Meld u aan bij het Azure-portaal.

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

  3. Selecteer het netwerkeindpunt voor contentlevering waarvoor u diagnostische logboeken wilt inschakelen:

    Schermopname van het netwerkeindpunt voor contentlevering selecteren.

  4. Selecteer diagnostische logboeken in de sectie Bewaking :

    Schermopname van de knop Diagnostische logboeken onder het bewakingsmenu.

Logboekregistratie inschakelen met Azure Storage

Als u een opslagaccount wilt gebruiken om de logboeken op te slaan, voert u de volgende stappen uit:

Notitie

Er is een opslagaccount vereist om deze stappen uit te voeren. Raadpleeg: Een Azure Storage-account maken voor meer informatie.

  1. Voer voor de naam van de 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. Bij een bewaarperiode van nul dagen worden de logboeken voor onbepaalde tijd opgeslagen.

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

    Diagnostische logboeken - Opslag.

  5. Selecteer Opslaan.

Verzenden naar Log Analytics

Voer de volgende stappen uit om Log Analytics te gebruiken voor de logboeken:

Notitie

Er is een Log Analytics-werkruimte vereist om deze stappen uit te voeren. Raadpleeg: Een Log Analytics-werkruimte maken in Azure Portal voor meer informatie.

  1. Voer voor de naam van de 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

Als u een Event Hub voor de logboeken wilt gebruiken, voert u de volgende stappen uit:

Notitie

Er is een Event Hub vereist om deze stappen uit te voeren. Raadpleeg: Quickstart: Een Event Hub maken met behulp van Azure Portal voor meer informatie.

  1. Voer voor de naam van de diagnostische instelling een naam in voor uw diagnostische logboekinstellingen.

  2. Selecteer Stream 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 inschakelt via de Azure PowerShell-cmdlets.

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:

    $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 netwerkkernanalyses voor contentlevering, organisatie in een Azure Storage-account en bevat voorbeeldcode voor het downloaden van de logboeken in een CSV-bestand.

Microsoft Azure Storage Explorer gebruiken

Zie Azure Storage Explorer om het hulpprogramma te downloaden. Nadat u de software hebt gedownload en geïnstalleerd, configureert u deze voor het gebruik van hetzelfde Azure Storage-account dat is geconfigureerd als een bestemming voor de diagnostische logboeken van het netwerk voor contentlevering.

  1. Microsoft Azure Storage Explorer openen
  2. Het opslagaccount zoeken
  3. Vouw het knooppunt BlobContainers uit onder dit opslagaccount.
  4. Selecteer de container met de naam insights-logs-coreanalytics.
  5. Resultaten worden weergegeven in het rechterdeelvenster, beginnend met het eerste niveau, als resourceId=. Ga door met het selecteren van elk niveau totdat u het bestand PT1H.json hebt gevonden. Zie blobpadindeling voor een uitleg van het pad.
  6. Elk blob-PT1H.json-bestand vertegenwoordigt de analyselogboeken gedurende één uur voor een specifiek netwerkeindpunt voor contentlevering of het aangepaste domein.
  7. Het schema van de inhoud van dit JSON-bestand wordt beschreven in het sectieschema van de kernanalyselogboeken.

Blobpadindeling

Kernanalyselogboeken worden elk uur gegenereerd en de gegevens worden verzameld en opgeslagen in één Azure-blob als een JSON-nettolading. Het hulpprogramma Storage Explorer interpreteert '/' als een mapscheidingsteken en toont de hiërarchie. Het pad naar de Azure-blob wordt weergegeven alsof er een hiërarchische structuur is en de blobnaam vertegenwoordigt. 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:

Weergegeven als Beschrijving
Abonnements-id Id van het Azure-abonnement in GUID-indeling (Globally Unique Identifier).
Naam resourcegroep Naam van de resourcegroep waartoe de netwerkresources voor contentlevering behoren.
Profielnaam Naam van het netwerkprofiel voor contentlevering
Eindpuntnaam Naam van het netwerkeindpunt voor contentlevering
Year Viercijferige weergave van het jaar, bijvoorbeeld 2017
Month Tweecijferige weergave 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 kernanalysegegevens exporteren naar een CSV-bestand

Voor toegang tot kernanalyses wordt voorbeeldcode voor een hulpprogramma geleverd. Met dit hulpprogramma kunt u de JSON-bestanden downloaden naar een platte, door komma's gescheiden bestandsindeling, die kan worden gebruikt om grafieken of andere aggregaties te maken.

U kunt het hulpprogramma als volgt gebruiken:

  1. Ga naar de GitHub-koppeling: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Download de code.
  3. Volg de instructies voor het compileren en 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 en Azure CDN Standard/Premium van Edgio.

Vertragingen in logboekgegevens van Microsoft Vertragingen in Edgio-logboekgegevens
Vertraagd met 1 uur. Vertraagd met 1 uur en kan tot 2 uur duren voordat het wordt weergegeven nadat het eindpunt is doorgegeven.

Diagnostische logboektypen voor netwerkkernanalyses voor contentlevering

Microsoft biedt momenteel alleen kernanalyselogboeken, die metrische gegevens bevatten met http-antwoordstatistieken en uitgaande statistieken, zoals te zien is vanuit de IP-adressen/randen van het contentleveringsnetwerk.

Details van metrische gegevens voor kernanalyse

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/Premium van Edgio

Niet alle metrische gegevens zijn beschikbaar bij alle providers, hoewel dergelijke verschillen minimaal zijn. In de tabel wordt ook weergegeven of een bepaalde metrische waarde beschikbaar is bij een provider. De metrische gegevens zijn alleen beschikbaar voor de netwerkeindpunten voor contentlevering die er verkeer op hebben.

Metrisch Beschrijving Microsoft Edgio
RequestCountTotal Het totale aantal aanvraagtreffers gedurende deze periode. Ja Ja
RequestCountHttpStatus2xx Het aantal aanvragen dat heeft geresulteerd in een 2xx HTTP-code (bijvoorbeeld 200, 202). Ja Ja
RequestCountHttpStatus3xx Het aantal aanvragen dat heeft geresulteerd in een 3xx HTTP-code (bijvoorbeeld 300, 302). Ja Ja
RequestCountHttpStatus4xx Het aantal aanvragen dat heeft geresulteerd in een 4xx HTTP-code (bijvoorbeeld 400, 404). Ja Ja
RequestCountHttpStatus5xx Het aantal aanvragen dat heeft geresulteerd in een HTTP-code van 5xx (bijvoorbeeld 500, 504). Ja Ja
RequestCountHttpStatusOthers Het aantal andere HTTP-codes (buiten 2xx-5xx). Ja Ja
RequestCountHttpStatus200 Het aantal aanvragen dat heeft geresulteerd in een 200 HTTP-codeantwoord. Ja Nr.
RequestCountHttpStatus206 Het aantal aanvragen dat heeft geresulteerd in een 206 HTTP-codeantwoord. Ja Nr.
RequestCountHttpStatus302 Het aantal aanvragen dat heeft geresulteerd in een 302 HTTP-codeantwoord. Ja Nr.
RequestCountHttpStatus304 Het aantal aanvragen dat heeft geresulteerd in een 304 HTTP-codeantwoord. Ja Nr.
RequestCountHttpStatus404 Het aantal aanvragen dat heeft geresulteerd in een 404 HTTP-codeantwoord. Ja Nr.
RequestCountCacheHit Het aantal aanvragen dat heeft geresulteerd in een cachetreffer. De asset is rechtstreeks van de POP naar de client geleverd. Ja Ja
RequestCountCacheMiss Het aantal aanvragen dat heeft geresulteerd in een cachemissing. Een cachemisser betekent dat de asset niet is gevonden op de POP die het dichtst bij de client ligt en is opgehaald uit de oorsprong. Ja Ja
RequestCountCacheNoCacheNoCache Het aantal aanvragen voor een asset die wordt voorkomen dat deze in de cache worden opgeslagen vanwege een gebruikersconfiguratie aan de rand. Ja Ja
RequestCountCacheUncacheable Het aantal aanvragen voor assets dat niet in de cache kan worden opgeslagen door cachebeheer van de asset en verloopt headers. Dit aantal geeft aan dat deze niet in de cache moet worden opgeslagen in een POP of door de HTTP-client. Ja Ja
RequestCountCacheOthers Het aantal aanvragen met de cachestatus die niet wordt gedekt door metrische gegevens die eerder zijn vermeld. Nr. Ja
EgressTotal Uitgaande gegevensoverdracht in GB Ja Ja
EgressHttpStatus2xx Uitgaande gegevensoverdracht* voor antwoorden met 2xx HTTP-statuscodes in GB. Ja Ja
EgressHttpStatus3xx Uitgaande gegevensoverdracht voor antwoorden met 3xx HTTP-statuscodes in GB. Ja Ja
EgressHttpStatus4xx Uitgaande gegevensoverdracht voor antwoorden met 4xx HTTP-statuscodes in GB. Ja Ja
EgressHttpStatus5xx Uitgaande gegevensoverdracht voor antwoorden met 5xx HTTP-statuscodes in GB. Ja Ja
EgressHttpStatusOthers Uitgaande gegevensoverdracht voor antwoorden met andere HTTP-statuscodes in GB. Ja Ja
EgressCacheHit Uitgaande gegevensoverdracht voor antwoorden die rechtstreeks vanuit de cache van het netwerk voor contentlevering zijn geleverd op de IP's/edges van het contentleveringsnetwerk. Ja Ja
EgressCacheMiss. Uitgaande gegevensoverdracht voor antwoorden die niet zijn gevonden op de dichtstbijzijnde POP-server en opgehaald van de oorspronkelijke server. Ja Ja
EgressCacheNoCacheNoCache Uitgaande gegevensoverdracht voor assets die niet in de cache worden opgeslagen vanwege een gebruikersconfiguratie aan de rand. Ja Ja
EgressCacheUncacheable Uitgaande gegevensoverdracht voor assets die voorkomen dat ze in de cache worden opgeslagen door cachebeheer van de asset en, of verlopen headers. Geeft aan dat deze niet in de cache moet worden opgeslagen op een POP of door de HTTP-client. Ja Ja
EgressCacheOthers Uitgaande gegevensoverdrachten voor andere cachescenario's. Nr. Ja

*Uitgaande gegevensoverdracht verwijst naar verkeer dat afkomstig is van POP-servers voor contentlevering 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,
            }
        }

    ]
}

Waar de tijd de begintijd van de uurgrens aangeeft waarvoor de statistieken worden gerapporteerd. Een metrische waarde die niet wordt ondersteund door een netwerkprovider voor contentlevering, in plaats van een dubbele waarde of 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 wordt geconfigureerd op het eindpunt.

Voorbeeldeigenschappen:

{
     "DomainName": "azurecdntest.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
}

Meer resources