本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用即時日誌
使用 CloudFront 即時日誌,您可以即時取得對分佈提出請求的相關資訊 (日誌會在收到請求後的幾秒內交付)。您可以使用即時日誌來監控、分析並根據內容交付效能採取動作。
CloudFront 即時日誌是可設定的。您可以選擇:
-
您可以為即時日誌選擇抽樣率,即要接收即時日誌的請求百分比。
-
您想要在日誌中接收的特定欄位。
-
您想要接收即時日誌的特定快取行為 (路徑模式)。
CloudFront 即時日誌會在 Amazon Kinesis Data Streams 中交付至您選擇的資料串流。您可以建置自己的 Kinesis 資料串流取用者 ,或使用 Amazon Data Firehose 將日誌資料傳送至 Amazon Simple Storage Service (Amazon S3)、Amazon Redshift、Amazon OpenSearch Service (OpenSearch Service) 或第三方日誌處理服務。
CloudFront 即時日誌的費用,以及使用 Kinesis Data Streams 所產生的費用。如需定價的詳細資訊,請參閱 Amazon CloudFront Pricing
重要
我們建議您使用日誌來了解內容請求的性質,而不是作為所有請求的完整會計。 會盡最大努力 CloudFront 交付即時日誌。在實際處理請求之後,才可能長時間交付特定請求的日誌項目,在極少數的情況下,有可能完全不會交付日誌項目。當從即時日誌中省略日誌項目時,即時日誌中的項目數量將與 AWS 帳單和用量報告中顯示的用量不符。
建立和使用即時日誌組態
若要即時取得對分佈提出請求的相關資訊,您可以使用即時日誌組態。日誌會在收到請求的幾秒內交付。您可以使用 AWS Command Line Interface (AWS CLI) 或 ,在 CloudFront 主控台中建立即時日誌組態 CloudFront API。
若要使用即時日誌組態,您可以將它連接到 CloudFront 分佈中的一或多個快取行為。
了解即時日誌組態
若要使用 CloudFront 即時日誌,請先建立即時日誌組態。即時日誌組態包含您要接收哪些日誌欄位、日誌的抽樣頻率,以及您要傳送日誌的 Kinesis 資料串流的相關資訊。
具體來說,即時日誌組態包含下列組態:
名稱
用來識別即時日誌組態的名稱。
抽樣頻率
抽樣率是介於 1 到 100 之間的整數 (含),可決定以即時日誌形式傳送至 Kinesis Data Streams 的檢視器請求百分比。若要在即時日誌中包含每個檢視器請求,請指定 100 的抽樣頻率。您可以選擇較低的抽樣頻率以降低成本,同時仍然在即時日誌中收到代表性的請求資料樣本。
欄位
包含在每個即時日誌中的欄位清單。每個日誌記錄最多包含 40 個欄位,而且您可以選擇接收所有可用欄位,或只接收監視和分析效能所需的欄位。
下列清單包含每個欄位名稱以及該欄位中資訊的描述。這些欄位會依它們交付給 Kinesis Data Streams 日誌中顯示的順序列出。
欄位 46-63 是常見的媒體用戶端資料 (CMCD),媒體播放器用戶端可以CDNs隨每個請求傳送至該資料。您可以使用此資料來了解每個請求,例如媒體類型 (音訊、影片)、播放速率和串流長度。這些欄位只有在傳送至 時,才會出現在即時日誌中 CloudFront。
-
timestamp
邊緣伺服器完成回應請求的日期和時間。
-
c-ip
檢視器的 IP 地址,該檢視器已執行請求,例如
192.0.2.183
或2001:0db8:85a3::8a2e:0370:7334
。如果檢視器使用HTTP代理或負載平衡器來傳送請求,此欄位的值即為代理或負載平衡器的 IP 地址。另請參閱x-forwarded-for
欄位。 -
s-ip
提供請求之 CloudFront 伺服器的 IP 地址,例如
192.0.2.183
或2001:0db8:85a3::8a2e:0370:7334
。 -
time-to-first-byte
接收請求與寫入回應的第一個位元組之間的秒數 (如伺服器上所測量)。
-
sc-status
伺服器回應HTTP的狀態碼 (例如
200
)。 -
sc-bytes
回應請求時伺服器提供給檢視器的總位元數,包括標頭。對於 WebSocket 連線,這是透過連線從伺服器傳送至用戶端的位元組總數。
-
cs-method
從檢視器收到的HTTP請求方法。
-
cs-protocol
檢視器請求的通訊協定 (
http
、https
、ws
或wss
)。 -
cs-host
包含在該請求
Host
標頭的檢視器值。如果您在物件中使用 CloudFront 網域名稱 URLs(例如 d111111abcdef8.cloudfront.net),此欄位會包含該網域名稱。如果您在物件 (例如 www.example.comCNAMEs) 中使用替代網域名稱 URLs(),此欄位會包含替代網域名稱。 -
cs-uri-stem
整個請求 URL,包括查詢字串 (如果存在),但沒有網域名稱。例如:
/images/cat.jpg?mobile=true
。注意
在標準日誌中,該
cs-uri-stem
值不包括查詢字串。 -
cs-bytes
檢視器包含在請求中的資料位元組總數,包括標頭。對於 WebSocket 連線,這是從用戶端傳送至連線上伺服器的位元組總數。
-
x-edge-location
提供請求的節點。每個邊緣位置都以三個字母的代碼和任意指派的號碼來識別 (例如 DFW3)。三個字母的代碼通常與鄰近邊緣位置地理位置的機場的國際航空運輸協會 (IATA) 機場代碼相對應。(未來這些縮寫可能會改變。)
-
x-edge-request-id
唯一識別 request 的不透明字串。 CloudFront 也會在
x-amz-cf-id
回應標頭中傳送此字串。 -
x-host-header
CloudFront 分佈的網域名稱 (例如 d111111abcdef8.cloudfront.net)。
-
time-taken
從伺服器收到檢視者請求,到伺服器將回應的最後一個位元組寫入輸出佇列的秒數 (以千分之一秒為單位,例如 0.082),這會在伺服器上測量。從檢視器的角度來看,由於網路延遲和TCP緩衝,取得完整回應的總時間會長於此值。
-
cs-protocol-version
檢視器在請求中指定的HTTP版本。可能的值包括
HTTP/0.9
、HTTP/1.0
、HTTP/1.1
、HTTP/2.0
及HTTP/3.0
。 -
c-ip-version
請求的 IP 版本 (IPv4 或 IPv6)。
-
cs-user-agent
請求中的
User-Agent
標頭值。識別請求來源的User-Agent
標頭,例如提交請求的裝置與瀏覽器類型,或如果請求來自搜尋引擎,則識別是哪一個搜尋引擎。 -
cs-referer
請求中的
Referer
標頭值。發出請求的網域名稱。常見推薦網站,包含搜尋引擎、其他直接連結到您物件的網站,以及您自己的網站。 -
cs-cookie
請求中的
Cookie
標頭,包括名稱值對和關聯的屬性。注意
此欄位會截斷為 800 位元組。
-
cs-uri-query
請求 的查詢字串部分URL,如果有的話。
-
x-edge-response-result-type
在將回應傳回至檢視器之前,伺服器如何將回應分類。另請參閱
x-edge-result-type
欄位。可能的值包括:-
Hit
– 該伺服器從快取提供物件給檢視器。 -
RefreshHit
– 該伺服器在邊緣快取中找到物件,但物件已過期,因此伺服器會聯絡原始伺服器,以確認快取具有該物件的最新版本。 -
Miss
– 快取中的物件無法滿足請求,因此伺服器會將請求轉送至原始伺服器,並將結果傳回至檢視器。 -
LimitExceeded
– 請求被拒絕,因為超過 CloudFront 配額 (先前稱為限制)。 -
CapacityExceeded
– 該伺服器會傳回 503 錯誤,因為在請求提供物件時沒有足夠的容量。 -
Error
– 通常,這表示請求導致客戶端錯誤 (sc-status
欄位的值在4xx
範圍內) 或伺服器錯誤 (sc-status
欄位的值在5xx
範圍內)。如果
x-edge-result-type
欄位的值為Error
且此欄位的值不為Error
,則用戶端在完成下載之前中斷連線。 -
Redirect
– 伺服器HTTPS會根據分佈設定將檢視器從 重新導向HTTP至 。
-
-
x-forwarded-for
如果檢視器使用HTTP代理或負載平衡器來傳送請求,
c-ip
欄位的值即為代理或負載平衡器的 IP 地址。在這種情況下,此欄位是產生請求的檢視器 IP 地址。此欄位可以包含多個以逗號分隔的 IP 地址。每個 IP 地址可以是IPv4地址 (例如192.0.2.183
) 或IPv6地址 (例如2001:0db8:85a3::8a2e:0370:7334
)。 -
ssl-protocol
當請求使用 時HTTPS,此欄位包含 中的SSL/TLS protocol that the viewer and server negotiated for transmitting the request and response. For a list of possible values, see the supported SSL/TLS通訊協定檢視器與之間支援的通訊協定和密碼 CloudFront。
-
ssl-cipher
當請求使用 時HTTPS,此欄位包含 SSL/TLS cipher that the viewer and server negotiated for encrypting the request and response. For a list of possible values, see the supported SSL/TLS 中的密碼檢視器與之間支援的通訊協定和密碼 CloudFront。
-
x-edge-result-type
在最後一個位元組離開伺服器之後,伺服器如何將回應分類。在某些情況下,結果類型會在伺服器準備好傳送回應的時間,以及完成傳送回應的時間中發生改變。另請參閱
x-edge-response-result-type
欄位。例如,在HTTP串流中,假設伺服器在快取中尋找串流的區段。在這種情況下,這個欄位的值通常是
Hit
。不過,如果在伺服器已交付整個區段之前,檢視器關閉檢視器,則最終結果類型 (此欄位的值) 為Error
。WebSocket 由於內容無法快取,且直接代理到原始伺服器,因此此欄位
Miss
的 連線值為 。可能的值包括:
-
Hit
– 該伺服器從快取提供物件給檢視器。 -
RefreshHit
– 該伺服器在邊緣快取中找到物件,但物件已過期,因此伺服器會聯絡原始伺服器,以確認快取具有該物件的最新版本。 -
Miss
– 快取中的物件無法滿足請求,因此會將請求轉送至原始伺服器,並將結果傳回至檢視器。 -
LimitExceeded
– 請求被拒絕,因為超過 CloudFront 配額 (先前稱為限制)。 -
CapacityExceeded
– 伺服器傳回 HTTP 503 狀態碼,因為其在請求時沒有足夠的容量來服務物件。 -
Error
– 通常,這表示請求導致客戶端錯誤 (sc-status
欄位的值在4xx
範圍內) 或伺服器錯誤 (sc-status
欄位的值在5xx
範圍內)。如果sc-status
欄位的值為200
,或者如果此欄位的值為Error
,且x-edge-response-result-type
欄位的值不是Error
,則表示HTTP請求成功,但用戶端在接收所有位元組之前中斷連線。 -
Redirect
– 伺服器HTTPS會根據分佈設定將檢視器從 重新導向HTTP至 。
-
-
fle-encrypted-fields
伺服器加密並轉送至 origin 的欄位層級加密欄位數目。 CloudFront 伺服器會在加密資料時將處理後的請求串流至原始伺服器,因此即使 的值
fle-status
為錯誤,此欄位也可以具有 值。 -
fle-status
為分佈配置欄位層級加密時,此欄位包含可指出要求主體是否已成功處理的代碼。當伺服器成功處理要求主體時,會加密指定欄位中的值,並將請求轉送至原始伺服器,此欄位的值為
Processed
。在這種情況下,x-edge-result-type
的值仍然可以表示用戶端或伺服器端的錯誤。此欄位可能的值包含:
-
ForwardedByContentType
– 伺服器無須剖析與加密便將請求轉送到原始伺服器,因為沒有配置任何內容類型。 -
ForwardedByQueryArgs
– 伺服器無需剖析或加密便將請求轉送到原始伺服器,因為請求包含查詢參數,此參數不在欄位層級加密的組態裡。 -
ForwardedDueToNoProfile
– 伺服器無需剖析或加密便將請求轉送到原始伺服器,因為在欄位層級加密的組態裡沒有指定設定檔。 -
MalformedContentTypeClientError
– 伺服器拒絕請求,並將 HTTP 400 狀態碼傳回給檢視器,因為Content-Type
標頭的值格式無效。 -
MalformedInputClientError
– 伺服器拒絕請求,並傳回 HTTP 400 狀態碼給檢視器,因為請求內文格式無效。 -
MalformedQueryArgsClientError
– 伺服器拒絕請求,並傳回 HTTP 400 狀態碼給檢視器,因為查詢引數為空或格式無效。 -
RejectedByContentType
– 伺服器拒絕請求,並傳回 HTTP 400 狀態碼給檢視器,因為欄位層級加密的組態中未指定內容類型。 -
RejectedByQueryArgs
– 伺服器拒絕請求,並傳回 HTTP 400 狀態碼給檢視器,因為在欄位層級加密的組態中未指定查詢引數。 -
ServerError
– 原始伺服器傳回錯誤。
如果請求超過欄位層級加密配額 (先前稱為限制),此欄位包含下列其中一個錯誤碼,伺服器會將HTTP狀態碼 400 傳回給檢視器。如需目前欄位層級加密的配額的詳細資訊,請參閱欄位層級加密的配額。
-
FieldLengthLimitClientError
– 配置為加密的欄位已超過允許的長度上限。 -
FieldNumberLimitClientError
– 將分佈配置為加密的請求所包含的欄位數超過了允許的欄位數。 -
RequestLengthLimitClientError
– 當配置了欄位層級加密時,要求主體的長度超過允許的長度上限。
-
-
sc-content-type
回應HTTP
Content-Type
標頭的值。 -
sc-content-len
回應HTTP
Content-Length
標頭的值。 -
sc-range-start
當回應包含HTTP
Content-Range
標頭時,此欄位會包含範圍開始值。 -
sc-range-end
當回應包含HTTP
Content-Range
標頭時,此欄位會包含範圍結束值。 -
c-port
來自檢視器之請求的連接埠號碼。
-
x-edge-detailed-result-type
此欄位包含與
x-edge-result-type
欄位相同的值,但下列情況除外:-
該物件已從 Origin Shield 層提供給檢視器時,此欄位包含
OriginShieldHit
。 -
當物件不在 CloudFront 快取中,且回應是由原始伺服器請求 Lambda@Edge 函數產生時,此欄位包含
MissGeneratedResponse
。 -
當
x-edge-result-type
欄位的值為Error
時,此欄位會包含下列其中一個值,以及有關該錯誤的詳細資訊:-
AbortedOrigin
– 該伺服器發生原始伺服器問題。 -
ClientCommError
– 檢視器的回應因伺服器與檢視器之間發生通訊問題而遭到中斷。 -
ClientGeoBlocked
– 分佈設定為拒絕來自檢視者地理位置的請求。 -
ClientHungUpRequest
– 檢視器在傳送請求的同時提早停止。 -
Error
– 發生錯誤,其錯誤類型不符合任何其他類別。當此伺服器提供來自快取的錯誤回應時,可能會發生此錯誤類型。 -
InvalidRequest
– 該伺服器收到來自檢視器的無效請求。 -
InvalidRequestBlocked
– 對請求的資源的存取遭到封鎖。 -
InvalidRequestCertificate
– 分佈與建立HTTPS連線的 SSL/TLS 憑證不相符。 -
InvalidRequestHeader
— 請求包含無效的標頭。 -
InvalidRequestMethod
– 分佈未設定為處理已使用的HTTP請求方法。當分佈只支援可快取的請求時會發生此情況。 -
OriginCommError
– 在連接到原始伺服器或從原始伺服器讀取資料時,請求逾時。 -
OriginConnectError
– 該伺服器無法連線到原始伺服器。 -
OriginContentRangeLengthError
– 原始伺服器回應中的Content-Length
標頭不符合Content-Range
標頭中的長度。 -
OriginDnsError
– 該伺服器無法解析原始伺服器的網域名稱。 -
OriginError
– 原始伺服器傳回不正確的回應。 -
OriginHeaderTooBigError
– 原始伺服器傳回的標頭對邊緣伺服器太大,因而無法處理。 -
OriginInvalidResponseError
– 原始伺服器傳回無效的回應。 -
OriginReadError
– 該伺服器無法從原始伺服器讀取。 -
OriginWriteError
– 該伺服器無法寫入原始伺服器。 -
OriginZeroSizeObjectError
– 從原始伺服器傳送大小為零的物件,因而導致錯誤。 -
SlowReaderOriginError
– 檢視器讀取訊息過慢,因而導致原始伺服器錯誤。
-
-
-
c-country
國家/地區代碼代表檢視者的地理位置,由檢視器的 IP 地址決定。如需國家/地區代碼清單,請參閱 ISO 3166-1 alpha-2
。 -
cs-accept-encoding
檢視器請求中的
Accept-Encoding
標頭值。 -
cs-accept
檢視器請求中的
Accept
標頭值。 -
cache-behavior-path-pattern
識別符合檢視器請求之快取行為的路徑模式。
-
cs-headers
檢視器請求中的HTTP標頭 (名稱和值)。
注意
此欄位會截斷為 800 位元組。
-
cs-header-names
檢視器請求中HTTP標頭的名稱 (非值)。
注意
此欄位會截斷為 800 位元組。
-
cs-headers-count
檢視器請求中的HTTP標頭數目。
-
origin-fbl
CloudFront 與您的原始伺服器之間的第一位元組延遲秒數。
-
origin-lbl
CloudFront 與您的原始伺服器之間的最後一個位元組延遲秒數。
-
asn
檢視器的自主系統編號 (ASN)。
-
primary-distribution-id
啟用連續部署時,此 ID 會識別哪個分佈是目前分佈中的主要分佈。
-
primary-distribution-dns-name
啟用連續部署時,此值會顯示與目前 CloudFront 分佈相關的主要網域名稱 (例如 d111111abcdef8.cloudfront.net)。
CMCD 即時日誌中的欄位
如需這些欄位的詳細資訊,請參閱CTA規格 Web Application Video Ecosystem - Common Media Client Data CTA-5004
文件。 -
cmcd-encoded-bitrate
請求音訊或影片物件的編碼位元速率。
-
cmcd-buffer-length
請求媒體物件的緩衝區長度。
-
cmcd-buffer-starvation
緩衝區是否在先前請求與物件請求之間的某個時間點觸發。這可能會導致播放器處於重新緩衝統計資料中,這會停止影片或音訊播放。
-
cmcd-content-id
識別目前內容的唯一字串。
-
cmcd-object-duration
請求物件的播放持續時間 (以毫秒為單位)。
-
cmcd-deadline
此物件的第一個範例必須可用,以避免緩衝區執行不足狀態或其他播放問題,從請求時間開始的截止日期。
-
cmcd-measured-throughput
用戶端和伺服器之間的輸送量,由用戶端測量。
-
cmcd-next-object-request
下一個請求物件的相對路徑。
-
cmcd-next-range-request
如果下一個請求是部分物件請求,此字串表示要請求的位元組範圍。
-
cmcd-object-type
正在請求的目前物件的媒體類型。
-
cmcd-playback-rate
如果為即時,則為 1;如果為雙速,則為 2;如果不播放,則為 0。
-
cmcd-requested-maximum-throughput
用戶端認為足以交付資產的請求最大輸送量。
-
cmcd-streaming-format
定義目前請求的串流格式。
-
cmcd-session-id
GUID 識別目前播放工作階段的 。
-
cmcd-stream-type
識別客群可用性的權杖。
v
= 所有客群都可用。l
= 客群會隨著時間的推移而變得可用。 -
cmcd-startup
如果在啟動、尋找或復原緩衝區清空事件後急需物件,則金鑰會包含在不含值。
-
cmcd-top-bitrate
用戶端可以播放的最高位元速率轉譯。
-
cmcd-version
此規格的版本,用於解譯定義的金鑰名稱和值。如果省略此金鑰,用戶端和伺服器必須解譯版本 1 定義的值。
端點 (Kinesis Data Streams)
端點包含您要傳送即時日誌的 Kinesis Data Streams 相關資訊。您提供資料串流的 Amazon Resource Name (ARN)。
如需建立 Kinesis Data Streams 的詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南 中的下列主題。
-
建立串流 (使用 AWS SDK for Java)
當您建立資料串流時,您需要指定分片的數目。使用下列資訊來協助您估計需要的碎片數量。
估計 Kinesis 資料串流的碎片數量
-
計算 (或估算) 您的 CloudFront分佈每秒收到的請求數。
您可以使用CloudFront用量報告
(在 CloudFront 主控台中) 和CloudFront 指標 (在 CloudFront 和 Amazon CloudWatch 主控台中) 來協助您計算每秒的請求。 -
確定單一即時日誌記錄的典型大小。
一般而言,單一日誌記錄大約是 500 個位元組。包含所有可用欄位的大型記錄一般約為 1 KB。
如果不確定日誌記錄的大小,您可以啟用取樣率較低 (例如 1%) 的即時日誌,然後使用 Kinesis Data Streams 中的監控資料,來計算平均記錄大小 (總傳入位元組數除以記錄總數)。
-
在 Amazon Kinesis Data Streams 定價頁面上
,於 下 AWS Pricing Calculator,選擇立即建立您的自訂預估。 在計算器中,輸入每秒的請求 (記錄) 數目。
輸入單一日誌記錄的平均記錄大小。
選擇顯示計算 。
定價計算器會顯示您需要的碎片數量和預估成本。
IAM 角色
( AWS Identity and Access Management IAM) 角色, CloudFront 允許 將即時日誌交付至 Kinesis 資料串流。
當您使用 CloudFront 主控台建立即時日誌組態時,您可以選擇建立新的服務角色,讓主控台為您建立IAM角色。
當您使用 AWS CloudFormation 或 CloudFront API (AWS CLI 或 SDK) 建立即時日誌組態時,您必須自行建立IAM角色並提供角色 ARN。若要自行建立IAM角色,請使用下列政策。
IAM 角色信任原則
若要使用下列IAM角色信任政策,請取代 111122223333
您的 AWS 帳戶 號碼。此政策中的 Condition
元素有助於防止混淆代理問題,因為 CloudFront 只能代表 中的分佈擔任此角色 AWS 帳戶。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
" } } } ] }
IAM 未加密資料串流的角色許可政策
若要使用下列政策,請取代 arn:aws:kinesis:us-east-2:123456789012:stream/StreamName
使用 Kinesis 資料串流ARN的 。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStreamSummary", "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": [ "
arn:aws:kinesis:us-east-2:123456789012:stream/StreamName
" ] } ] }
IAM 加密資料串流的角色許可政策
若要使用下列政策,請取代 arn:aws:kinesis:us-east-2:123456789012:stream/StreamName
使用 Kinesis 資料串流ARN的 和 arn:aws:kms:us-east-2:123456789012:key/e58a3d0b-fe4f-4047-a495-ae03cc73d486
使用您 ARN的 AWS KMS key。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStreamSummary", "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": [ "
arn:aws:kinesis:us-east-2:123456789012:stream/StreamName
" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/e58a3d0b-fe4f-4047-a495-ae03cc73d486
" ] } ] }
建立 Kinesis Data Streams 取用者
若要讀取和分析您的即時記錄,您可以建置或使用 Kinesis Data Streams 取用程式。當您為 CloudFront 即時日誌建置取用者時,請務必了解每個即時日誌記錄中的欄位一律以相同順序交付,如 欄位一節所列。請確定建立您的取用程式來適應此固定訂單。
例如,假設只包含下列三個欄位的即時日誌組態: time-to-first-byte
、sc-status
和 c-country
。在這個案例中,最後一個欄位 c-country
,永遠是每個日誌中的欄位編號 3。不過,如果您稍後將欄位新增至即時日誌組態,則日誌中每個欄位的位置可能會變更。
例如,如果您新增欄位 sc-bytes
和 time-taken
即時日誌組態,這些欄位會根據 欄位 區段中顯示的順序插入到每個日誌中。所有五個欄位的產生順序為 time-to-first-byte
、sc-status
、sc-bytes
、time-taken
和 c-country
。該 c-country
欄位原本是欄位編號 3,但現在是欄位編號 5。請確定您的取用者應用程式可以處理變更日誌中位置的欄位,以防您將欄位新增至即時日誌組態。
即時日誌疑難排解
建立即時日誌組態之後,您可能會發現沒有任何日誌 (或不是所有日誌) 會交付至 Kinesis Data Streams。在此情況下,您應該先驗證 CloudFront 分佈是否收到檢視器請求。如果是,您可以檢查下列設定來繼續故障排除。
- IAM 角色許可
-
若要將即時日誌記錄交付至 Kinesis 資料串流, CloudFront 會在即時日誌組態中使用 IAM角色。請確定角色信任原則和角色許可原則符合 IAM 角色 中顯示的原則。
- Kinesis Data Streams 調節
-
如果 以比串流處理更快的速度將即時日誌記錄 CloudFront 寫入您的 Kinesis 資料串流,Kinesis Data Streams 可能會限制來自 的請求 CloudFront。在此情況下,您可以增加 Kinesis 資料串流中的碎片數量。每個碎片可支援最高每秒 1,000 筆記錄的寫入數目,最高每秒 1 MB 的資料寫入上限。