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:
Az Azure Portal menüjében válassza a CDN-profil> minden erőforrását<>>.
Válassza a Diagnosztikai beállítások lehetőséget a Monitorozás szakaszban.
Válassza a + Diagnosztikai beállítás hozzáadása elemet.
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.
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.
Válassza ki az AzureCdnAccessLogot , és állítsa be a megőrzést napokban.
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.
- Küldés a Log Analyticsnek
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
Jelentkezzen be az Azure PowerShellbe:
Connect-AzAccount
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
Jelentkezzen be az Azure PowerShellbe:
Connect-AzAccount
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
Jelentkezzen be az Azure PowerShellbe:
Connect-AzAccount
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
Az Azure Portal menüjében válassza a CDN-profil> minden erőforrását<>>.
A Figyelés csoportban válassza a Metrikák lehetőséget:
Válassza a Metrika hozzáadása lehetőséget, válassza ki a hozzáadni kívánt metrikát:
Szűrő hozzáadásához válassza a Szűrő hozzáadása lehetőséget:
Válassza a Felosztás alkalmazása lehetőséget a trend különböző dimenziók szerinti megjelenítéséhez:
Új diagram hozzáadásához válassza az Új diagram lehetőséget:
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 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.
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.
Válassza ki a létrehozott Log Analytics-munkaterületet:
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:
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:
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ö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:
A Log Analytics konfigurálása az Azure Monitorban.