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ů, včetně:

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

tato funkce je k dispozici na CDN koncových bodech pro všechny cenové úrovně.

diagnostické protokoly umožňují exportovat základní metriky využití z vašeho koncového bodu CDN do různých druhů zdrojů, abyste je mohli spotřebovat vlastním způsobem. Můžete provést následující typy exportu dat:

  • Exportujte data do úložiště objektů blob, exportujte je do sdíleného svazku clusteru a generujte grafy v Excel.
  • Exportujte data Event Hubs a korelujte s daty z jiných služeb Azure.
  • Export dat do Azure Monitor protokolů a zobrazení dat ve vlastním pracovním prostoru Log Analytics

následující postup vyžaduje profil Azure CDN. než budete pokračovat, přečtěte si téma vytvoření profilu Azure CDN a koncového bodu .

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

postupujte podle těchto kroků a povolte protokolování pro Azure CDN koncový bod:

  1. Přihlaste se k webu Azure Portal.

  2. V Azure Portal přejděte na všechny prostředky, které -> profil-CDN Profile .

  3. vyberte koncový bod CDN, pro který chcete povolit diagnostické protokoly:

    vyberte CDN koncový bod.

  4. V části monitorování vyberte protokoly diagnostiky :

    Vyberte diagnostické protokoly.

Povolit protokolování pomocí Azure Storage

Pokud chcete použít účet úložiště pro ukládání protokolů, postupujte podle těchto kroků:

Poznámka

K provedení těchto kroků je nutný úč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 možnost archivovat do účtu úložiště a pak vyberte CoreAnalytics.

  3. V poli Doba uchování (dny) vyberte počet dnů uchová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 – Storage.

  5. Vyberte Uložit.

Odeslání do Log Analytics

Pokud chcete použít Log Analytics pro protokoly, postupujte podle těchto kroků:

Poznámka

K provedení těchto kroků se vyžaduje pracovní prostor Log Analytics. Další informace najdete v tématu Vytvoření pracovního prostoru Log Analytics v 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 Log Analytics pracovní prostor pro protokoly.

    Diagnostické protokoly – Log Analytics.

  4. Vyberte Uložit.

Streamovat do centra událostí

Pokud chcete použít centrum událostí pro protokoly, postupujte podle těchto kroků:

Poznámka

K provedení těchto kroků je potřeba centrum událostí. Další informace najdete v tématu: rychlý Start: vytvoření centra událostí pomocí 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ů pro odběr a centrum událostí pro protokoly.

    Diagnostické protokoly – centrum událostí.

  4. Vyberte Uložit.

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

následující příklad ukazuje, jak povolit diagnostické protokoly pomocí rutin Azure PowerShell.

Poznámka

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci 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 PowerShell:

    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
    

Povolit protokoly diagnostiky pro Log Analytics pracovní prostor

  1. Přihlaste se k Azure PowerShell:

    Connect-AzAccount 
    
  2. Pokud chcete povolit protokoly diagnostiky pro Log Analytics pracovní prostor, 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
    

Povolit diagnostické protokoly pro obor názvů centra událostí

  1. Přihlaste se k Azure PowerShell:

    Connect-AzAccount 
    
  2. Pokud chcete povolit protokoly diagnostiky pro Log Analytics pracovní prostor, 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 CDN základní analýzy, organizaci v účtu úložiště Azure a poskytuje ukázkový kód ke stažení protokolů v souboru CSV.

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

pokud si chcete nástroj stáhnout, přečtěte si téma Průzkumník služby Azure Storage. po stažení a instalaci softwaru ho nakonfigurujte tak, aby používal stejný účet služby Azure storage nakonfigurovaný jako cíl pro protokoly diagnostiky CDN.

  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 všech úrovní, dokud nenajdete soubor PT1H. JSON. Vysvětlení cesty najdete v tématu Formát cesty objektu BLOB.
  6. každý soubor blob PT1H. json představuje protokoly analýz na jednu hodinu pro konkrétní koncový bod CDN nebo jeho vlastní doménu.
  7. Schéma obsahu tohoto souboru JSON je popsané v části schéma základních protokolů analýzy.

Formát cesty objektu BLOB

Základní protokoly analýzy se generují každou hodinu a data se shromažďují a ukládají v jednom objektu blob Azure jako datová část JSON. nástroj Storage explorer interpretuje "/" jako oddělovač adresářů a zobrazuje hierarchii. Cesta k objektu blob Azure se zobrazí, jako by existovala hierarchická struktura a představuje název objektu BLOB. Název objektu blob následuje po následující konvenci pojmenování:

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
ID předplatného ID předplatného Azure ve formátu identifikátoru GUID
Název skupiny prostředků název skupiny prostředků, do které patří prostředky CDN.
Profile Name (Název profilu) název profilu CDN
Název koncového bodu název koncového bodu CDN
Year (Rok) Znázornění čtyřmístného roku, například 2017
Month (Měsíc) Vyjádření čísla měsíce se dvěma číslicemi. 01 = leden... 12 = prosinec
Den Vyjádření dne v měsíci se dvěma číslicemi
PT1H. JSON Skutečný soubor JSON, ve kterém jsou uložená data analýzy

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 stažení souborů JSON do samostatného formátu souboru odděleného čárkami, který se dá použít k vytváření grafů nebo jiných agregací.

Tady je postup, jak můžete použít nástroj:

  1. navštivte odkaz GitHub:https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Stáhněte si kód.
  3. Postupujte podle pokynů pro zkompilování a konfiguraci.
  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 ukazuje zpoždění dat protokolu pro Azure CDN standard od microsoftu, Azure CDN Standard z Akamai a Azure CDN Standard/Premium z Verizon.

Zpoždění dat protokolu Microsoft Zpoždění dat protokolu Verizon Zpoždění dat protokolu Akamai
Zpožděné o 1 hodinu. Zpožděné o 1 hodinu a může trvat až 2 hodiny, než se začne zobrazovat po dokončení šíření koncového bodu. Zpoždění za 24 hodin; Pokud byl vytvořen před více než 24 hodinami, bude možné začít se objevovat až 2 hodiny. Pokud byl nedávno vytvořen, může trvat až 25 hodin, než se protokoly začnou zobrazovat.

typy diagnostických protokolů pro CDN core analytics

Microsoft v současné době nabízí jenom základní protokoly analýzy, které obsahují metriky, které zobrazují statistiky odpovědí HTTP a statistiky odchozího přenosu, jak je vidět z CDN body pop a hran.

Podrobnosti metriky Core Analytics

V následující tabulce je uveden seznam metrik dostupných v základních protokolech analýzy pro:

  • Azure CDN Standard od Microsoftu
  • Azure CDN Standardní z Akamai
  • Azure CDN standardní/Premium z Verizon

Ne všechny metriky jsou dostupné ze všech zprostředkovatelů, i když jsou tyto rozdíly minimální. Tabulka také zobrazuje, zda je daná metrika k dispozici od poskytovatele. metriky jsou k dispozici pouze pro CDN koncové body, které obsahují provoz.

Metric Popis Microsoft Verizon Akamai
RequestCountTotal Celkový počet přístupů k žádosti v průběhu tohoto období. Yes Yes Yes
RequestCountHttpStatus2xx Počet všech požadavků, které vedly k 2xx kódu HTTP (například 200, 202). Yes Yes Yes
RequestCountHttpStatus3xx Počet všech požadavků, které vedly k 3xx kódu HTTP (například 300, 302). Yes Yes Yes
RequestCountHttpStatus4xx Počet všech požadavků, které vedly k 4xx kódu HTTP (například 400, 404). Yes Yes Yes
RequestCountHttpStatus5xx Počet všech požadavků, které vedly k 5xx kódu HTTP (například 500, 504). Yes Yes Yes
RequestCountHttpStatusOthers Počet všech ostatních kódů HTTP (mimo 2xx-5xx). Yes Yes Yes
RequestCountHttpStatus200 Počet všech požadavků, jejichž výsledkem je odpověď kódu HTTP 200. Yes No Yes
RequestCountHttpStatus206 Počet všech požadavků, jejichž výsledkem je odpověď kódu HTTP 206. Yes No Yes
RequestCountHttpStatus302 Počet všech požadavků, jejichž výsledkem je odpověď kódu HTTP 302. Yes No Yes
RequestCountHttpStatus304 Počet všech požadavků, jejichž výsledkem je odpověď kódu HTTP 304. Yes No Yes
RequestCountHttpStatus404 Počet všech požadavků, jejichž výsledkem je odpověď kódu HTTP 404. Yes No Yes
RequestCountCacheHit Počet všech požadavků, jejichž výsledkem byl úspěšný přístup do mezipaměti. Asset byl obsluhován přímo z místního klienta. Yes Yes No
RequestCountCacheMiss Počet všech požadavků, které způsobily Neúspěšné přístupy do mezipaměti. V případě neúspěšného ukládání do mezipaměti znamená, že Asset nebyl nalezen na bodu POP, který je nejblíže klientovi a byl načten ze zdroje. Yes Yes No
RequestCountCacheNoCache Počet všech požadavků na prostředek, jejichž ukládání do mezipaměti brání v důsledku konfigurace uživatele na hraničních zařízeních. Yes Yes No
RequestCountCacheUncacheable Počet všech požadavků na prostředky, které nemohou být ukládány do mezipaměti Cache-Control assetu a hlavičkou vypršení platnosti. Tento počet označuje, že by neměl být uložen do mezipaměti pro POP nebo klienta HTTP. Yes Yes No
RequestCountCacheOthers Počet všech požadavků s mezipamětí, na které se nevztahuje stav mezipaměti. No Yes No
EgressTotal Přenos odchozích dat v GB Yes Yes Yes
EgressHttpStatus2xx Přenos odchozích dat * pro odpovědi se stavovým kódem HTTP 2xx v GB. Yes Yes No
EgressHttpStatus3xx Přenos odchozích dat pro odpovědi se stavovým kódem HTTP 3xx v GB. Yes Yes No
EgressHttpStatus4xx Přenos odchozích dat pro odpovědi se stavovým kódem HTTP 4xx v GB. Yes Yes No
EgressHttpStatus5xx Přenos odchozích dat pro odpovědi se stavovým kódem HTTP 5xx v GB. Yes Yes No
EgressHttpStatusOthers Přenos odchozích dat pro odpovědi s dalšími kódy stavu HTTP v GB. Yes Yes No
EgressCacheHit přenos odchozích dat pro odpovědi, které byly doručeny přímo z mezipaměti CDN na CDN pop nebo hranách. Yes Yes No
EgressCacheMiss. Přenos odchozích dat pro odpovědi, které se nenašly na nejbližším serveru POP a ze zdrojového serveru se načetly. Yes Yes No
EgressCacheNoCache Přenos odchozích dat pro prostředky, které se neukládají do mezipaměti kvůli konfiguraci uživatele na hraničních zařízeních. Yes Yes No
EgressCacheUncacheable Přenos odchozích dat pro prostředky, u kterých se brání v ukládání do mezipaměti Cache-Control a hlavičkou vypršení platnosti assetu. Označuje, že by neměl být uložen do mezipaměti pro POP nebo klienta HTTP. Yes Yes No
EgressCacheOthers Přenosy odchozích dat pro jiné scénáře mezipaměti. No Yes No
  • přenos odchozích dat odkazuje na provoz doručený z CDN serverů POP klientovi.

Schéma základních protokolů analýzy

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 Time představuje počáteční čas hranice hodiny, pro kterou jsou statistiky hlášeny. metrika nepodporovaná poskytovatelem CDN namísto hodnoty double nebo integer má za následek hodnotu null. Tato hodnota null označuje absenci metriky a je odlišná od hodnoty 0. Jedna sada těchto metrik na doménu je nakonfigurovaná na koncovém bodu.

Příklad vlastností:

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

Další zdroje informací