访问日志

更新时间: 2025-01-06 11:50:32

在使用CLB的七层负载均衡(HTTP/HTTPS监听)期间,如果您需要通过负载均衡日志进行业务开发测试、故障处理、客户端用户行为数据分析等,您可使用CLB访问日志功能分析负载均衡日志。CLB结合阿里云日志服务提供的访问日志功能,可帮助您大幅提升日志数据分析、故障定位处理的效率。

功能简介

什么是CLB访问日志

CLB的访问日志功能收集了所有发送到CLB的请求的详细信息,包括请求时间、客户端IP地址、延迟、请求路径和服务器响应等。CLB作为公网访问入口,承载着海量的访问请求,您可以通过访问日志分析客户端用户行为、了解客户端用户的地域分布、进行问题排查等。

在开启CLB访问日志后,您可以将访问日志存储在日志服务(SLS)的日志库(Logstore)中,采集分析访问日志。您可以随时删除访问日志的配置。

CLB访问日志功能CLB无需额外付费,您仅需要支付日志服务的费用。日志服务计费可参考日志服务计费概述

重要
  • 只有七层CLB支持访问日志功能。

  • 确保HTTP header的值不包含||,否则有可能会造成导出的日志分割错位。

CLB访问日志优势

CLB访问日志有以下优势:

  • 简单

    将开发、运维人员从日志处理的繁琐耗时中解放出来,将更多的精力集中到业务开发和技术探索上。

  • 海量

    CLB的访问日志数据规模通常很大,处理访问日志需要考虑性能和成本问题。日志服务相较于自建开源方案有明显成本优势和性能优势。

  • 实时

    DevOps、监控、报警等场景要求日志数据的实时性。传统手段无法满足这一需求,例如将数据ETL到Hive等工具分析耗时很长,其中大量的工作花费在数据集成阶段。CLB访问日志结合阿里云日志服务强大的大数据计算能力,秒级分析处理实时产生的日志。

  • 灵活

    可按CLB实例级别开通或关闭访问日志功能,日志服务由CLB后台自动创建与对接,无需手动维护日志服务。

使用限制

仅CLB的七层负载均衡(HTTP/HTTPS监听)支持访问日志功能。

前提条件

设置访问日志

  1. 登录传统型负载均衡CLB控制台
  2. 在左侧导航栏,选择日志管理 > 访问日志

  3. 在顶部菜单栏,选择CLB实例所属地域。

  4. 如果您是首次使用该功能,需要进行账号授权。单击立即授权,在弹出的云资源访问授权页面单击同意授权

    说明

    该操作只有在首次配置时需要执行。

    如果您使用的是RAM用户,需要阿里云账号进行授权。具体操作,请参见授权RAM用户(子账号)使用CLB访问日志

  5. 访问日志(7层)页面,找到目标CLB实例,在操作列单击设置

  6. 日志设置面板,设置项目Project日志库Logstore,然后单击确定

    • 项目Project:项目(Project)日志服务中的资源管理单元,用于资源隔离和控制。

    • 日志库Logstore:日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。

    说明

    确保Project的名称全局唯一,且Project的地域和负载均衡实例的地域相同。

    配置负载均衡访问日志后,您可以在日志服务中查询、检索以下字段的日志信息。

    字段

    说明

    body_bytes_sent

    发送给客户端的http body的字节数。

    client_ip

    请求客户端IP地址。

    client_port

    请求客户端端口。

    host

    优先从请求参数中获取host,如果获取不到则从host header取值,如果还是获取不到则以处理请求的后端服务器IP地址作为host。

    http_host

    请求报文host header的内容。

    http_referer

    负载均衡收到的请求报文中HTTP的referer header的内容。

    http_user_agent

    负载均衡收到的请求报文中http_user_agent header的内容。

    http_x_forwarded_for

    负载均衡收到的请求报文中x-forwarded-for header的内容。

    http_x_real_ip

    客户端真实的IP地址。

    read_request_time

    负载均衡读取请求的时间,单位:毫秒。

    request_length

    请求报文的长度,包括startline、http header和http body。

    request_method

    请求报文的方法。

    request_time

    负载均衡收到第一个请求报文的时间到SLB返回应答之间的间隔时间,单位:秒。

    request_uri

    负载均衡收到的请求报文的URI。

    scheme

    请求的scheme,包括http、https。

    server_protocol

    负载均衡收到的HTTP协议的版本,例如HTTP/1.0或HTTP/1.1。

    slb_vport

    负载均衡的监听端口。

    slbid

    负载均衡实例ID。

    ssl_cipher

    建立SSL连接使用的密码,例如ECDHE-RSA-AES128-GCM-SHA256等。

    ssl_protocol

    建立SSL连接使用的协议,例如TLSv1.2。

    status

    负载均衡应答报文的状态。

    tcpinfo_rtt

    客户端TCP连接时间,单位:微秒。

    time

    日志记录时间。

    upstream_addr

    后端服务器的IP地址和端口。

    upstream_response_time

    从与后端建立连接开始到接受完数据然后关闭连接为止的时间,单位:秒。

    upstream_status

    负载均衡收到的后端服务器的响应状态码。

    vip_addr

    虚拟IP地址。

    write_response_time

    负载均衡写的响应时间,单位:毫秒。

查询访问日志

访问日志配置完成后,您可以通过日志服务控制台查询日志。

  1. 登录传统型负载均衡CLB控制台
  2. 在左侧导航栏,选择日志管理 > 访问日志

  3. 在顶部菜单栏,选择CLB实例所属地域。

  4. 访问日志(7层)页面,在目标实例操作列单击查看日志,跳转到日志服务页面。

  5. 日志服务配置完成后,如有客户端访问过CLB实例可查看到对应的日志信息。

  6. 输入SQL语句查询特定的访问日志。

    例如,输入如下SQL语句查询Top20的客户端,用于分析请求访问来源,辅助商业决策。

    * | select http_user_agent, count(*) as pv group by http_user_agent order by pv desc limit 20

分析访问日志

您可以通过日志服务的仪表盘分析访问日志,仪表盘提供更丰富的数据信息。

  1. 在上述日志服务页面,在左侧导航栏选择image.png,然后单击仪表盘列表

  2. 单击CLB对应访问日志的名称slb_layer7_access_center_cn,查看分析报表。

关闭访问日志

您可以通过关闭访问日志,不再收集CLB的访问日志。

说明

CLB实例关闭日志记录后,对应的日志Project和Logstore不会被删除,该实例的历史日志信息也不会立即删除,您仍可以在SLS中管理历史日志。

  1. 登录传统型负载均衡CLB控制台
  2. 在左侧导航栏,选择日志管理 > 访问日志

  3. 在顶部菜单栏,选择CLB实例所属地域。

  4. 访问日志(7层)页面,找到目标实例,然后在目标实例操作列单击关闭日志记录

  5. 在弹出的对话框中,单击确定,关闭该实例的访问日志。

相关文档

  • 日志服务产品详细介绍可参考什么是日志服务

  • 在使用CLB的七层负载均衡(HTTP/HTTPS监听)期间,如果您遇到业务故障或异常,怀疑是后端服务器问题,您可通过CLB访问日志功能快速定位异常后端服务器。CLB结合阿里云日志服务提供的访问日志功能,可帮助您大幅提升故障定位与处理的效率。详情可参考CLB使用访问日志快速定位异常后端服务器

上一篇: 查看操作日志 下一篇: 存储和下载健康检查日志
阿里云首页 负载均衡 相关技术圈