应用程序负载均衡器的访问日志
Elastic Load Balancing 提供了访问日志,该访问日志可捕获有关发送到负载均衡器的请求的详细信息。每个日志都包含信息 (例如,收到请求的时间、客户端的 IP 地址、延迟、请求路径和服务器响应)。您可以使用这些访问日志分析流量模式并解决问题。
访问日志记录是 Elastic Load Balancing 的一项可选功能,默认情况下已禁用此功能。为负载均衡器启用访问日志记录之后,Elastic Load Balancing 捕获日志并将其作为压缩文件存储在您指定的 Amazon S3 存储桶中。您可以随时禁用访问日志记录。
如果为 S3 存储桶启用了使用 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密,则每个访问日志文件在存储到 S3 存储桶之前会自动加密,并在您访问它时自动解密。您不需要执行任何操作,因为这与您访问加密的日志文件或未加密的日志文件的方式基本相同。每个日志文件均利用多因素强加密来使用唯一密钥加密。作为额外的保护,密钥本身将使用定期轮换的主密钥进行加密。这将保护存储在 S3 存储桶中的日志数据,并符合静态数据的合规性要求。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的使用具有 Amazon S3托管加密密钥的服务器端加密 (SSE-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
_load-balancer-id
_end-time
_ip-address
_random-string
.log.gz
- 存储桶
-
S3 存储桶的名称。
- 前缀
-
存储桶中的前缀 (逻辑层级结构)。如果您不指定前缀,则会将日志置于存储桶的根级。
- aws-account-id
-
拥有者的 AWS 账户 ID。
- 区域
-
负载均衡器和 S3 存储桶所在的区域。
- yyyy/mm/dd
-
传输日志的日期。
- load-balancer-id
-
负载均衡器的资源 ID。如果资源 ID 包含任何正斜杠 (/),这些正斜杠将替换为句点 (.)。
- end-time
-
日志记录间隔结束的日期和时间。例如,结束时间 20140215T2340Z 包含在 23:35 和 23:40 之间发出的请求的条目。
- ip-address
-
处理请求的负载均衡器节点的 IP 地址。对于内部负载均衡器,这是私有 IP 地址。
- random-string
-
系统生成的随机字符串。
以下是示例日志文件名:
s3://my-bucket/prefix/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2016/05/01/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20140215T2340Z_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 将尽力记录请求。我们建议您使用访问日志来了解请求性质,而不是作为所有请求的完整描述。
语法
下表按顺序描述了访问日志条目的字段。使用空格分隔所有字段。在引入新的字段时,会将这些字段添加到日志条目的末尾。您应忽略日志条目结尾的任何不需要的字段。
字段 | 说明 |
---|---|
type |
请求或连接的类型。可能的值如下 (忽略任何其他值):
|
timestamp |
负载均衡器生成对客户端的响应的时间 (采用 ISO 8601 格式)。对于 WebSockets,这是关闭连接的时间。 |
elb |
负载均衡器的资源 ID。如果您正在解析访问日志条目,请注意,资源 ID 可包含正斜杠 (/)。 |
client:port |
请求客户端的 IP 地址和端口。 |
target:port |
处理此请求的目标的 IP 地址和端口。 如果客户端没有发送完整请求,则负载均衡器无法将请求分派到目标,并且此值设置为 -。 如果目标是 Lambda 函数,则此值设置为 -。 如果 AWS WAF 拦截了此请求,该值会被设置为 -,且 elb_status_code 的值会被设置为 403。 |
request_processing_time |
从负载均衡器收到请求到将请求发送到目标所用的总时间(以秒为单位,精度为毫秒)。 如果负载均衡器无法将请求分派到目标,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。 如果注册目标在空闲超时之前未响应,则此值还可设置为 -1。 |
target_processing_time |
从负载均衡器将请求发送到目标到该目标开始发送响应标头所用的总时间(以秒为单位,精度为毫秒)。 如果负载均衡器无法将请求分派到目标,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。 如果注册目标在空闲超时之前未响应,则此值还可设置为 -1。 |
response_processing_time |
从负载均衡器收到来自目标的响应标头到开始向客户端发送响应所用的总时间(以秒为单位,精度为毫秒)。此时间包括在负载均衡器上的排队时间以及从负载均衡器到客户端的连接获取时间。 如果负载均衡器无法将请求发送到目标,则此值设置为 -1。如果目标在空闲超时前关闭连接,或客户端发送了格式错误的请求,则会发生这种情况。 |
elb_status_code |
来自负载均衡器的响应的状态代码。 |
target_status_code |
来自目标的响应的状态代码。仅在已建立与目标的连接且目标已发送响应的情况下记录此值。否则,其设置为 -。 |
received_bytes |
从客户端 (申请方) 接收的请求大小 (以字节为单位)。对于 HTTP 请求,这包括标头。对于 WebSockets,这是通过连接从客户端接收的字节总数。 |
sent_bytes |
发送到客户端 (申请方) 的响应的大小 (以字节为单位)。对于 HTTP 请求,这包括标头。对于 WebSockets,这是通过连接发送到客户端的字节总数。 |
"请求" |
来自客户端的请求行,包含在双引号内并采用以下格式进行记录:HTTP 方法 + 协议://主机:端口/uri + HTTP 版本。 |
"user_agent" |
标识发出请求的客户端的用户代理字符串(用双引号括起来)。该字符串包含一个或多个产品标识符 (product[/version])。如果字符串长度超过 8 KB,则将被截断。 |
ssl_cipher |
[HTTPS 侦听器] SSL 密码。仅当在成功协商后建立传入 连接时记录此值。否则,其设置为 -。 |
ssl_protocol |
[HTTPS 侦听器] SSL 协议。仅当在成功协商后建立传入 连接时记录此值。否则,其设置为 -。 |
target_group_arn |
目标组的 Amazon 资源名称 (ARN)。 |
"trace_id" |
X-Amzn-Trace-Id 标头的内容(用双引号括起来)。 |
"domain_name" |
[HTTPS 侦听器] TLS 握手期间客户端提供的 SNI 域(用双引号括起来)。如果客户端不支持 SNI 或此域与证书不匹配且将向客户端提供默认证书,则此值将设置为 -。 |
"chosen_cert_arn" |
[HTTPS 侦听器] 向客户端提供的证书的 ARN(用双引号括起来)。如果重复使用会话,则将此值设置为 |
matched_rule_priority |
匹配请求的规则的优先级值。如果匹配了某个规则,则此值的范围介于 1 和 50000 之间。如果未匹配任何规则并且已执行默认操作,则此值设置为 0。如果错误发生在规则评估时,则它设置为 -1。对于任何其他错误,它设置为 -。 |
request_creation_time |
负载均衡器从客户端收到请求的时间 (采用 ISO 8601 格式)。 |
"actions_executed" |
处理请求时执行的操作(用双引号括起来)。此值是一个逗号分隔的列表,可以包含以下可能的值: |
"redirect_url" |
HTTP 响应位置标头的重定向目标的 URL,使用双引号括起。如果不执行重定向操作,则此值设置为 -。 |
"error_reason" |
原因代码(包含在双引号内)。如果对 Lambda 函数的请求成功,则此值设置为 -。如果请求失败,则为错误原因代码中描述的错误代码之一。如果目标不是 Lambda 函数,则此值设置为 -。 |
错误原因代码
如果对 Lambda 函数的请求失败,则负载均衡器会在访问日志的 error_reason 字段中存储下列原因代码之一。负载均衡器还会增加相应的 CloudWatch 指标。有关更多信息,请参阅 Lambda 调用操作。
代码 | 说明 | 指标 |
---|---|---|
|
负载均衡器无权调用 Lambda 函数。 |
|
|
尝试连接到 Lambda 时发生超时。 |
|
|
Amazon EC2 在函数初始化期间已拒绝访问 Lambda。 |
|
|
Amazon EC2 在函数初始化期间已限制 Lambda。 |
|
|
Amazon EC2 在函数初始化期间遇到意外异常。 |
|
|
Lambda 无法在 Lambda 函数配置中指定的 VPC 中创建网络接口,因为超出了网络接口的限制。 |
|
|
来自 Lambda 函数的响应的格式不正确或缺少必填字段。 |
|
|
指定版本的 Lambda 运行时不受支持。 |
|
|
Lambda 函数配置中指定的安全组 ID 无效。 |
|
|
Lambda 函数配置中指定的子网 ID 无效。 |
|
|
Lambda 无法解压缩指定的函数 zip 文件。 |
|
|
Lambda 无法解密环境变量,因为对 KMS 密钥的访问已被拒绝。检查 Lambda 函数的 KMS 权限。 |
|
|
Lambda 无法解密环境变量,因为指定的 KMS 密钥已被禁用。检查 Lambda 函数的 KMS 密钥设置。 |
|
|
Lambda 无法解密环境变量,因为 KMS 密钥的状态无效。检查 Lambda 函数的 KMS 密钥设置。 |
|
|
Lambda 无法解密环境变量,因为找不到 KMS 密钥。检查 Lambda 函数的 KMS 密钥设置。 |
|
|
请求正文的大小已超过 1 MB。 |
|
|
找不到 Lambda 函数。 |
|
|
响应的大小已超过 1 MB。 |
|
|
Lambda 遇到了内部错误。 |
|
|
Lambda 无法为 Lambda 函数设置 VPC 访问权限,因为一个或多个子网没有可用的 IP 地址。 |
|
|
Lambda 函数受到限制,因为请求过多。 |
|
|
Lambda 函数遇到了未处理的异常。 |
|
示例
以下是示例日志条目。请注意,文本以多行形式显示只是为了更方便阅读。
示例 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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 0 2018-07-02T22:22:48.364000Z "forward" "-" "-"
示例 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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-west-2:123456789012:certificate/12345678-1234-1234-1234-123456789012" 1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-"
示例 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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337327-72bd00b0343d75b906739c42" "-" "-" 1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-"
示例 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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-"
安全 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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-"
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-cn:elasticloadbalancing:us-west-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-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse"
存储桶权限
在启用访问日志记录时,您必须为访问日志指定 S3 存储桶。存储桶必须满足以下要求。
要求
-
存储桶必须位于与负载均衡器相同的区域中。
-
存储桶必须具有为 Elastic Load Balancing 授予将访问日志写入存储桶的权限的存储桶策略。存储桶策略是 JSON 语句的集合,这些语句以访问策略语言编写,用于为存储桶定义访问权限。每个语句都包括有关单个权限的信息并包含一系列元素。
使用以下选项之一准备存储访问日志的 S3 存储桶。
选项
-
如果您需要创建存储桶并计划使用控制台启用访问日志记录,则可跳至启用访问日志记录并选择让控制台为您创建存储桶和存储桶策略的选项。
-
如果您需要创建存储访问日志的存储桶并且要使用 AWS CLI 或 API,请使用以下过程创建存储桶并手动添加所需的存储桶策略。
-
如果您已具有存储访问日志的存储桶,请按照以下过程的步骤 1 打开 Amazon S3 控制台,然后跳至步骤 4 以添加或更新存储桶策略。
使用所需权限创建 Amazon S3 存储桶
-
通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/。
-
[跳至使用现有存储桶] 选择 Create Bucket (创建存储桶)。
-
[跳至使用现有存储桶] 在 Create a Bucket (创建存储桶) 对话框中,执行以下操作:
-
对于 Bucket Name,输入您的存储桶的名称 (例如
my-loadbalancer-logs
)。此名称在 Amazon S3 内所有现有存储桶名称中必须唯一。在某些 区域,可能对存储桶名称有其他限制。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的存储桶限制。 -
对于 Region,选择在其中创建负载均衡器的区域。
-
选择 Create。
-
-
选择存储桶,然后选择 Permissions。
-
选择 Bucket Policy。如果存储桶具有已附加策略,您可以将所需的语句添加到现有策略中。
-
选择 Policy generator。在 AWS Policy Generator 页面上,执行以下操作:
-
对于 Select Type of Policy,选择 S3 Bucket Policy。
-
对于 Effect,选择 Allow。
-
对于 Principal (委托人),指定下列 AWS 账户 ID 之一以向 Elastic Load Balancing 授予对 S3 存储桶的访问权限。使用与您的负载均衡器和存储桶所在区域对应的账户 ID。
区域 区域名称 Elastic Load Balancing 账户 ID us-east-1
美国东部(弗吉尼亚北部) 127311923021 us-east-2
美国东部(俄亥俄州) 033677994240 us-west-1
美国西部(加利福尼亚北部) 027434742980 us-west-2
美国西部(俄勒冈) 797873946194 ca-central-1
加拿大 (中部) 985666609251 eu-central-1
欧洲(法兰克福) 054676820928 eu-west-1
欧洲(爱尔兰) 156460612806 eu-west-2
欧洲 (伦敦) 652711504416 eu-west-3
欧洲 (巴黎) 009996457667 eu-north-1
欧洲(斯德哥尔摩) 897822967062 ap-northeast-1
亚太区域(东京) 582318560864 ap-northeast-2
亚太区域(首尔) 600734575887 ap-northeast-3
亚太区域 (大阪当地) 383597477331 ap-southeast-1
亚太区域(新加坡) 114774131450 ap-southeast-2
亚太区域(悉尼) 783225319266 ap-south-1
亚太地区(孟买) 718504428378 sa-east-1
南美洲(圣保罗) 507241528517 us-gov-west-1
*AWS GovCloud (US-West) 048591011584 us-gov-east-1
*AWS GovCloud(美国东部) 190560391635 cn-north-1
*中国(北京) 638102146993 cn-northwest-1
*中国 (宁夏) 037604701340 * 这些区域需要单独的账户。有关更多信息,请参阅 AWS GovCloud(美国西部) 和 中国(北京)。
-
对于 Actions (操作),请选择
PutObject
以允许 Elastic Load Balancing 将对象存储在 S3 存储桶中。 -
对于 Amazon Resource Name (ARN),采用以下格式输入 S3 存储桶的 ARN。对于
aws-account-id
,指定拥有负载均衡器的 AWS 账户的 ID (例如123456789012
)。arn:aws-cn:s3:::
bucket
/prefix
/AWSLogs/aws-account-id
/*请注意,如果您使用的是
us-gov-west-1
区域,请在 ARN 中指定arn:aws-us-gov
而非arn:aws
。 -
依次选择 Add Statement 和 Generate Policy。该策略文档应该类似于以下内容:
{ "Id": "Policy1429136655940", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1429136633762", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws-cn:s3:::my-loadbalancer-logs/my-app/AWSLogs/123456789012/*", "Principal": { "AWS": [ "797873946194" ] } } ] }
-
如果您创建新的存储桶策略,请复制整个策略文档,然后选择 Close。
如果您正在编辑现有存储桶策略,请复制策略文档中的新语句 (
Statement
元素的 [ 和 ] 之间的文本),然后选择 Close。
-
-
返回 Amazon S3 控制台,并将策略粘贴到适当的文本区域中。
-
选择 Save。
启用访问日志记录
在为负载均衡器启用访问日志记录时,您必须指定负载均衡器将在其中存储日志的 S3 存储桶的名称。存储桶必须位于负载均衡器所在的区域,并且必须具有向 Elastic Load Balancing 授予在存储桶中写入访问日志的权限的存储桶策略。该存储桶可由与拥有负载均衡器的账户不同的账户拥有。
使用控制台启用访问日志记录
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。
-
在导航窗格中,选择 Load Balancers。
-
选择您的负载均衡器。
-
在 Description 选项卡上,选择 Edit attributes。
-
在 Edit load balancer attributes 页面上,执行以下操作:
-
选择 Enable access logs。
-
对于 S3 location,键入 S3 存储桶的名称,包括任何前缀 (例如,
my-loadbalancer-logs/my-app
)。您可以指定现有存储桶的名称或新存储桶名称。如果您指定现有存储桶,请确保您拥有此存储桶,且配置了必要的存储桶策略。 -
(可选) 如果存储桶不存在,请选择 Create this location for me。您必须指定在 Amazon S3 中的所有现有存储桶名称中唯一的名称,并遵循 DNS 命名约定。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的存储桶命名规则。
-
选择 Save。
-
使用 AWS CLI 启用访问日志记录
使用 modify-load-balancer-attributes 命令。
验证 Elastic Load Balancing 是否在 S3 存储桶中创建了测试文件
在为负载均衡器启用访问日志记录后,Elastic Load Balancing 将验证 S3 存储桶,并创建测试文件以确保存储桶策略指定所需权限。您可以使用 Amazon S3 控制台验证是否已创建测试文件。请注意,测试文件不是实际的访问日志文件;它不包含示例记录。
-
通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/。
-
对于 All Buckets,选择您的 S3 存储桶。
-
导航到测试日志文件。路径应如下所示:
my-bucket
/prefix
/AWSLogs/123456789012
/ELBAccessLogTestFile
管理保存访问日志的 S3 存储桶
启用访问日志记录之后,要删除存有访问日志的存储桶,请确保首先禁用访问日志记录。否则,如果在一个不属于您的 AWS 账户中创建了具有相同名称和必要的存储桶策略的新存储桶,Elastic Load Balancing 会将您的负载均衡器的访问日志写入这个新存储桶。
禁用访问日志记录
您随时可为您的负载均衡器禁用访问日志记录。在禁用访问日志记录后,您的访问日志将在 S3 存储桶中保留,直至您将其删除。有关更多信息,请参阅 Amazon Simple Storage Service 控制台用户指南 中的使用存储桶。
使用控制台禁用访问日志记录
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。
-
在导航窗格中,选择 Load Balancers。
-
选择您的负载均衡器。
-
在 Description 选项卡上,选择 Edit attributes。
-
在 Edit load balancer attributes 页面上,清除 Enable access logs。
-
选择 Save。
使用 AWS CLI 禁用访问日志记录
使用 modify-load-balancer-attributes 命令。
处理访问日志文件
访问日志文件是压缩文件。如果您使用 Amazon S3 控制台打开这些文件,则将对其进行解压缩,并且将显示信息。如果您下载这些文件,则必须对其进行解压才能查看信息。
如果您的网站上有大量需求,则负载均衡器可以生成包含大量数据的日志文件 (以 GB 为单位)。您可能无法通过逐行处理来处理数量如此庞大的数据。因此,您可能必须使用提供并行处理解决方案的分析工具。例如,您可以使用以下分析工具分析和处理访问日志:
-
Amazon Athena 是一种交互式查询服务,让您能够使用标准 SQL 在 Amazon S3 中轻松分析数据。有关更多信息,请参阅 Amazon Athena 用户指南 中的查询 Application Load Balancer 日志。