分享方式:


監視 Azure Front Door 中的計量和記錄

Azure Front Door 提供數種功能,協助您監視應用程式、追蹤要求,以及針對 Front Door 設定進行偵錯。

記錄和計量會由 Azure 監視器儲存和管理。

報告可讓您深入了解流量如何流經 Azure Front Door、Web 應用程式防火牆 (WAF),然後進入您的應用程式。

計量

Azure Front Door 會測量其計量,並以 60 秒間隔傳送計量。 計量最多可能需要 3 分鐘的時間才能由 Azure 監視器處理完成,而且在處理完成之前可能不會顯示計量。 計量也可以顯示在圖表或方格中,且可透過 Azure 入口網站、Azure PowerShell、Azure CLI 和 Azure 監視器 API 來存取。 如需詳細資訊,請參閱 Azure 監視器計量

下表所列的計量會記錄下來並免費儲存一段有限的時間。 若支付額外費用,您可以儲存較長的時間。

計量 描述 維度 建議彙總
位元組命中率 從 Azure Front Door 快取提供的流量百分比,根據總輸出流量計算所得。 如果大部分流量轉送至原始伺服器,而不是從快取提供,則位元組命中率會很低。

位元組命中率 = (從邊緣的輸出 - 從原始伺服器的輸出)/從邊緣的輸出。

從位元組命中率計算中排除的案例:
  • 您可以透過規則引擎或查詢字串快取行為,明確停用快取。
  • 您可以使用 no-storeprivate 快取指示詞,明確設定 Cache-Control 指示詞。
端點 平均值、最小值
健康情況百分比 從 Azure Front Door 傳送到原始伺服器的成功健全狀態探查百分比。 來源、來源群組 Avg
來源延遲 Azure Front Door 會計算從要求傳送至原始伺服器,到接收原始伺服器發出的最後一個回應位元組為止的時間。 端點、來源 平均值、最大值
來源要求計數 從 Azure Front Door 傳送至原始伺服器的要求數。 端點、原始伺服器、HTTP 狀態、HTTP 狀態群組 平均值、總和
4XX 的百分比 回應狀態碼為 4XX 的所有用戶端要求百分比。 端點、用戶端國家/地區、用戶端區域 平均值、最大值
5XX 的百分比 回應狀態碼為 5XX 的所有用戶端要求百分比。 端點、用戶端國家/地區、用戶端區域 平均值、最大值
要求計數 透過 Azure Front Door 提供的用戶端要求數目,包括完全從快取提供的要求。 端點、用戶端國家/地區、用戶端區域、HTTP 狀態、HTTP 狀態群組 平均值、總和
要求大小 從用戶端傳送到 Azure Front Door 的要求位元組數。 端點、用戶端國家/地區、用戶端區域、HTTP 狀態、HTTP 狀態群組 平均值、最大值
回應大小 從 Front Door 傳送到用戶端之回應的位元組數。 端點、用戶端國家/地區、用戶端區域、HTTP 狀態、HTTP 狀態群組 平均值、最大值
延遲總計 Azure Front Door 會接收用戶端要求,並將最後一個回應位元組傳送給用戶端。 這是花費的總時間。 端點、用戶端國家/地區、用戶端區域、HTTP 狀態、HTTP 狀態群組 平均值、最大值
Web 應用程式防火牆要求計數 Azure Front Door Web 應用程式防火牆處理的要求數。 動作、原則名稱、規則名稱 平均值、總和

注意

如果傳送到原始伺服器的要求逾時,則 HTTP 狀態維度的值是 0

記錄

記錄會追蹤透過 Azure Front Door 傳送的所有要求。 系統需要幾分鐘的時間來處理和儲存記錄。

有多個 Front Door 記錄,您可以針對不同的用途使用:

  • 存取記錄可用來識別緩慢的要求、判斷錯誤率,以及了解 Front Door 快取行為在您的解決方案中如何運作。
  • Web 應用程式防火牆 (WAF) 記錄可用來偵測潛在的攻擊,以及誤判為真偵測,這些偵測可能表示 WAF 封鎖了合法要求。 如需 WAF 記錄的詳細資訊,請參閱 Azure Web 應用程式防火牆監視和記錄
  • 健全狀態探查記錄可用來識別狀況不良的原始伺服器,或未回應某些 Front Door 地理位置分散 PoP 所發出要求的原始伺服器。
  • 活動記錄可讓您查看在 Azure 資源上執行的作業,例如 Azure Front Door 設定檔的設定變更。

存取記錄和 WAF 記錄包含追蹤參考,此參考也會在要求中利用 X-Azure-Ref 標頭傳播至原始伺服器和用戶端回應。 您可以使用追蹤參考來取得應用程式要求處理的端對端檢視。

預設不啟用存取記錄、健全狀態探查記錄和 WAF 記錄。 若要啟用和儲存診斷記錄,請參閱設定 Azure Front Door 記錄。 預設會收集活動記錄,您可在 Azure 入口網站中檢視它們。

存取記錄檔

每個要求的相關資訊都會記載到存取記錄中。 每個存取記錄項目都包含下表所列的資訊。

屬性 說明
TrackingReference 這是唯一的參考字串,可識別由 Azure Front Door 提供的要求。 追蹤參考會使用 X-Azure-Ref 標頭傳送至用戶端和原始伺服器。 在存取或 WAF 記錄中搜尋特定要求時,請使用追蹤參考。
Time Azure Front Door 邊緣將所要求的內容傳遞至用戶端的日期和時間 (以 UTC 表示)。
HttpMethod 要求所使用的 HTTP 方法:DELETE、GET、HEAD、OPTIONS、PATCH、POST 或 PUT。
HttpVersion 用戶端在要求中指定的 HTTP 版本。
RequestUri 所接收要求的 URI。 此欄位包含完整的配置、連接埠、網域、路徑和查詢字串。
HostName 來自用戶端之要求中的主機名稱。 如果啟用自訂網域並具有萬用字元網域 (*.contoso.com),HostName 記錄欄位的值為 subdomain-from-client-request.contoso.com。 如果使用 Azure Front Door 網域 (contoso-123.z01.azurefd.net),則 HostName 記錄欄位的值是 contoso-123.z01.azurefd.net
RequestBytes HTTP 要求訊息的大小 (以位元組為單位),包括要求標頭和要求本文。
ResponseBytes HTTP 回應訊息的大小 (以位元組為單位)。
UserAgent 用戶端使用的使用者代理程式。 一般來說,使用者代理程式會識別瀏覽器類型。
ClientIp 發出原始要求用戶端的 IP 位址。 如果要求中有 X-Forwarded-For 標頭,則會從標頭中取得用戶端 IP 位址。
SocketIp Azure Front Door 邊緣的直接連線 IP 位址。 如果用戶端使用 HTTP Proxy 或負載平衡器傳送要求,則 SocketIp 的值就是 Proxy 或負載平衡器的 IP 位址。
timeTaken 從 Azure Front Door 邊緣收到用戶端要求,到 Azure Front Door 將回應的最後一個位元組傳送到用戶端的時間長度 (以秒為單位)。 此欄位不會計入網路延遲和 TCP 緩衝。
RequestProtocol 用戶端在要求中指定的通訊協定。 可能的值包括:HTTPHTTPS
SecurityProtocol 要求所使用的 TLS/SSL 通訊協定版本,或如果要求沒有使用加密,則為 null。 可能的值包括:SSLv3TLSv1TLSv1.1TLSv1.2
SecurityCipher 當要求通訊協定的值是 HTTPS 時,此欄位會指出用戶端和 Azure Front Door 交涉的 TLS/SSL 加密。
端點 Azure Front Door 端點的網域名稱,例如 contoso-123.z01.azurefd.net
HttpStatusCode 從 Azure Front Door 傳回的 HTTP 狀態碼。 如果傳送到原始伺服器的要求逾時,則 HttpStatusCode 欄位的值是 0。 如果用戶端關閉連線,則 HttpStatusCode 欄位的值是 499
POP 回應使用者要求的 Azure Front Door 邊緣存在點 (PoP)。
快取狀態 Azure Front Door 快取如何處理要求。 可能的值包括:
  • HITREMOTE_HIT:HTTP 要求是從 Azure Front Door 快取提供。
  • MISS:HTTP 要求是從原始伺服器提供。
  • PARTIAL_HIT:部分位元組是從 Front Door 邊緣 PoP 快取提供,而其他位元組則是從原始伺服器提供。 此狀態表示對象區塊化案例。
  • CACHE_NOCONFIG:轉送要求但不含快取設定,包括略過案例。
  • PRIVATE_NOSTORE:客戶未在快取設定中設定快取。
  • N/A:已簽署的 URL 或規則引擎拒絕要求。
MatchedRulesSetName 已處理的規則引擎規則名稱。
RouteName 要求符合的路由名稱。
ClientPort 發出要求的用戶端的 IP 連接埠。
Referrer 產生要求之網站的 URL。
TimetoFirstByte 從 Azure Front Door 邊緣收到要求,到第一個位元組傳送到用戶端的時間長度 (以秒為單位),依照 Azure Front Door 的測量。 此屬性不會測量用戶端資料。
ErrorInfo 如果在處理要求期間發生錯誤,此欄位會提供錯誤的詳細資訊。 可能的值包括:
  • NoError:表示找不到錯誤。
  • CertificateError:一般 SSL 憑證錯誤。
  • CertificateNameCheckFailed:SSL 憑證中的主機名稱無效或不符合所要求的 URL。
  • ClientDisconnected:要求因用戶端網路連線問題而失敗。
  • ClientGeoBlocked:用戶端因 IP 位址的地理位置而遭到封鎖。
  • UnspecifiedClientError:一般用戶端錯誤。
  • InvalidRequest:要求無效。 此回應表示標頭、本文或 URL 的格式錯誤。
  • DNSFailure:DNS 解析期間發生失敗。
  • DNSTimeout:解析原始伺服器 IP 位址的 DNS 查詢逾時。
  • DNSNameNotResolved:無法解析伺服器名稱或位址。
  • OriginConnectionAborted:與原始伺服器的連線突然中斷。
  • OriginConnectionError:一般原始伺服器連線錯誤。
  • OriginConnectionRefused:無法建立與原始伺服器的連線。
  • OriginError:一般原始伺服器錯誤。
  • ResponseHeaderTooBig:原始伺服器傳回的回應標頭太大。
  • OriginInvalidResponse:原始伺服器傳回無效或無法辨識的回應。
  • OriginTimeout:原始伺服器要求的逾時期間已過期。
  • ResponseHeaderTooBig:原始伺服器傳回的回應標頭太大。
  • RestrictedIP:要求因為受限制的 IP 位址而遭到封鎖。
  • SSLHandshakeError:由於 SSL 交握失敗,Azure Front Door 無法與原始伺服器建立連線。
  • SSLInvalidRootCA:根憑證授權單位的憑證無效。
  • SSLInvalidCipher:建立的 HTTPS 連線使用的加密無效。
  • OriginConnectionAborted:與原始伺服器的連線突然中斷。
  • OriginConnectionRefused:無法建立與原始伺服器的連線。
  • UnspecifiedError:發生不符合資料表中任何錯誤的錯誤。
OriginURL 發出要求的原始伺服器完整 URL。 URL 包含配置、主機標頭、連接埠、路徑和查詢字串。
URL 重寫:如果要求 URL 遭到規則引擎重寫,則路徑會參考重寫的路徑。
邊緣 PoP 上的快取:如果要求是從 Azure Front Door 快取提供,則原始伺服器為 N/A
大型要求:如果要求的內容很大,且有多個區塊化要求會回到原始伺服器,則此欄位會對應至原始伺服器的第一個要求。 如需詳細資訊,請參閱物件區塊化
OriginIP 提供要求的原始伺服器 IP 位址。
邊緣 PoP 上的快取:如果要求是從 Azure Front Door 快取提供,則原始伺服器為 N/A
大型要求:如果要求的內容很大,且有多個區塊化要求會回到原始伺服器,則此欄位會對應至原始伺服器的第一個要求。 如需詳細資訊,請參閱物件區塊化
OriginName 原始伺服器的完整主機名稱 (DNS 名稱)。
邊緣 PoP 上的快取:如果要求是從 Azure Front Door 快取提供,則原始伺服器為 N/A
大型要求:如果要求的內容很大,且有多個區塊化要求會回到原始伺服器,則此欄位會對應至原始伺服器的第一個要求。 如需詳細資訊,請參閱物件區塊化
結果 SSLMismatchedSNI 是狀態碼,表示要求成功,且發生 SNI 與主機標頭之間不相符警告。 此狀態碼表示網域前端,這是一種違反 Azure Front Door 服務條款的技術。 2024 年 1 月 22 日之後,含有 SSLMismatchedSNI 的要求將會遭到拒絕。
Sni 此欄位指定在 TLS/SSL 交握期間傳送的伺服器名稱指示 (SNI)。 如果有 SSLMismatchedSNI 狀態碼,則可用來識別確切的 SNI 值。 此外,也可以與 requestUri 欄位中的主機值進行比較,以偵測並解決不相符問題。

健康狀態探查記錄

Azure Front Door 會記錄每個失敗的健全狀態探查要求。 這些記錄可協助您診斷原始伺服器的問題。 記錄提供的資訊可讓您用來調查失敗原因,然後讓原始伺服器回到健全狀態。

此記錄的適用案例包括:

  • 您發現 Azure Front Door 流量已傳送至原始伺服器子集。 例如,您可能注意到四個原始伺服器中只有三個接收流量。 您想知道原始伺服器是否正在接收和回應健全狀態探查,以便知道原始伺服器是否良好。
  • 您發現原始伺服器的健康情況百分比計量低於預期。 您想要知道哪些原始伺服器記錄為狀況不良,以及健全狀態探查失敗的原因。

每筆健全狀態探查記錄項目都有下列結構描述:

屬性 說明
HealthProbeId 用來識別健全狀態探查要求的唯一識別碼。
Time 傳送健全狀態探查的日期和時間 (以 UTC 表示)。
HttpMethod 健全狀態探查要求所使用的 HTTP 方法。 值包括 GETHEAD,以健全狀態探查設定為基礎。
結果 健全狀態探查的狀態。 此值為成功或探查收到的錯誤描述。
HttpStatusCode 從原始伺服器傳回的 HTTP 狀態碼。
ProbeURL 探查要求傳送目的地的完整目標 URL。 URL 包含配置、主機標頭、路徑和查詢字串。
OriginName 健全狀態探查傳送的目的地原始伺服器名稱。 如果原始伺服器設定為使用 FDQN,則此欄位可協助您尋找感興趣的原始伺服器。
POP 傳送探查要求的邊緣 PoP。
來源 IP 健康情況探查傳送原始伺服器的IP位址。
TotalLatency 從 Azure Front Door Edge 將健康情況探查要求傳送至原始伺服器的時間,到原始伺服器傳送最後一個回應給 Azure Front Door 的時間。
ConnectionLatency 設定 TCP 連線以傳送 HTTP 探查要求到原始伺服器所花費的時間。
DNSResolution 延遲 DNS 解析所花費的時間。 此欄位只有在原始伺服器設定為 FDQN 而不是 IP 位址時,才會有值。 如果原始伺服器設定為使用IP位址,則值為 N/A

下列範例 JSON 程式碼片段顯示失敗健全狀態探查要求的健全狀態探查記錄項目。

{
  "records": [
    {
      "time": "2021-02-02T07:15:37.3640748Z",
      "resourceId": "/SUBSCRIPTIONS/mySubscriptionID/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.CDN/PROFILES/MyProfile",
      "category": "FrontDoorHealthProbeLog",
      "operationName": "Microsoft.Cdn/Profiles/FrontDoorHealthProbeLog/Write",
      "properties": {
        "healthProbeId": "9642AEA07BA64675A0A7AD214ACF746E",
        "POP": "MAA",
        "httpVerb": "HEAD",
        "result": "OriginError",
        "httpStatusCode": "400",
        "probeURL": "http://www.example.com:80/",
        "originName": "www.example.com",
        "originIP": "PublicI:Port",
        "totalLatencyMilliseconds": "141",
        "connectionLatencyMilliseconds": "68",
        "DNSLatencyMicroseconds": "1814"
      }
    }
  ]
}

Web 應用程式防火牆記錄

如需 Front Door Web 應用程式防火牆 (WAF) 記錄的詳細資訊,請參閱 Azure Web 應用程式防火牆監視和記錄

活動記錄

活動記錄提供 Azure Front Door 資源上的管理作業相關資訊。 記錄包含在 Azure Front Door 資源上執行的每個寫入作業相關詳細資訊,包括作業發生的時間、執行者和作業內容。

注意

活動記錄不包含讀取作業。 也未必包含您使用 Azure 入口網站或傳統管理 API 執行的所有作業。

如需詳細資訊,請參閱檢視您的活動記錄

下一步

若要啟用和儲存診斷記錄,請參閱設定 Azure Front Door 記錄

重要

Azure Front Door (傳統) 將於 2027 年 3 月 31 日遭到淘汰。 為了避免任何服務中斷,請務必在 2027 年 3 月之前,將 Azure Front Door (傳統) 設定檔移轉至 Azure Front Door 標準或進階層。 如需詳細資訊,請參閱 Azure Front Door (傳統版) 淘汰

使用 Azure Front Door (傳統) 時,您可以透過下列方式監視資源:

  • 計量。 Azure Front Door 目前有八個計量可檢視效能計數器。
  • 記錄。 活動和診斷記錄能夠允許儲存效能、存取和其他資料,或從資源取用記錄以便進行監視。

計量

計量是某些 Azure 資源的功能,可讓您在入口網站中檢視效能計數器。 以下是可用的 Front Door 計量:

計量 計量顯示名稱 單位 維度 描述
RequestCount 要求計數 計數 HttpStatus
HttpStatusGroup
ClientRegion
ClientCountry
由 Front Door 提供服務的用戶端要求數。
RequestSize 要求大小 Bytes HttpStatus
HttpStatusGroup
ClientRegion
ClientCountry
從用戶端傳送到 Front Door 之要求的位元組數。
ResponseSize 回應大小 Bytes HttpStatus
HttpStatusGroup
ClientRegion
ClientCountry
從 Front Door 傳送到用戶端之回應的位元組數。
TotalLatency 延遲總計 毫秒 HttpStatus
HttpStatusGroup
ClientRegion
ClientCountry
從 Front Door 接收到用戶端要求,直到從 AFD 傳送給用戶端的最後一個回應位元組為止的總時間。
BackendRequestCount 後端要求計數 計數 HttpStatus
HttpStatusGroup
Backend
從 Front Door 傳送至後端的要求數。
BackendRequestLatency 後端要求延遲 毫秒 後端 從 Front Door 傳送要求到後端一直到 Front Door 從後端接收最後回應位元組所經歷的時間。
BackendHealthPercentage 後端健康情況百分比 Percent Backend
BackendPool
從 Front Door 到後端的健康情況探查成功百分比。
WebApplicationFirewallRequestCount Web 應用程式防火牆要求計數 計數 PolicyName
RuleName
Action
Front Door 應用程式層安全性處理的用戶端要求數。

活動記錄

活動記錄提供在 Azure Front Door (傳統) 設定檔上完成的作業的相關資訊。 它們也會判斷針對 Azure Front Door (傳統) 設定檔完成的任何寫入作業 (放置、張貼或刪除) 的內容、對象和時間。

注意

如果向原始伺服器發出的要求逾時,HttpStatusCode 的值會設定為 0

存取您的 Front Door 中的活動記錄,或 Azure 監視器中 Azure 資源的所有記錄。 檢視活動記錄:

  1. 選取您的 Front Door 執行個體。

  2. 選取 [活動記錄]

    活動記錄檔

  3. 選擇篩選範圍,然後選取 [套用]

注意

活動記錄不包含您使用 Azure 入口網站或原始管理 API 執行的任何 GET 作業或作業。

診斷記錄

診斷記錄提供對於稽核和疑難排解來說很重要的作業與錯誤的豐富資訊。 診斷記錄與活動記錄不同。

活動記錄提供在 Azure 資源上所完成作業的深入解析。 診斷記錄提供您的資源所完成作業的深入解析。 如需詳細資訊,請參閱 Azure 監視器診斷記錄

診斷記錄

若要設定 Azure Front Door (傳統) 的診斷記錄:

  1. 選取您的 Azure Front Door (傳統) 設定檔。

  2. 選擇 [診斷設定]

  3. 選取 [開啟診斷]。 將診斷記錄連同計量封存至儲存體帳戶、將其串流至事件中樞,或將其傳送至 Azure 監視器記錄。

Front Door 目前提供診斷記錄。 診斷記錄會提供個別的 API 要求,其中每個項目都具有下列結構描述:

屬性 說明
BackendHostname 如果將要求轉送至後端,則此欄位代表後端的主機名稱。 如果將要求重新導向或轉送至區域快取 (針對路由規則啟用快取時),此欄位會是空白。
CacheStatus 針對快取案例,此欄位會定義 POP 的快取命中/遺漏
ClientIp 發出要求之用戶端的 IP 位址。 如果要求中有 X-Forwarded-For 標頭,則會從相同要求中選擇該用戶端 IP。
ClientPort 發出要求的用戶端的 IP 連接埠。
HttpMethod 要求使用的 HTTP 方法。
HttpStatusCode 從 Proxy 傳回的 HTTP 狀態碼。 如果向原始伺服器發出的要求逾時,HttpStatusCode 的值會設定為 0
HttpStatusDetails 對要求產生的狀態。 此字串值的意義可以在狀態參考資料表中找到。
HttpVersion 要求或連線的類型。
POP 要求登陸所在邊緣的簡短名稱。
RequestBytes HTTP 要求訊息的大小 (以位元組為單位),包括要求標頭和要求本文。
RequestUri 接收之要求的 URI。
ResponseBytes 後端伺服器以回應形式傳回的位元組。
RoutingRuleName 要求符合的路由規則名稱。
RulesEngineMatchNames 要求符合的規則名稱。
SecurityProtocol 要求所使用的 TLS/SSL 通訊協定版本,如果沒有加密則為 null。
SentToOriginShield
(已取代) * 請參閱下一節有關取代的注意事項。
若為 true,則表示是從來源保護盾快取回答要求,而非邊緣 Pop。 原始保護盾是用來改善快取點擊率的父代快取。
isReceivedFromClient 如果為 true,表示要求來自用戶端。 如果為 false,則要求在邊緣 (子 POP) 中遺漏,並從來源保護盾 (父 POP) 回應。
TimeTaken 從要求的第一個位元組進入 Front Door 到傳出回應的最後一個位元組的時間長度 (以秒為單位)。
TrackingReference 這項唯一的參考字串可識別 Front Door 所提供的要求,也會以 X-Azure Ref 標頭的形式傳送給用戶端, 這是在特定要求的存取記錄中搜尋詳細資料時的必要項目。
UserAgent 用戶端使用的瀏覽器類型。
ErrorInfo 此欄位包含特定類型的錯誤,以便進一步進行疑難排解。
可能的值包括:
NoError:指出找不到錯誤。
CertificateError:一般 SSL 憑證錯誤。
CertificateNameCheckFailed:SSL 憑證中的主機名稱無效或不符合。
ClientDisconnected:因為用戶端網路連線而要求失敗。
UnspecifiedClientError:一般用戶端錯誤。
InvalidRequest:要求無效。 可能是因為格式錯誤的標頭、本文和 URL 而發生。
DNSFailure:DNS 失敗。
DNSNameNotResolved:無法解析伺服器名稱或位址。
OriginConnectionAborted:與來源的連線突然停止。
OriginConnectionError:一般來源連線錯誤。
OriginConnectionRefused:無法建立與來源的連線。
OriginError:一般來源錯誤。
OriginInvalidResponse:原始伺服器傳回無效或無法辨識的回應。
OriginTimeout:來源要求的逾時期間已過期。
ResponseHeaderTooBig:來源傳回的回應標頭太大。
RestrictedIP:要求因為受限制的 IP 而遭到封鎖。
SSLHandshakeError:無法建立與來源的連線,因為 SSL 交握失敗。
UnspecifiedError:發生不符合資料表中任何錯誤的錯誤。
SSLMismatchedSNI:要求無效,因為 HTTP 訊息標頭不符合 SSL/TLS 連線設定期間 TLS SNI 延伸模組中顯示的值。
結果 SSLMismatchedSNI 是狀態碼,表示要求成功,且發生 SNI 與主機標頭之間不相符警告。 此狀態碼表示網域前端,這是一種違反 Azure Front Door 服務條款的技術。 2024 年 1 月 22 日之後,含有 SSLMismatchedSNI 的要求將會遭到拒絕。
Sni 此欄位指定在 TLS/SSL 交握期間傳送的伺服器名稱指示 (SNI)。 如果有 SSLMismatchedSNI 狀態碼,則可用來識別確切的 SNI 值。 此外,也可以與 requestUri 欄位中的主機值進行比較,以偵測並解決不相符問題。

傳送至來源保護盾取代

原始記錄屬性 isSentToOriginShield 已淘汰,並由新的欄位 isReceivedFromClient 取代。 如果您已在使用被取代的欄位,請使用新的欄位。

原始記錄包含從 CDN 邊緣 (子 POP) 和來源保護盾產生的記錄。 來源保護盾是指策略性位於全球各地的父節點。 這些節點會與來源伺服器通訊,並減少來源上的流量負載。

針對進入原始伺服器保護盾的每個要求,都有兩個記錄項目:

  • 一個用於邊緣節點
  • 一個用於來源保護盾。

若要區分來自邊緣節點與來源保護盾的輸出或回應,您可以使用 isReceivedFromClient 欄位來取得正確的資料。

如果值為 false,則表示該要求是來自來源保護盾對邊緣節點回應。 此方法可有效比較原始記錄與計費資料。 來自來源保護盾對邊緣節點的輸出不會衍生費用。 從邊緣節點對用戶端的輸出會衍生費用。

Kusto 查詢範例,以排除 Log Analytics 中來源保護盾上產生的記錄。

AzureDiagnostics | where Category == "FrontdoorAccessLog" and isReceivedFromClient_b == true

注意

針對各種路由設定和流量行為,某些欄位,如 backendHostname、cacheStatus、isReceivedFromClient 和 POP 欄位可能會回應不同的值。 下表說明這些欄位在各種情節中的不同值:

案例 記錄項目的計數 POP BackendHostname isReceivedFromClient CacheStatus
未啟用快取的路由規則 1 邊緣 POP 代碼 已轉送要求的後端 True CONFIG_NOCACHE
已啟用快取的路由規則。 邊緣 POP 的快取命中 1 邊緣 POP 代碼 空的 True HIT
已啟用快取的路由規則。 邊緣 POP 的快取遺漏,但父快取 POP 的快取命中除外 2 1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.父快取 POP 主機名稱
2. 空的
1.True
2. False
1.MISS
2. HIT
已啟用快取的路由規則。 邊緣 POP 的快取遺漏,但父快取 POP 的 PARTIAL 快取命中除外 2 1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.父快取 POP 主機名稱
2. 可協助填入快取的後端
1.True
2. False
1.MISS
2. PARTIAL_HIT
已啟用快取的路由規則。 邊緣 POP 的快取 PARTIAL_HIT,但父快取 POP 的快取命中除外 2 1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.True
2. False
1.PARTIAL_HIT
2. HIT
已啟用快取的路由規則。 邊緣和父快取 POP 兩者的快取遺漏 2 1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.邊緣 POP 代碼
2. 父快取 POP 代碼
1.True
2. False
1.MISS
2. MISS
處理要求時發生錯誤 N/A

注意

針對快取案例,當要求的某些位元組從 Azure Front Door 邊緣或來源保護盾快取提供,而某些位元組從大型物件的來源提供時,快取狀態的值將會是 partial_hit。

Azure Front Door 會使用稱為物件區塊化的技術。 要求大型檔案時,Azure Front Door 會從來源擷取較小的檔案片段。 在 Azure Front Door POP 伺服器收到檔案的完整或位元組範圍要求後,Azure Front Door 邊緣伺服器會以 8 MB 的區塊向來源要求檔案。

區塊抵達 Azure Front Door 邊緣之後,會被快取並立即提供給使用者。 然後 Azure Front Door 會以平行方式預先擷取下一個區塊。 此預先擷取可確保內容領先使用者一個區塊,以降低延遲。 此程序一直持續到整個檔案下載完成 (如有要求)、取得所有位元組範圍 (如有要求),或用戶端關閉連線。 如需位元組範圍要求的詳細資訊,請參閱 RFC 7233。 Azure Front Door 會在收到區塊時加以快取。 不必快取 Front Door 快取上的整個檔案。 確保 Azure Front Door 快取會提供檔案或位元組範圍的要求。 如果不是在 Azure Front Door 快取所有的區塊,就會使用預先擷取向來源要求區塊。 此最佳化依賴原始伺服器的功能,支援位元組範圍的要求。 如果原始伺服器不支援位元組範圍要求,此最佳化就不會生效。

下一步