分析与日志
  • 日志服务
    • 概述
    • 实时日志
      • 实时日志概述
      • 推送至腾讯云 CLS
      • 推送至 AWS S3 兼容对象存储
      • 推送至 HTTP 服务器
    • 离线日志
    • 相关参考
      • 字段说明
        • 七层访问日志
        • 四层代理日志
      • 推送实时日志筛选条件
      • 自定义推送日志字段
  • 数据分析
    • 概述
    • 流量分析
    • 缓存分析
    • 安全分析
      • 站点安全概览
      • Web 安全分析
    • 四层代理
    • DNS 解析
    • 相关参考
      • 如何使用筛选条件
      • 如何修改查询时间范围
      • 如何导出统计数据与报告
  • AlarmService
    • Custom Statistical Metrics

自定义推送日志字段

如果您需要推送 HTTP 请求头、HTTP 响应头、Cookie、HTTP 请求正文中的某些字段值,您可以通过自定义日志字段功能将此类信息精确记录在日志中。

使用限制说明

目前仅实时日志-站点加速日志支持添加自定义字段;
同一个实时日志推送任务中,自定义字段名称不能重复;
最多配置 200 个自定义字段;
字段名称区分大小写,需要与 HTTP 行为中的原始字段名称完全匹配;
字段类型选择请求头、响应头、Cookie 时,字段名称可输入 1-100 个字符,允许的字符开头为字母,中间为字母、数字、-,结尾为字母、数字;
字段类型选择请求正文时,支持通过 Google RE2 正则表达式提取指定内容;
单个请求正文类型字段,正则表达式长度上限为 4KB;
单个请求正文类型字段,提取内容的长度上限为 1000 Bytes,超过此上限的内容将会被截断丢弃;
单个实时日志推送任务最多添加 5 个请求正文类型的自定义字段。

示例一:在日志中记录指定响应头部的值

示例场景

在某些业务场景下,了解响应体的大小对于监控网络流量和优化性能至关重要。为了实现这一目的,可以配置自定义日志字段来记录每个响应的Content-Length头部的值。

操作步骤

1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击需配置的站点
2. 在站点详情页面,单击日志服务 > 实时日志。
3. 在实时日志页面,单击新建推送任务。
4. 在选择日志源页面,填写任务名称、选择日志类型、服务区域、需推送日志的域名,单击下一步
5. 在定义推送内容页面,单击添加自定义字段
5.1 选择字段类型为响应头;
5.2 填写字段名称为Content-Length
5.3 单击保存

6. 完成目的地配置后,单击推送,在弹窗中确认相关费用提示,单击确定创建以保存配置。

示例二:在日志中记录请求正文中的指定内容

示例场景

假设您需要从 POST 请求中提取请求正文 JSON 对象中的 account 字段,用于分析不同账号用户的访问行为。

操作步骤

1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击需配置的站点
2. 在站点详情页面,单击日志服务 > 实时日志。
3. 在实时日志页面,单击新建推送任务。
4. 在选择日志源页面,填写任务名称、选择日志类型、服务区域、需推送日志的域名,单击下一步
5. 在定义推送内容页面,单击添加自定义字段
5.1 选择字段类型为请求正文。
5.2 填写字段名称为"account": "(.*?)"
5.3 单击保存



6. 完成目的地配置后,单击推送,在弹窗中确认相关费用提示,单击确定创建以保存配置。
7. 发送测试请求检查日志记录行为是否符合预期,测试命令如下:
curl -X POST https://www.example.com -H "Content-Type: application/json" -d '{"account": "user123", "password": "pass456"}'
8. 接收到的日志将会增加RequestBodyCustom1字段,示例以键值对形式展示如下。若您在单个实时日志推送任务中添加多个请求正文类型自定义字段,则接收到的日志将会依次增加RequestBodyCustom1RequestBodyCustom2……多个字段。
{"RequestBodyCustom1":"\"account\": \"user123\""}

参考资料

如您希望了解各种 HTTP 请求头和响应头的释义,以决定是否将它们记录至日志中,请参考 HTTP 标准头部说明