Application Load Balancer 的存取日誌 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Application Load Balancer 的存取日誌

Elastic Load Balancing 提供存取日誌,可針對傳送到負載平衡器的請求,擷取其詳細資訊。每個日誌包含收到請求的時間、用戶端的 IP 地址、延遲、請求路徑和伺服器回應等資訊。您可以使用這些存取日誌來分析流量模式和排除問題。

存取日誌是 Elastic Load Balancing 的選用功能,預設為停用。為負載平衡器啟用存取日誌之後,Elastic Load Balancing 會擷取日誌,並將其以壓縮檔案存放在您指定的 Amazon S3 儲存貯體中。您可以隨時停用存取日誌。

您將需支付 Amazon S3 的儲存費用,但 Elastic Load Balancing 將日誌檔傳送到 Amazon S3 所使用的頻寬不需要付費。如需有關儲存費用的詳細資訊,請參閱 Amazon S3 定價

存取日誌檔

Elastic Load Balancing 每 5 分鐘發佈每個負載平衡器節點的日誌檔。日誌傳遞最終會達到一致。負載平衡器可能在相同期間傳遞多個日誌。這通常是在網站的流量很高時才會發生。

存取日誌的檔案名稱使用以下格式:

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
bucket

S3 儲存貯體的名稱。

prefix

(選用) 儲存貯體的字首 (邏輯階層)。您指定的字首不得包含字串 AWSLogs。如需詳細資訊,請參閱使用字首組織物件

AWSLogs

我們在您指定的儲存貯體名稱和可選字首之後,增加了以 AWSLogs 開頭的檔案名稱部分。

aws-account-id

擁有者的帳戶 AWS ID。

region

負載平衡器和 S3 儲存貯體的區域。

yyyy/mm/dd

傳遞日誌的日期。

load-balancer-id

負載平衡器的資源 ID。如果資源 ID 包含任何斜線 (/),斜線會換成句點 (.)。

end-time

記錄間隔結束的日期和時間。例如,20140215T2340Z 的結束時間包含 UTC 或 Zulu 時間中 23:35 至 23:40 之間的請求項目。

ip-address

處理請求之負載平衡器節點的 IP 地址。對於內部負載平衡器,這是私有 IP 地址。

random-string

系統產生的隨機字串。

以下是含字首的日誌檔案名稱範例:

s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

以下是不含字首的日誌檔案名稱範例:

s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

日誌檔案可存放於儲存貯體任意長時間,但您也可以定義 Amazon S3 生命週期規則,自動封存或刪除日誌檔案。如需詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的物件生命週期管理

存取日誌項目

Elastic Load Balancing 會記錄向負載平衡器傳送的請求,包括從未送達目標的請求。例如,如果用戶端傳送格式不正確的請求,或沒有運作狀態良好的目標可回應請求,則仍然會記錄此請求。Elastic Load Balancing 不會記錄運作狀態檢查請求。

每個日誌項目都包含對負載平衡器提出的單一請求 (或在 WebSockets 的情況下連線) 的詳細資訊。For WebSockets 只會在連線關閉後寫入項目。如果無法建立升級連線,則項目與 HTTP 或 HTTPS 請求相同。

重要

Elastic Load Balancing 會盡可能記錄請求。建議您使用存取日誌來了解請求的性質,而不是為了全面解釋所有請求。

語法

下表依序說明存取日誌項目的欄位。所有欄位以空格分隔。引進的新欄位會新增到日誌項目尾端。您應該忽略日誌項目尾端任何非預期的欄位。

欄位 Description (描述)

type

請求或連線的類型。可能的值如下所示 (忽略任何其他值):

  • http — HTTP

  • https — HTTP over TLS

  • h2 — HTTP/2 over TLS

  • grpcs— gRPC over TLS

  • ws — WebSockets

  • wss — WebSockets over TLS

time

負載平衡器產生 ISO 8601 格式的用戶端回應的時間。For WebSockets,這是連線關閉的時間。

elb

負載平衡器的資源 ID。如果您要剖析存取日誌項目,請注意 資源 IDs 可以包含正斜線 (/)。

client:port

提出請求之用戶端的 IP 地址和連接埠。如果負載平衡器前面有代理,則此欄位會包含代理的 IP 地址。

target:port

處理此請求之目標的 IP 地址和連接埠。

如果用戶端未傳送完整的請求,則負載平衡器無法將請求分派給目標,而這個值會設為 -。

如果目標是 Lambda 函數,這個值會設定為 -。

如果請求被 封鎖 AWS WAF,此值會設為 -,而 elb_status_code 的值會設為 403。

request_processing_time

從負載平衡器收到請求到請求傳送到目標為止所經過的總時間 (以秒為單位,精確到毫秒)。

如果負載平衡器無法將請求分派給目標,這個值會設為 -1。如果目標在閒置逾時之前關閉連線,或用戶端傳送格式不正確的請求,就可能發生此情況。

如果在達到 10 秒的 TCP 連線逾時之前,無法使用目標建立 TCP 連線,此值也可以設定為 -1。

如果 AWS WAF 已啟用 Application Load Balancer 或目標類型為 Lambda 函數,用戶端傳送 POST 請求所需資料所需的時間會計入 request_processing_time

target_processing_time

從負載平衡器將請求傳送至目標開始,直到目標開始傳送回應標頭為止,所經過的總時間 (以秒為單位,精確到亳秒)。

如果負載平衡器無法將請求分派給目標,這個值會設為 -1。如果目標在閒置逾時之前關閉連線,或用戶端傳送格式不正確的請求,就可能發生此情況。

如果已註冊的目標在閒置逾時之前沒有回應,這個值也可能設為 -1。

如果您的 Application Load Balancer AWS WAF 未啟用 ,用戶端傳送 POST 請求所需資料所需的時間會計入 target_processing_time

response_processing_time

從負載平衡器收到目標的回應標頭開始,直到開始將回應傳送到用戶端為止,所經過的總時間 (以秒為單位,精確到亳秒)。這包括負載平衡器上的佇列時間,以及從負載平衡器到用戶端的連線取得時間。

如果負載平衡器未收到來自目標的回應,則此值會設為 -1。如果目標在閒置逾時之前關閉連線,或用戶端傳送格式不正確的請求,就可能發生此情況。

elb_status_code

負載平衡器產生的回應狀態碼、固定回應規則或區塊動作的 AWS WAF 自訂回應碼。

target_status_code

來自目標的回應狀態碼。只有在對目標建立連線且目標傳送回應之後,才會記錄這個值。否則會設為 -。

received_bytes

從用戶端 (請求者) 收到的請求大小 (以位元組為單位)。對於 HTTP 請求,這包含 標頭。For WebSockets,這是從連線用戶端收到的位元組總數。

sent_bytes

傳回到用戶端 (請求者) 的回應大小 (以位元組為單位)。對於 HTTP 請求,這包含 標頭。For WebSockets,這是在連線上傳送至用戶端的位元組總數。

"request"

用戶端的請求列,以雙引號括住,並使用下列格式記錄:HTTP 方法 + protocol://host:port/uri + HTTP 版本。負載平衡器會保留用戶端傳送的 URL,如同記錄請求 URI 一樣。它不會為存取日誌檔案設定內容類型。當您處理此欄位時,請考慮用戶端如何傳送 URL。

"user_agent"

User-Agent 字串,識別發出請求的用戶端 (以雙引號括住)。此字串包含一或多個產品識別符,product[/version]。如果字串超過 8 KB,則會截斷。

ssl_cipher

【HTTPS接聽程式】 SSL密碼。如果接聽程式不是 HTTPS 接聽程式,則此值設定為 。

ssl_protocol

【HTTPS 接聽程式】 SSL 通訊協定。如果接聽程式不是 HTTPS 接聽程式,則此值設定為 。

target_group_arn

目標群組的 Amazon Resource Name (ARN)。

"trace_id"

X-Amzn-Trace-Id 標頭的內容,以雙引號括住。

"domain_name"

【HTTPS 接聽程式】 用戶端在 SNI 交握期間提供的 TLS 網域,以雙引號括住。如果用戶端不支援 SNI 或網域與憑證不相符,且預設憑證會呈現給用戶端,則此值會設定為 。

"chosen_cert_arn"

【HTTPS 接聽程式】 呈現給用戶端的憑證 ARN,以雙引號括住。如果重複使用工作階段,這個值會設為 session-reused。如果接聽程式不是 HTTPS 接聽程式,則此值設定為 。

matched_rule_priority

符合請求之規則的優先順序值。如果規則符合,則此為 1 到 50,000 的值。如果沒有規則符合且採取預設動作,這個值會設為 0。如果在規則評估期間發生錯誤,則會設為 -1。對於任何其他錯誤,則會設為 -。

request_creation_time

負載平衡器收到用戶端請求的時間,格式為 ISO 8601。

"actions_executed"

處理請求時所採取的動作,以雙引號括住。這個值是逗號分隔清單,可以包含 採取的動作 中所述的值。如果未採取任何動作,例如對於格式不正確的請求,這個值會設為 -。

"redirect_url"

URL雙引號括住的 Word 回應位置標頭的重新導向目標 HTTP。如果未採取重新導向動作,這個值會設為 -。

"error_reason"

錯誤原因代碼,以雙引號括住。如果請求失敗,則此為錯誤原因代碼所述的其中一個錯誤代碼。如果採取的動作不含驗證動作,或目標不是 Lambda 函數,此值會設為 -。

「target:port_list」

處理此請求之目標之 IP 地址和連接埠以空格分隔的清單,用雙引號括注。目前,列表可以包含一個項目與其匹配的目標:port field。

如果用戶端未傳送完整的請求,則負載平衡器無法將請求分派給目標,而這個值會設為 -。

如果目標是 Lambda 函數,這個值會設定為 -。

如果請求被 封鎖 AWS WAF,此值會設為 -,而 elb_status_code 的值會設為 403。

「target_status_code_list」

目標回應以空格分隔的狀態代碼清單,用雙引號括注。目前,此清單可以包含一個項目與其匹配的 target_status_code 欄位。

只有在對目標建立連線且目標傳送回應之後,才會記錄這個值。否則會設為 -。

"classification"

去同步緩解的分類 (以雙引號括住)。如果請求不符合 RFC 7230,則可能的值為可接受、不明確和嚴重。

如果請求符合 RFC 7230,則此值設定為 -。

"classification_reason"

分類原因代碼 (以雙引號括住)。如果請求不符合 RFC 7230,這是 中所述的分類代碼之一分類原因。如果請求符合 RFC 7230,則此值設定為 -。

conn_trace_id

連線可追蹤 ID 是用於識別每個連線的唯一不透明 ID。與用戶端建立連線後,來自此用戶端的後續請求會在其各自的存取日誌項目中包含此 ID。此 ID 作為外部金鑰,在連線和存取日誌之間建立連結。

採取的動作

負載平衡器會將它所採取的動作存放在存取日誌的 actions_executed 欄位中。

  • authenticate – 負載平衡器驗證工作階段、驗證使用者身分,並將使用者資訊新增至請求標頭 (如規則組態所指定)。

  • fixed-response – 負載平衡器發出固定回應 (如規則組態所指定)。

  • forward – 負載平衡器將請求轉送至目標 (如規則組態所指定)。

  • redirect — 負載平衡器會將請求重新導向至另一個 URL,如規則組態所指定。

  • waf – 負載平衡器將請求轉送至 AWS WAF ,以判斷是否要將請求轉送至目標。如果這是最終動作, AWS WAF 則決定應拒絕請求。根據預設, 拒絕的請求 AWS WAF 會在 elb_status_code 欄位中記錄為「403」。當 AWS WAF 設定為使用自訂回應碼拒絕請求時, elb_status_code 欄位將反映設定的回應碼。

  • waf-failed — 負載平衡器嘗試將請求轉送至 AWS WAF,但此程序失敗。

分類原因

如果請求不符合 RFC 7230,負載平衡器會在存取日誌的 classification_reason 欄位中儲存下列其中一個代碼。如需詳細資訊,請參閱去同步緩解模式

代碼 描述 分類

AmbiguousUri

請求 URI 包含控制項字元。

不明確

BadContentLength

Content-Length 標頭包含無法剖析或非有效數字的值。

嚴重

BadHeader

標頭包含空值字元或歸位字元。

嚴重

BadTransferEncoding

Transfer-Encoding 標頭包含錯誤的值。

嚴重

BadUri

請求 URI 包含 null 字元或歸位字元。

嚴重

BadMethod

要求方法格式不正確。

嚴重

BadVersion

要求版本格式不正確。

嚴重

BothTeClPresent

要求同時包含 Transfer-Encoding 標頭和 Content-Length 標頭。

不明確

DuplicateContentLength

多個 Content-Length 標頭的值相同。

不明確

EmptyHeader

標頭空白或標頭列僅含空格。

不明確

GetHeadZeroContentLength

Word 或 GET HEAD請求有一個 Content-Length 標頭,值為 0。

可接受

MultipleContentLength

多個 Content-Length 標頭的值不同。

嚴重

MultipleTransferEncodingChunked

有多個 Transfer-Encoding:區塊標頭。

嚴重

NonCompliantHeader

標頭包含非 ASCII 或控制項字元。

可接受

NonCompliantVersion

要求版本包含錯誤的值。

可接受

SpaceInUri

請求 URI 包含未以 URL 編碼的空間。

可接受

SuspiciousHeader

可使用通用文字正規化技術將標頭正規化為 Transfer-Encoding 或 Content-Length。

不明確

UndefinedContentLengthSemantics

有針對 GET 或 HEAD 請求定義的 Content-Length 標頭。

不明確

UndefinedTransferEncodingSemantics

針對 GET 或 HEAD 請求定義了 Transfer-Encoding 標頭。

不明確

錯誤原因代碼

如果負載平衡器無法完成驗證動作,負載平衡器會將以下其中一個原因代碼存放在存取日誌的 error_reason 欄位。負載平衡器也會增加對應的 CloudWatch 指標。如需詳細資訊,請參閱使用 Application Load Balancer 來驗證使用者身分

代碼 描述 指標

AuthInvalidCookie

身分驗證 Cookie 無效。

ELBAuthFailure

AuthInvalidGrantError

來自字符端點的授權碼無效。

ELBAuthFailure

AuthInvalidIdToken

ID 字符無效。

ELBAuthFailure

AuthInvalidStateParam

state 參數無效。

ELBAuthFailure

AuthInvalidTokenResponse

來自字符端點的回應無效。

ELBAuthFailure

AuthInvalidUserinfoResponse

來自使用者資訊端點的回應無效。

ELBAuthFailure

AuthMissingCodeParam

來自授權端點的身分驗證回應缺少名為 ‘code’ 的查詢參數。

ELBAuthFailure

AuthMissingHostHeader

來自授權端點的身分驗證回應缺少主機標頭欄位。

ELBAuthError

AuthMissingStateParam

來自授權端點的身分驗證回應缺少名為 ‘state’ 的查詢參數。

ELBAuthFailure

AuthTokenEpRequestFailed

字符端點傳回錯誤回應 (非 2XX)。

ELBAuthError

AuthTokenEpRequestTimeout

負載平衡器無法與字符端點通訊。

ELBAuthError

AuthUnhandledException

負載平衡器發生未處理的例外狀況。

ELBAuthError

AuthUserinfoEpRequestFailed

ldP 使用者資訊端點傳回錯誤回應 (非 2XX)。

ELBAuthError

AuthUserinfoEpRequestTimeout

負載平衡器無法與 ldP 使用者資訊端點通訊。

ELBAuthError

AuthUserinfoResponseSizeExceeded

IdP 傳回的宣告大小超過 11K 位元組。

ELBAuthUserClaimsSizeExceeded

如果對權重目標群組的請求失敗,負載平衡器會將以下其中一個錯誤代碼存放在存取日誌的 error_reason 欄位。

代碼 描述

AWSALBTGCookieInvalid

與加權目標群組搭配使用的 AWSALBTG Cookie 無效。例如,當 Cookie 值為 URL 編碼時,負載平衡器會傳回此錯誤。

WeightedTargetGroupsUnhandledException

負載平衡器發生未處理的例外狀況。

如果對 Lambda 函數的請求失敗,負載平衡器會將以下其中一個原因代碼存放在存取日誌的 error_reason 欄位。負載平衡器也會增加對應的 CloudWatch 指標。如需詳細資訊,請參閱 Lambda Invoke 動作。

代碼 描述 指標

LambdaAccessDenied

負載平衡器沒有叫用 Lambda 函數的許可。

LambdaUserError

LambdaBadRequest

Lambda 調用失敗,因為用戶端請求標頭或內文不包含 UTF-8 字元。

LambdaUserError

LambdaConnectionError

負載平衡器無法連線到 Lambda。

LambdaInternalError

LambdaConnectionTimeout

嘗試連接到 Lambda 逾時。

LambdaInternalError

LambdaEC2AccessDeniedException

在函數初始化期間,Amazon EC2 拒絕存取 Lambda。

LambdaUserError

LambdaEC2ThrottledException

在函數初始化期間,Amazon EC2 限流 Lambda。

LambdaUserError

LambdaEC2UnexpectedException

Amazon EC2 在函數初始化期間遇到非預期的例外狀況。

LambdaUserError

LambdaENILimitReachedException

Lambda 無法在 Lambda 函數組態中指定的 VPC 中建立網路介面,因為超過網路介面的限制。

LambdaUserError

LambdaInvalidResponse

來自 Lambda 函數的回應格式不正確或缺少所需的欄位。

LambdaUserError

LambdaInvalidRuntimeException

不支援指定的 Lambda 執行期版本。

LambdaUserError

LambdaInvalidSecurityGroupIDException

Lambda 函數之組態中指定的安全群組 ID 無效。

LambdaUserError

LambdaInvalidSubnetIDException

Lambda 函數的組態中指定的子網路 ID 無效。

LambdaUserError

LambdaInvalidZipFileException

Lambda 無法解壓縮指定的函數 zip 檔案。

LambdaUserError

LambdaKMSAccessDeniedException

Lambda 無法解密環境變數,因為對 KMS 金鑰的存取遭拒。檢查 Lambda 函數的 KMS 許可。

LambdaUserError

LambdaKMSDisabledException

Lambda 無法解密環境變數,因為指定的 KMS 金鑰已停用。檢查 Lambda 函數的 KMS 金鑰設定。

LambdaUserError

LambdaKMSInvalidStateException

Lambda 無法解密環境變數,因為 KMS 金鑰的狀態無效。檢查 Lambda 函數的 KMS 金鑰設定。

LambdaUserError

LambdaKMSNotFoundException

Lambda 無法解密環境變數,因為找不到 KMS 金鑰。檢查 Lambda 函數的 KMS 金鑰設定。

LambdaUserError

LambdaRequestTooLarge

請求本文的大小超過 1 MB。

LambdaUserError

LambdaResourceNotFound

找不到 Lambda 函數。

LambdaUserError

LambdaResponseTooLarge

回應的大小超過 1 MB。

LambdaUserError

LambdaServiceException

Lambda 發生內部錯誤。

LambdaInternalError

LambdaSubnetIPAddressLimitReachedException

Lambda 無法設定 Lambda 函數的 VPC 存取,因為一或多個子網路沒有可用的 IP 地址。

LambdaUserError

LambdaThrottling

因為有太多請求,Lambda 函數受到節制。

LambdaUserError

LambdaUnhandled

Lambda 函數發生未處理的例外狀況。

LambdaUserError

LambdaUnhandledException

負載平衡器發生未處理的例外狀況。

LambdaInternalError

LambdaWebsocketNotSupported

Lambda 不支援 WebSockets 。

LambdaUserError

如果負載平衡器在轉送請求時遇到錯誤 AWS WAF,它會在存取日誌的 error_reason 欄位中存放下列其中一個錯誤代碼。

代碼 描述

WAFConnectionError

負載平衡器無法連線至 AWS WAF。

WAFConnectionTimeout

與 的連線 AWS WAF 逾時。

WAFResponseReadTimeout

AWS WAF 逾時的請求。

WAFServiceError

AWS WAF 傳回 5XX 錯誤。

WAFUnhandledException

負載平衡器發生未處理的例外狀況。

範例日誌項目

以下為日誌項目範例。請注意,分成多行顯示文字只是為了更輕鬆閱讀。

HTTP 輸入範例

以下是 HTTP 接聽程式 (連接埠 80 到連接埠 80) 的日誌項目範例:

http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-"
HTTPS 輸入範例

以下是 HTTPS 接聽程式 (連接埠 443 到連接埠 80) 的日誌項目範例:

https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012" 1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" TID_123456
HTTP/2 項目範例

以下是 HTTP/2 串流的日誌項目範例。

h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257 "GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337327-72bd00b0343d75b906739c42" "-" "-" 1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-"
Example WebSockets 項目

以下是 a WebSockets 連線的範例日誌項目。

ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587 "GET http://10.0.0.30:80/ HTTP/1.1" "-" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-"
Secured WebSockets 項目範例

以下是 Secure WebSockets 連線的範例日誌項目。

wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786 "GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-"
Lambda 函數的範例項目

以下是對 Lambda 函數之請求成功的範例日誌項目:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-"

以下是對 Lambda 函數之請求失敗的範例日誌項目:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-"

處理存取日誌檔

存取日誌檔已壓縮。如果您下載檔案,則必須先將其解壓縮才能看到資訊。

如果您的網站上有許多需求,負載平衡器產生的日誌檔可能有好幾 GB 的資料。您可能無法使用 line-by-line 處理來處理如此大量的資料。因此,您可能需要使用提供平行處理解決方案的分析工具。例如,您可以使用以下分析工具來分析和處理存取日誌: