访问日志

更新时间: 2025-02-13 16:49:57

在使用CLB的七层负载均衡时,如果您需要进行业务开发测试、故障处理或用户行为数据分析,您可使用CLB访问日志功能。CLB访问日志功能结合阿里云日志服务,可帮助您大幅提升日志数据分析、故障定位处理的效率。

功能简介

什么是CLB访问日志

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

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

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

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

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

CLB访问日志优势

CLB访问日志有以下优势:

  • 简单

    解放开发、运维人员的时间,专注业务开发和技术探索。

  • 海量

    处理海量日志数据,日志服务在性能和成本上优于自建方案。

  • 实时

    满足DevOps、监控、报警等场景的实时性需求,结合阿里云日志服务,秒级分析处理日志。

  • 灵活

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

使用限制

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

前提条件

设置访问日志

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

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

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

    说明

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

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

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

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

    • 项目Project项目(Project)是日志服务的资源管理单元,用于资源隔离和控制。建议使用不同的Project管理不同的应用、产品或项目中的数据。

    • 日志库Logstore日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。建议同个应用中不同类型的日志创建独立的Logstore。

      • 选择现有Logstore:该功能会默认开启选中的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. 在弹出的对话框中,单击确定,关闭该实例的访问日志。

相关文档

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