Diagnostické protokoly – Azure Content Delivery Network

Pomocí diagnostických protokolů Azure můžete zobrazit základní analýzy a uložit je do jednoho nebo více cílů, mezi které patří:

  • Účet služby Azure Storage
  • Pracovní prostor služby Log Analytics
  • Azure Event Hubs

Tato funkce je k dispozici v koncových bodech sítě pro doručování obsahu pro všechny cenové úrovně.

Diagnostické protokoly umožňují exportovat základní metriky využití z koncového bodu sítě pro doručování obsahu do různých druhů zdrojů, abyste je mohli využívat vlastním způsobem. Můžete provést následující typy exportu dat:

  • Exportujte data do úložiště objektů blob, exportujte do souboru CSV a generujte grafy v Excelu.
  • Exportujte data do služby Event Hubs a korelují s daty z jiných služeb Azure.
  • Export dat do protokolů služby Azure Monitor a zobrazení dat ve vlastním pracovním prostoru služby Log Analytics

Pro následující kroky se vyžaduje profil služby Azure Content Delivery Network. Než budete pokračovat, přečtěte si článek Vytvoření profilu a koncového bodu služby Azure Content Delivery Network.

Povolení protokolování prostřednictvím webu Azure Portal

Pro koncový bod služby Azure Content Delivery Network povolte protokolování podle těchto kroků:

  1. Přihlaste se k portálu Azure.

  2. Na webu Azure Portal přejděte na Všechny prostředky>vašeho-cdn-profile.

  3. Vyberte koncový bod sítě pro doručování obsahu, pro který chcete povolit diagnostické protokoly:

    Snímek obrazovky s vybraným koncovým bodem sítě pro doručování obsahu

  4. V části Monitorování vyberte diagnostické protokoly:

    Snímek obrazovky s tlačítkem diagnostické protokoly v nabídce monitorování

Povolení protokolování pomocí Služby Azure Storage

Pokud chcete k ukládání protokolů použít účet úložiště, postupujte takto:

Poznámka:

K provedení těchto kroků se vyžaduje účet úložiště. Další informace najdete v tématu: Vytvoření účtu Azure Storage.

  1. Jako název nastavení diagnostiky zadejte název nastavení diagnostického protokolu.

  2. Vyberte Archivovat do účtu úložiště a pak vyberte CoreAnalytics.

  3. V části Uchovávání (dny) zvolte počet dnů uchovávání. Uchovávání nulových dnů ukládá protokoly po neomezenou dobu.

  4. Vyberte předplatné a účet úložiště pro protokoly.

    Diagnostické protokoly – Úložiště.

  5. Zvolte Uložit.

Odeslání do Log Analytics

Pokud chcete pro protokoly použít Log Analytics, postupujte takto:

Poznámka:

K provedení těchto kroků se vyžaduje pracovní prostor služby Log Analytics. Další informace najdete v tématu: Vytvoření pracovního prostoru služby Log Analytics na webu Azure Portal .

  1. Jako název nastavení diagnostiky zadejte název nastavení diagnostického protokolu.

  2. Vyberte Odeslat do Log Analytics a pak vyberte CoreAnalytics.

  3. Vyberte předplatné a pracovní prostor služby Log Analytics pro protokoly.

    Diagnostické protokoly – Log Analytics

  4. Zvolte Uložit.

Streamování do centra událostí

Pokud chcete pro protokoly použít centrum událostí, postupujte takto:

Poznámka:

K provedení těchto kroků se vyžaduje centrum událostí. Další informace najdete v tématu: Rychlý start: Vytvoření centra událostí pomocí webu Azure Portal .

  1. Jako název nastavení diagnostiky zadejte název nastavení diagnostického protokolu.

  2. Vyberte Stream do centra událostí a pak vyberte CoreAnalytics.

  3. Vyberte obor názvů odběru a centra událostí pro protokoly.

    Diagnostické protokoly – Centrum událostí

  4. Zvolte Uložit.

Povolení protokolování prostřednictvím PowerShellu

Následující příklad ukazuje, jak povolit diagnostické protokoly prostřednictvím rutin Azure PowerShellu.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Povolení diagnostických protokolů v účtu úložiště

  1. Přihlaste se k Azure PowerShellu:

    Connect-AzAccount 
    
  2. Pokud chcete povolit diagnostické protokoly v účtu úložiště, zadejte tyto příkazy. Nahraďte proměnné hodnotami:

    $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
    

Povolení diagnostických protokolů pro pracovní prostor služby Log Analytics

  1. Přihlaste se k Azure PowerShellu:

    Connect-AzAccount 
    
  2. Pokud chcete povolit diagnostické protokoly pro pracovní prostor služby Log Analytics, zadejte tyto příkazy. Nahraďte proměnné hodnotami:

    $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
    

Povolení diagnostických protokolů pro obor názvů centra událostí

  1. Přihlaste se k Azure PowerShellu:

    Connect-AzAccount 
    
  2. Pokud chcete povolit diagnostické protokoly pro pracovní prostor služby Log Analytics, zadejte tyto příkazy. Nahraďte proměnné hodnotami:

    $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
    

Využívání diagnostických protokolů ze služby Azure Storage

Tato část popisuje schéma analýzy jádra sítě pro doručování obsahu, organizaci v účtu Azure Storage a poskytuje ukázkový kód pro stažení protokolů v souboru CSV.

Použití Průzkumník služby Microsoft Azure Storage

Pokud chcete nástroj stáhnout, přečtěte si Průzkumník služby Azure Storage. Po stažení a instalaci softwaru ho nakonfigurujte tak, aby používal stejný účet Azure Storage, který byl nakonfigurovaný jako cíl diagnostických protokolů sítě pro doručování obsahu.

  1. Otevřít Průzkumník služby Microsoft Azure Storage
  2. Vyhledání účtu úložiště
  3. Rozbalte uzel Kontejnery objektů blob pod tímto účtem úložiště.
  4. Vyberte kontejner s názvem insights-logs-coreanalytics.
  5. Výsledky se zobrazí v pravém podokně počínaje první úrovní jako resourceId=. Pokračujte v výběru jednotlivých úrovní, dokud nenajdete soubor PT1H.json. Vysvětlení cesty najdete v tématu Formát cesty objektu blob.
  6. Každý soubor PT1H.json objektu blob představuje analytické protokoly po dobu jedné hodiny pro konkrétní koncový bod sítě pro doručování obsahu nebo vlastní doménu.
  7. Schéma obsahu tohoto souboru JSON je popsáno ve schématu oddílu základních analytických protokolů.

Formát cesty k objektu blob

Základní analytické protokoly se generují každou hodinu a data se shromažďují a ukládají v jednom objektu blob Azure jako datová část JSON. Nástroj Průzkumníka služby Storage interpretuje '/' jako oddělovač adresářů a zobrazuje hierarchii. Cesta k objektu blob Azure se zobrazí, jako by byla hierarchická struktura a představuje název objektu blob. Název objektu blob se řídí následujícími konvencemi vytváření názvů:

resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json

Popis polí:

Hodnota Popis
Subscription ID ID předplatného Azure v globálně jedinečném formátu identifikátoru (GUID).
Název skupiny prostředků Název skupiny prostředků, do které patří prostředky sítě pro doručování obsahu.
Název profilu Název profilu sítě pro doručování obsahu
Název koncového bodu Název koncového bodu sítě pro doručování obsahu
Year (Rok) Čtyřmístné vyjádření roku, například 2017
Month Dvouciferné vyjádření čísla měsíce 01=Leden ... 12=Prosinec
Den Dvouciferné vyjádření dne v měsíci
PT1H.json Skutečný soubor JSON, ve kterém jsou uložena analytická data

Export základních analytických dat do souboru CSV

Pro přístup k základním analýzám je k dispozici vzorový kód pro nástroj. Tento nástroj umožňuje stáhnout soubory JSON do plochého formátu souboru odděleného čárkami, který lze použít k vytváření grafů nebo jiných agregací.

Nástroj můžete použít takto:

  1. Navštivte odkaz Na GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Stáhněte si kód.
  3. Podle pokynů zkompilujte a nakonfigurujte.
  4. Spusťte nástroj.
  5. Výsledný soubor CSV zobrazuje analytická data v jednoduché ploché hierarchii.

Zpoždění dat protokolu

Následující tabulka uvádí zpoždění dat protokolu pro Azure CDN Standard od Microsoftu a Azure CDN Standard/Premium z Edgio.

Zpoždění dat protokolů Microsoftu Zpoždění dat protokolu Edgio
Zpožděno o 1 hodinu. Zpoždění o 1 hodinu a může trvat až 2 hodiny, než se začnou zobrazovat po dokončení šíření koncového bodu.

Typy diagnostických protokolů pro analýzu jádra sítě pro doručování obsahu

Microsoft v současné době nabízí pouze základní analytické protokoly, které obsahují metriky zobrazující statistiky odezvy HTTP a výchozí statistiky, jak je vidět z bodů pops/hran sítě pro doručování obsahu.

Podrobnosti metrik základní analýzy

Následující tabulka uvádí seznam metrik dostupných v základních analytických protokolech pro:

  • Azure CDN Standard od Microsoftu
  • Azure CDN Standard/Premium z Edgio

Ne všechny metriky jsou dostupné od všech poskytovatelů, i když tyto rozdíly jsou minimální. Tabulka také zobrazuje, jestli je daná metrika dostupná od poskytovatele. Metriky jsou k dispozici pouze pro koncové body sítě pro doručování obsahu, které na nich mají provoz.

Metrický Popis Microsoft Edgio
RequestCountTotal Celkový počet přístupů k žádostem během tohoto období Ano Yes
RequestCountHttpStatus2xx Počet všech požadavků, které způsobily kód HTTP 2xx (například 200, 202). Ano Yes
RequestCountHttpStatus3xx Počet všech požadavků, které způsobily kód HTTP 3xx (například 300, 302). Ano Yes
RequestCountHttpStatus4xx Počet všech požadavků, které způsobily kód HTTP 4xx (například 400, 404). Ano Yes
RequestCountHttpStatus5xx Počet všech požadavků, které způsobily kód HTTP 5xx (například 500, 504). Ano Yes
RequestCountHttpStatusOthers Počet všech ostatních kódů HTTP (mimo 2xx-5xx) Ano Yes
RequestCountHttpStatus200 Počet všech požadavků, které způsobily odpověď kódu HTTP 200 Yes No
RequestCountHttpStatus206 Počet všech požadavků, které způsobily odpověď kódu HTTP 206 Yes No
RequestCountHttpStatus302 Počet všech požadavků, které způsobily odpověď kódu HTTP 302 Yes No
RequestCountHttpStatus304 Počet všech požadavků, které způsobily odpověď kódu HTTP 304 Yes No
RequestCountHttpStatus404 Počet všech požadavků, které způsobily odpověď kódu HTTP 404 Yes No
RequestCountCacheHit Počet všech požadavků, které způsobily dosažení mezipaměti Prostředek se obsluhoval přímo z POP klientovi. Ano Yes
RequestCountCacheMiss Počet všech požadavků, které způsobily chybějící mezipaměť Neúspěšná mezipaměť znamená, že prostředek nebyl nalezen v protokolu POP nejblíže klientovi a byl načten z původního zdroje. Ano Yes
RequestCountCacheNoCache Počet všech požadavků na prostředek, který se znemožní ukládání do mezipaměti kvůli konfiguraci uživatele na hraničním zařízení Ano Yes
RequestCountCacheUncacheable Počet všech požadavků na prostředky, které brání v ukládání do mezipaměti hlavičkami Cache-Control a Expires prostředku. Tento počet značí, že by neměl být uložen v mezipaměti v protokolu POP nebo klientem HTTP. Ano Yes
RequestCountCacheOthers Počet všech požadavků se stavem mezipaměti, na které se výše uvedené metriky nevztahují. No Ano
Výchozí hodnota Odchozí přenos dat v GB Ano Yes
EgressHttpStatus2xx Odchozí přenos dat* pro odpovědi se stavovými kódy HTTP 2xx v GB. Ano Yes
EgressHttpStatus3xx Odchozí přenos dat pro odpovědi se stavovými kódy HTTP 3xx v GB Ano Yes
EgressHttpStatus4xx Odchozí přenos dat pro odpovědi se stavovými kódy HTTP 4xx v GB Ano Yes
EgressHttpStatus5xx Odchozí přenos dat pro odpovědi se stavovými kódy HTTP 5xx v GB Ano Yes
EgressHttpStatusOthers Odchozí přenos dat pro odpovědi s dalšími stavovými kódy HTTP v GB Ano Yes
EgressCacheHit Odchozí přenos dat pro odpovědi, které byly doručeny přímo z mezipaměti sítě pro doručování obsahu v síti pro doručování obsahu / hrany. Ano Yes
EgressCacheMiss. Odchozí přenos dat pro odpovědi, které nebyly nalezeny na nejbližším serveru POP, a načtené ze zdrojového serveru. Ano Yes
EgressCacheNoCache Odchozí přenos dat pro prostředky, které se nedají ukládat do mezipaměti kvůli konfiguraci uživatele na hraničním zařízení. Ano Yes
EgressCacheUncacheable Odchozí přenos dat pro prostředky, kterým brání v ukládání do mezipaměti řízení mezipaměti prostředku nebo vypršení platnosti hlaviček. Označuje, že by se nemělo ukládat do mezipaměti v protokolu POP ani v klientovi HTTP. Ano Yes
EgressCacheOthers Odchozí přenosy dat pro jiné scénáře mezipaměti No Ano

*Odchozí přenos dat odkazuje na provoz doručované ze serverů POP sítě pro doručování obsahu do klienta.

Schéma základních analytických protokolů

Všechny protokoly jsou uložené ve formátu JSON a každá položka má pole řetězců podle následujícího schématu:

    "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,
            }
        }

    ]
}

Kde čas představuje počáteční čas hranice hodiny, pro kterou jsou statistiky hlášeny. Metrika nepodporovaná poskytovatelem sítě pro doručování obsahu místo dvojité nebo celočíselné hodnoty má za následek hodnotu null. Tato hodnota null označuje absenci metriky a liší se od hodnoty 0. Jedna sada těchto metrik na doménu je nakonfigurovaná v koncovém bodu.

Příklady vlastností:

{
     "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
}

Další materiály