Application Load Balancer 的访问日志 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

拥有者的 Amazon 账户 ID。

region

负载均衡器和 S3 存储桶所在的区域。

yyyy/mm/dd

传输日志的日期。

load-balancer-id

负载均衡器的资源 ID。如果资源 ID 包含任何正斜杠 (/),这些正斜杠将替换为句点 (.)。

end-time

日志记录间隔结束的日期和时间。例如,结束时间 20140215T2340Z 包含在 UTC 时间(即祖鲁时间)23:35 和 23:40 之间发出的请求的条目。

ip-address

处理请求的负载均衡器节点的 IP 地址。对于内部负载均衡器,这是私有 IP 地址。

random-string

系统生成的随机字符串。

以下是一个带前缀的日志文件名示例:

s3://my-bucket/my-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://my-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)的详细信息。对于 WebSockets,只有在连接关闭后才会写入条目。如果无法建立升级后的连接,则 HTTP 或 HTTPS 请求的条目相同。

重要

Elastic Load Balancing 将尽力记录请求。我们建议您使用访问日志来了解请求性质,而不是作为所有请求的完整描述。

语法

下表按顺序描述了访问日志条目的字段。使用空格分隔所有字段。在引入新的字段时,会将这些字段添加到日志条目的末尾。您应忽略日志条目结尾的任何不需要的字段。

字段 描述

类型

请求或连接的类型。可能的值如下 (忽略任何其他值):

  • http - HTTP

  • https – HTTP over TLS

  • h2 – HTTP/2 over TLS

  • grpcs – gRPC over TLS

  • ws — WebSockets

  • wss— WebSockets 通过 TLS

time

负载均衡器生成对客户端的响应的时间 (采用 ISO 8601 格式)。因为 WebSockets,这是连接关闭的时间。

elb

负载均衡器的资源 ID。如果您正在解析访问日志条目,请注意,资源 ID 可包含正斜杠 (/)。

client:port

请求客户端的 IP 地址和端口。如果负载均衡器前面有代理,则此字段将会包含该代理的 IP 地址。

target:port

处理此请求的目标的 IP 地址和端口。

如果客户端没有发送完整请求,则负载均衡器无法将请求分派到目标,并且此值设置为 -。

如果目标是 Lambda 函数,则此值设置为 -。

如果 Amazon WAF 拦截了此请求,该值会被设置为 -,且 elb_status_code 的值会被设置为 403。

request_processing_time

从负载均衡器收到请求到将请求发送到目标所用的总时间(以秒为单位,精度为毫秒)。

如果负载均衡器无法将请求分派到目标,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。

如果注册目标在空闲超时之前未响应,则此值还可设置为 -1。

如果您的应用程序负载均衡器已启用 Amazon WAF,或者目标类型为 Lambda 函数,则客户端发送 POST 请求所需数据的时间将计入 request_processing_time

target_processing_time

从负载均衡器将请求发送到目标到该目标开始发送响应标头所用的总时间(以秒为单位,精度为毫秒)。

如果负载均衡器无法将请求分派到目标,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。

如果注册目标在空闲超时之前未响应,则此值还可设置为 -1。

如果应用程序负载均衡器未启用 Amazon WAF,则客户端发送 POST 请求所需数据的时间将计入 target_processing_time

response_processing_time

从负载均衡器收到来自目标的响应标头到开始向客户端发送响应所用的总时间(以秒为单位,精度为毫秒)。此时间包括在负载均衡器上的排队时间以及从负载均衡器到客户端的连接获取时间。

如果负载平衡器没有接收到来自目标的响应,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。

elb_status_code

来自负载均衡器的响应的状态代码。

target_status_code

来自目标的响应的状态代码。仅在已建立与目标的连接且目标已发送响应的情况下记录此值。否则,其设置为 -。

received_bytes

从客户端 (申请方) 接收的请求大小 (以字节为单位)。对于 HTTP 请求,这包括标头。对于 WebSockets,这是在连接上从客户端接收的总字节数。

sent_bytes

发送到客户端 (申请方) 的响应的大小 (以字节为单位)。对于 HTTP 请求,这包括标头。对于 WebSockets,这是在连接上发送给客户端的总字节数。

"request"

来自客户端的请求行,包含在双引号内并采用以下格式进行记录:HTTP 方法 + 协议://主机:端口/uri + HTTP 版本。负载均衡器将保留客户端记录请求 URI 时发送的 URL。它不设置访问日志文件的内容类型。当您处理此字段时,请考虑客户端发送 URL 的方式。

"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 侦听器] TLS 握手期间客户端提供的 SNI 域(用双引号括起来)。如果客户端不支持 SNI 或此域与证书不匹配且将向客户端提供默认证书,则此值将设置为 -。

"chosen_cert_arn"

[HTTPS 侦听器] 向客户端提供的证书的 ARN(用双引号括起来)。如果重复使用会话,则将此值设置为 session-reused。如果侦听器不是 HTTPS 侦听器,则此值设置为 -。

matched_rule_priority

匹配请求的规则的优先级值。如果匹配了某个规则,则此值的范围介于 1 和 50000 之间。如果未匹配任何规则并且已执行默认操作,则此值设置为 0。如果错误发生在规则评估时,则它设置为 -1。对于任何其他错误,它设置为 -。

request_creation_time

负载均衡器从客户端收到请求的时间 (采用 ISO 8601 格式)。

"actions_executed"

处理请求时执行的操作(用双引号括起来)。此值是一个逗号分隔的列表,可以包含 采取的操作 中所描述的值。如果未执行任何操作(例如,针对格式错误的请求的操作),则此值设置为 - 。

"redirect_url"

HTTP 响应位置标头的重定向目标的 URL,使用双引号括起。如果不执行重定向操作,则此值设置为 -。

"error_reason"

错误原因代码(包含在双引号内)。如果请求失败,则这是 错误原因代码 中描述的错误代码之一。如果所采取的操作不包含身份验证操作或目标不是 Lambda 函数,则此值设置为 -。

“target:port_list”

处理此请求的目标的 IP 地址和端口的列表,各个地址和端口之间用空格分隔,并且用双引号括起。当前,此列表可以包含一个项,并且与 target:port 字段匹配。

如果客户端没有发送完整请求,则负载均衡器无法将请求分派到目标,并且此值设置为 -。

如果目标是 Lambda 函数,则此值设置为 -。

如果 Amazon WAF 拦截了此请求,该值会被设置为 -,且 elb_status_code 的值会被设置为 403。

“target_status_code_list”

目标响应的状态代码列表,代码之间用空格分隔,并且用双引号括起来。当前,此列表可以包含一个项,并且与 target_status_code 字段匹配。

仅在已建立与目标的连接且目标已发送响应的情况下记录此值。否则,其设置为 -。

"classification"

异步缓解的分类(包含在双引号内)。如果请求不符合 RFC 7230 标准,则可能的值为 “可接受”、“不明确” 和 “严重”。

如果请求符合 RFC 7230 标准,则此值设置为“-”。

"classification_reason"

分类原因代码(包含在双引号内)。如果请求不符合 RFC 7230 标准,则这是 分类原因 中描述的分类代码之一。如果请求符合 RFC 7230 标准,则此值设置为“-”。

采取的操作

负载均衡器将其采取的操作存储在访问日志的 actions_executed 字段中。

  • authenticate – 负载均衡器验证会话,验证用户身份,并将用户信息添加到规则配置所指定的请求标头中。

  • fixed-response – 负载均衡器发出规则配置所指定的固定响应。

  • forward – 负载均衡器将请求转发到规则配置所指定的目标。

  • redirect – 负载均衡器将请求重定向到规则配置所指定的另一个 URL。

  • waf — 负载均衡器将请求转发到 Amazon WAF 以确定是否应将请求转发到目标。如果这是最终操作,则 Amazon WAF 确定应拒绝请求。

  • waf-failed — 负载均衡器尝试将请求转发到 Amazon WAF,但此过程失败。

分类原因

如果请求不符合 RFC 7230 标准,负载均衡器将在访问日志的 classification_reason 字段中存储以下代码之一。有关更多信息,请参阅 异步缓解模式

代码 描述 分类。

AmbiguousUri

请求 URI 包含控制字符。

不明确

BadContentLength

Content-Length 标头包含一个无法解析或不是有效数字的值。

严重

BadHeader

标头包含 Null 字符或回车符。

严重

BadTransferEncoding

Transfer-Encoding 标头包含错误的值。

严重

BadUri

请求 URI 包含 Null 字符或回车符。

严重

BadMethod

请求方法格式不正确。

严重

BadVersion

请求版本格式不正确。

严重

BothTeClPresent

请求同时包含 Transfer-Encoding 标头和 Content-Length 标头。

不明确

DuplicateContentLength

存在多个具有相同值的 Content-Length 标头。

不明确

EmptyHeader

标头是空的,或者有一行中只包含空格。

不明确

GetHeadZeroContentLength

对于 GET 或 HEAD 请求,有一个值为 0 的 Content-Length 标头。

可接受

MultipleContentLength

存在多个具有不同值的 Content-Length 标头。

严重

MultipleTransferEncodingChunked

存在多个 Transfer-Encoding: chunked 标头。

严重

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

状态参数无效。

ELBAuthFailure

AuthInvalidTokenResponse

来自令牌终端节点的响应无效。

ELBAuthFailure

AuthInvalidUserinfoResponse

来自用户信息终端节点的响应无效。

ELBAuthFailure

AuthMissingCodeParam

来自授权终端节点的身份验证响应缺少名为“code”的查询参数。

ELBAuthFailure

AuthMissingHostHeader

来自授权终端节点的身份验证响应缺少主机标头字段。

ELBAuthError

AuthMissingStateParam

来自授权终端节点的身份验证响应缺少名为“state”的查询参数。

ELBAuthFailure

AuthTokenEpRequestFailed

令牌终端节点存在错误响应(非 2XX)。

ELBAuthError

AuthTokenEpRequestTimeout

负载均衡器无法与令牌终端节点通信。

ELBAuthError

AuthUnhandledException

负载均衡器遇到未处理的异常。

ELBAuthError

AuthUserinfoEpRequestFailed

IdP 用户信息终端节点存在错误响应(非 2XX)。

ELBAuthError

AuthUserinfoEpRequestTimeout

负载均衡器无法与 IdP 用户信息终端节点通信。

ELBAuthError

AuthUserinfoResponseSizeExceeded

IdP 返回的声明大小超过 11 K 字节。

ELBAuthUserClaimsSizeExceeded

如果对加权目标组的请求失败,则负载均衡器会在访问日志的 error_reason 字段中存储下列错误代码之一。

代码 描述

AWSALBTGCookieInvalid

用于加权目标群体的 AWSALBTG Cookie 无效。例如,当 Cookie 值采用 URL 编码时,负载均衡器就会返回此错误。

WeightedTargetGroupsUnhandledException

负载均衡器遇到未处理的异常。

如果对 Lambda 函数的请求失败,则负载均衡器会在访问日志的 error_reason 字段中存储下列原因代码之一。负载均衡器还会增加相应的 CloudWatch 指标。有关更多信息,请参阅 Lambda 调用操作。

代码 描述 指标

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

WebSockets Lambda 不支持。

LambdaUserError

如果负载均衡器在将请求转发至 Amazon WAF 时遇到错误,则会在访问日志的 error_reason 字段中存储下列错误代码之一。

代码 描述

WAFConnectionError

负载均衡器无法连接到 Amazon WAF。

WAFConnectionTimeout

与 Amazon WAF 的连接超时。

WAFResponseReadTimeout

对 Amazon WAF 的请求超时。

WAFServiceError

Amazon 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" "-" "-"
示例 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" "-" "-"
示例 WebSockets 条目

以下是 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" "-" "-"
安全 WebSockets 入口示例

以下是安全 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" "-" "-" "-" "-"

处理访问日志文件

访问日志文件是压缩文件。如果您使用 Amazon S3 控制台打开这些文件,则将对其进行解压缩,并且将显示信息。如果您下载这些文件,则必须对其进行解压才能查看信息。

如果您的网站上有大量需求,则负载均衡器可以生成包含大量数据的日志文件 (以 GB 为单位)。您可能无法使用处理来 line-by-line 处理如此大量的数据。因此,您可能必须使用提供并行处理解决方案的分析工具。例如,您可以使用以下分析工具分析和处理访问日志: