Valós idejű monitorozás, metrikák és hozzáférési naplók az Azure CDN-hez

A Microsoft Azure CDN-jével az alábbi módokon figyelheti az erőforrásokat, hogy segítsen a hibák elhárításában, nyomon követésében és hibakeresésében.

  • A nyers naplók részletes információkat nyújtanak a CDN által kapott kérésekről. A nyers naplók eltérnek a tevékenységnaplóktól. A tevékenységnaplók betekintést nyújtanak az Azure-erőforrásokon végzett műveletekbe.
  • Metrikák, amelyek négy fő metrikát jelenítenek meg a CDN-en, beleértve a bájtok találati arányát, a kérések számát, a válaszméretet és a teljes késést. Emellett különböző dimenziókat is biztosít a metrikák lebontásához.
  • Riasztás, amely lehetővé teszi az ügyfél számára, hogy riasztást állítson be a főbb metrikákhoz
  • További metrikák, amelyek lehetővé teszik az ügyfelek számára, hogy az Azure Log Analytics használatával több értékmetrikát engedélyezzenek. Az Azure Log Analyticsben további metrikákhoz is biztosítunk lekérdezési mintákat.

Fontos

A NYERS HTTP-naplók funkció az Azure CDN-hez érhető el a Microsofttól.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Bejelentkezés az Azure-ba

Jelentkezzen be az Azure Portalra.

Konfiguráció – Azure Portal

Nyers naplók konfigurálása az Azure CDN-hez a Microsoft-profilból:

  1. Az Azure Portal menüjében válassza a CDN-profil> minden erőforrását<>>.

  2. Válassza a Diagnosztikai beállítások lehetőséget a Monitorozás szakaszban.

  3. Válassza a + Diagnosztikai beállítás hozzáadása elemet.

    Diagnosztikai beállítás hozzáadása CDN-profilhoz.

    Fontos

    A nyers naplók csak profilszinten érhetők el, míg az összesített HTTP-állapotkód-naplók a végpont szintjén érhetők el.

  4. A Diagnosztikai beállítások csoportban adja meg a diagnosztikai beállítás nevét a Diagnosztikai beállítások név alatt.

  5. Válassza ki az AzureCdnAccessLogot , és állítsa be a megőrzést napokban.

  6. Válassza ki a Cél adatait. A célbeállítások a következők:

    • Küldés a Log Analyticsnek
      • Válassza ki az Előfizetés és a Log Analytics munkaterületet.
    • Archiválás tárfiókba
      • Válassza ki az előfizetést és a tárfiókot.
    • Streamelés eseményközpontba
      • Válassza ki az Előfizetés, az Event Hub névterét, az Eseményközpont nevét (nem kötelező) és az Eseményközpont házirend nevét.

    A naplóbeállítások célhelyének konfigurálása.

  7. Válassza a Mentés lehetőséget.

Konfiguráció – Azure PowerShell

A Set-AzDiagnosticSetting használatával konfigurálhatja a nyers naplók diagnosztikai beállítását.

A megőrzési adatokat a -RetentionInDays beállítás határozza meg a parancsban.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Diagnosztikai naplók engedélyezése tárfiókban

  1. Jelentkezzen be az Azure PowerShellbe:

    Connect-AzAccount 
    
  2. Ha engedélyezni szeretné a diagnosztikai naplókat egy tárfiókban, adja meg ezeket a parancsokat. Cserélje le a változókat az értékekre:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $cdn = Get-AzCdnProfile -ResourceGroupName $rsg -ProfileName $cdnprofile
    
    $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Diagnosztikai naplók engedélyezése a Log Analytics-munkaterületen

  1. Jelentkezzen be az Azure PowerShellbe:

    Connect-AzAccount 
    
  2. A Diagnosztikai naplók Log Analytics-munkaterülethez való engedélyezéséhez adja meg ezeket a parancsokat. Cserélje le a változókat az értékekre:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $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 -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Diagnosztikai naplók engedélyezése eseményközpont-névtérhez

  1. Jelentkezzen be az Azure PowerShellbe:

    Connect-AzAccount 
    
  2. Ha engedélyezni szeretné a diagnosztikai naplókat egy eseményközpont névteréhez, adja meg ezeket a parancsokat. Cserélje le a változókat az értékekre:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $evthubnamespace = <your-event-hub-namespace-name>
    $diagname = <your-diagnostic-setting-name>
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $eventhub = Get-AzEventHubNamespace -ResourceGroupName $rsg -Name $eventhubname
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhub.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Nyers naplók tulajdonságai

A Microsoft Service-ből származó Azure CDN jelenleg nyers naplókat biztosít. A nyers naplók egyedi API-kéréseket biztosítanak minden bejegyzéshez a következő sémával:

Tulajdonság Leírás
BackendHostname Ha a kérést egy háttérrendszerbe továbbítja, ez a mező a háttérrendszer gazdagépnevét jelöli. Ez a mező üres, ha a kérést átirányítják vagy továbbítják egy regionális gyorsítótárba (amikor a gyorsítótárazás engedélyezve van az útválasztási szabályhoz).
CacheStatus Gyorsítótárazási forgatókönyvek esetén ez a mező határozza meg a gyorsítótár-találatot/kihagyást a POP-ben
ClientIp A kérést küldő ügyfél IP-címe. Ha x-Forwarded-For fejléc volt a kérelemben, akkor az ügyfél IP-címe ugyanabból lesz kiválasztva.
ClientPort A kérést küldő ügyfél IP-portja.
HttpMethod A kérés által használt HTTP-metódus.
HttpStatusCode A proxytól visszaadott HTTP-állapotkód. Ha a forrás időtúllépésére irányuló kérés értéke 0, akkor a HttpStatusCode értéke 0.
HttpStatusDetails A kérés eredményként kapott állapota. Ennek a sztringértéknek a jelentése egy állapothivatkozási táblában található.
HttpVersion A kérés vagy kapcsolat típusa.
POP Annak a peremhálózatnak a rövid neve, ahol a kérelem leszállt.
RequestBytes A HTTP-kérésüzenet mérete bájtban, beleértve a kérelem fejlécét és a kérelem törzsét.
RequestUri A kapott kérelem URI-ja.
ResponseBytes Válaszként a háttérkiszolgáló által küldött bájtok.
RoutingRuleName Annak az útválasztási szabálynak a neve, amelyet a kérés megfelelt.
RulesEngineMatchNames A kérelemben szereplő szabályok nevei.
SecurityProtocol A kérés által használt TLS/SSL protokoll verziója, vagy null, ha nincs titkosítás.
SentToOriginShield
(elavult) * Lásd az elavulással kapcsolatos megjegyzéseket a következő szakaszban.
Ha igaz, az azt jelenti, hogy a kérés a forráspajzs gyorsítótárából lett megválaszolva a peremhálózati pop helyett. A forráspajzs egy szülőgyorsítótár, amellyel javítható a gyorsítótár-találatok aránya.
isReceivedFromClient Ha igaz, az azt jelenti, hogy a kérés az ügyféltől érkezett. Ha hamis, a kérés hiányzik a peremhálózatról (gyermek POP), és a forráspajzsból (szülő POP) válaszol.
TimeTaken Az Azure Front Doorba irányuló kérések első bájtjától a válasz utolsó bájtjához eltelt idő másodpercben.
TrackingReference Az Azure Front Door által kiszolgált kérést azonosító egyedi hivatkozási sztring X-Azure-Ref fejlécként is elküldve az ügyfélnek. Egy adott kérés hozzáférési naplóiban szereplő adatok kereséséhez szükséges.
Useragent Az ügyfél által használt böngészőtípus.
ErrorInfo Ez a mező a hibaelhárítási terület szűkítéséhez megadott hibatípust tartalmazza.
Lehetséges értékek:
NoError: Azt jelzi, hogy nem található hiba.
CertificateError: Általános SSL-tanúsítványhiba.
CertificateNameCheckFailed: Az SSL-tanúsítvány gazdagépneve érvénytelen vagy nem egyezik.
ClientDisconnected: Kéréshiba az ügyfél hálózati kapcsolata miatt.
UnspecifiedClientError: Általános ügyfélhiba.
InvalidRequest: Érvénytelen kérelem. Ez helytelen fejléc, törzs és URL-cím miatt fordulhat elő.
DNSFailure: DNS-hiba.
DNSNameNotResolved: A kiszolgáló neve vagy címe nem oldható fel.
Origin Csatlakozás ionAborted: A kapcsolat a forrással hirtelen leállt.
Origin Csatlakozás ionError: Általános forráskapcsolati hiba.
Origin Csatlakozás ionRefused: A kapcsolat a forrással nem hozható létre.
OriginError: Általános forráshiba.
OriginInvalidResponse: Az Origin érvénytelen vagy ismeretlen választ adott vissza.
OriginTimeout: A forráskérés időtúllépési időtartama lejárt.
ResponseHeaderTooBig: A forrás túl nagy válaszfejlécet adott vissza.
RestrictedIP: A kérelem korlátozott IP-cím miatt le lett tiltva.
SSLHandshakeError: Az SSL kézremegés hibája miatt nem lehet kapcsolatot létesíteni a forrással.
UnspecifiedError: Olyan hiba történt, amely nem fért el a táblázat egyik hibájában sem.
TimeToFirstByte Az az idő ezredmásodpercben, amikor a Microsoft CDN megkapja a kérést arra az időpontra, amikor az első bájt el lesz küldve az ügyfélnek. Az idő mérése csak a Microsoft oldaláról történik. Az ügyféloldali adatok nincsenek mérve.
Eredmény SSLMismatchedSNI Egy olyan állapotkód, amely egy sikeres kérést jelez a kiszolgálónév-jelzés (SNI) és a gazdagép fejléce közötti eltérést jelző figyelmeztetéssel. Ez az állapotkód a tartomány előtérbe helyezését jelenti, amely sérti az Azure Front Door szolgáltatási feltételeit. A kérelmeket SSLMismatchedSNI 2024. január 22. után elutasítjuk.
SNI Ez a mező a TLS/SSL kézfogás során küldött kiszolgálónév-jelzést (SNI) adja meg. A pontos SNI-érték azonosítására használható állapotkód esetén SSLMismatchedSNI . Emellett összehasonlítható a mező gazdagépértékével requestUri a nem egyező probléma észleléséhez és megoldásához.

Feljegyzés

A naplók egy lekérdezés futtatásával tekinthetők meg a Log Analytics-profilban. Egy minta lekérdezés a következőképpen nézne ki: AzureDiagnostics | where Category == "AzureCdnAccessLog"

A forrásvédettség elavulása

Az isSentToOriginShield nyers naplótulajdonság elavult, és egy új mező váltja fel: ReceivedFromClient. Ha már használja az elavult mezőt, használja az új mezőt.

A nyers naplók közé tartoznak a CDN-élből (gyermek POP) és a forráspajzsból létrehozott naplók. Az origin shield olyan szülőcsomópontokra utal, amelyek stratégiailag az egész világon találhatók. Ezek a csomópontok kommunikálnak a forráskiszolgálókkal, és csökkentik a forgalom terhelését a forráson.

Minden forrásvédett kéréshez két naplóbejegyzés tartozhat:

  • Egy peremcsomópontokhoz
  • Egy a forrás pajzsához.

Ha meg szeretné különböztetni a kimenő forgalmat vagy a válaszokat a peremcsomópontoktól és a forráspajzstól, az isReceivedFromClient mezővel lekérheti a megfelelő adatokat.

Ha az érték hamis, akkor az azt jelenti, hogy a kérés a forráspajzsról a peremcsomópontokra válaszol. Ez a megközelítés hatékonyan hasonlítja össze a nyers naplókat a számlázási adatokkal. A forráspajzsról a peremcsomópontokra irányuló kimenő forgalomért nem merülnek fel díjak. A peremcsomópontokról az ügyfelekre irányuló kimenő forgalomért díjak merülnek fel.

Kusto-lekérdezési minta a Log Analytics forráspajzsán létrehozott naplók kizárásához.

AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient == true

Fontos

A HTTP Nyers naplók funkció automatikusan elérhető a 2020. február 25. után létrehozott vagy frissített profilokhoz. A korábban létrehozott CDN-profilok esetében a naplózás beállítása után frissíteni kell a CDN-végpontot. Például a CDN-végpontok alatt navigálhat a geoszűréshez, és letilthat minden olyan országot/régiót, amely nem releváns a számítási feladatához, és mentést végezhet.

Mérőszámok

A Microsoft Azure CDN-je integrálva van az Azure Monitorral, és négy CDN-metrikát tesz közzé a problémák nyomon követéséhez, hibaelhárításához és hibakereséséhez.

A metrikák diagramokban jelennek meg, és a PowerShell, a CLI és az API segítségével érhetők el. A CDN-metrikák ingyenesek.

Az Azure CDN a Microsofttól méri és 60 másodperces időközönként küldi el a metrikákat. A metrikák akár 3 percig is eltarthatnak, hogy megjelenjenek a portálon.

További információ: Azure Monitor-metrikák.

Az Azure CDN által a Microsofttól támogatott metrikák

Mérőszámok Leírás Dimenziók
Bájtok találati aránya* A CDN-gyorsítótárból érkező kimenő forgalom százalékos aránya a teljes kimenő forgalom alapján számítva. Végpont
RequestCount A CDN által kiszolgált ügyfélkérések száma. Végpont
ügyfélországa.
Ügyfélrégió.
HTTP-állapot.
HTTP-állapotcsoport.
ResponseSize A CDN-peremhálózatról az ügyfeleknek válaszként küldött bájtok száma. Végpont
ügyfélországa.
Ügyfélrégió.
HTTP-állapot.
HTTP-állapotcsoport.
TotalLatency A CDN által fogadott ügyfélkérés teljes időtartama, amíg az utolsó válasz bájtja a CDN-ből az ügyfélnek küld. Végpont
ügyfélországa.
Ügyfélrégió.
HTTP-állapot.
HTTP-állapotcsoport.

Feljegyzés

Ha a forrás időtúllépésére vonatkozó kérés, a HttpStatusCode értéke 0.

*Bájtok találataránya = (kimenő forgalom a peremhálózatról – kimenő forgalom a forrásból)/kimenő forgalom a peremhálózatról

A bájtok találatarányának kiszámításában kizárt forgatókönyvek:

  • Explicit módon nem konfigurálhat gyorsítótárat a szabálymotoron vagy a lekérdezési sztring gyorsítótárazási viselkedésén keresztül.
  • Explicit módon konfigurálja a gyorsítótár-vezérlési irányelvet tároló nélküli vagy privát gyorsítótárral.

Metrikák konfigurálása

  1. Az Azure Portal menüjében válassza a CDN-profil> minden erőforrását<>>.

  2. A Figyelés csoportban válassza a Metrikák lehetőséget:

    A CDN-profil metrikái.

  3. Válassza a Metrika hozzáadása lehetőséget, válassza ki a hozzáadni kívánt metrikát:

    Adjon hozzá és válassza ki a CDN-profil metrikáit.

  4. Szűrő hozzáadásához válassza a Szűrő hozzáadása lehetőséget:

    Szűrő alkalmazása a metrikára.

  5. Válassza a Felosztás alkalmazása lehetőséget a trend különböző dimenziók szerinti megjelenítéséhez:

    Felosztás alkalmazása a metrikára.

  6. Új diagram hozzáadásához válassza az Új diagram lehetőséget:

    Új diagram hozzáadása a metrikanézethez.

Riasztások

A Figyelési>>riasztások lehetőség kiválasztásával riasztásokat állíthat be a Microsoft CDN-en.

Válassza az Új riasztási szabály lehetőséget a Metrikák szakaszban felsorolt metrikákhoz:

A CDN-végpont riasztásainak konfigurálása.

A riasztás díja az Azure Monitor alapján történik. A riasztásokkal kapcsolatos további információkért tekintse meg az Azure Monitor-riasztásokat.

További metrikák

További metrikákat engedélyezhet az Azure Log Analytics és a nyers naplók használatával további költségekért.

  1. Az előző szakaszban leírt lépéseket követve engedélyezheti a diagnosztika számára, hogy nyers naplót küldjön a Log Analyticsnek.

  2. Válassza ki a létrehozott Log Analytics-munkaterületet:

    Képernyőkép a Log Analytics-munkaterület menüjéről.

  3. Válassza az Általános naplók lehetőséget a Log Analytics-munkaterületen. Ezután válassza az Első lépések lehetőséget:

    Képernyőkép a Log Analytics erőforrás-munkaterületéről.

  4. Válassza ki a CDN-profilokat. Válasszon ki egy példa lekérdezést a FUTTATÁSHOZ, vagy zárja be a mintaképernyőt egy egyéni lekérdezés megadásához:

    Képernyőkép a példa lekérdezési képernyőről.

    A lekérdezés végrehajtásának képernyőképe.

  5. Ha diagram alapján szeretné megtekinteni az adatokat, válassza a Diagram lehetőséget. Válassza a Rögzítés az irányítópulton lehetőséget a diagram Azure-irányítópulton való rögzítéséhez:

    Képernyőkép a kitűződiagramról az irányítópulton.

Következő lépések

Ebben a cikkben engedélyezte a nyers HTTP-naplókat a Microsoft CDN szolgáltatáshoz.

További információk az Azure CDN-ről és a cikkben említett egyéb Azure-szolgáltatásokról: