请求/响应采集

更新时间:
复制 MD 格式

请求/响应采集是网关的一项日志增强能力。开启后,网关会把经过它的请求和响应内容(请求头、请求体、响应头、响应体)记录到网关访问日志中,随访问日志一起投递到日志服务,便于问题排查、接口审计和流量分析。采集内容分为四项:请求头、请求体、响应头、响应体,可分别独立开关。该功能对该网关下的所有流量有效。

重要

开启该能力会显著增加日志量和日志成本,建议仅在调试时开启,问题定位完成后及时关闭。

网关版本要求

该功能需要较新的网关引擎版本。开启时系统会自动校验版本,不满足要求时会拒绝并提示升级。关闭操作不受版本限制,任何版本都可随时关闭。

网关类型

最低引擎版本

云原生 API 网关

2.1.18 及以上

AI 网关

2.1.20 及以上

若版本过低,请先升级网关引擎版本后再开启。

配置说明

功能包含以下配置项:

配置项

说明

默认值

记录请求 Headers

是否采集请求头

关闭

记录请求 Body

是否采集请求体

关闭

请求 Body 最大采集大小(Bytes)

请求体最大采集字节数

10240(10 KB)

记录响应 Headers

是否采集响应头

关闭

记录响应 Body

是否采集响应体

关闭

响应 Body 最大采集大小(Bytes)

响应体最大采集字节数

10240(10 KB)

Body 最大采集大小规则

  • 单位为字节(Bytes),仅在对应 Body 采集开启时生效。

  • 不填或填 0 及以下:按默认 10 KB 采集。

  • 上限为 10 MB,超过上限会自动按 10 MB 处理,不报错。

  • 超出该大小的 Body 内容会被截断,只保留前面部分。

开启与关闭

开启

  1. 进入网关详情页,在参数配置中找到访问日志投递配置区域。

  2. 找到请求/响应采集,单击其右侧的状态链接打开配置弹窗。

  3. 请求/响应采集弹窗中,按需开启记录请求 Headers记录请求 Body记录响应 Headers记录响应 Body,并设置 Body 最大采集大小。

  4. 单击保存。保存成功后,状态链接变为"已开启"。

关闭

在配置弹窗中关闭对应开关并单击保存。四项全部关闭即等同关闭整个功能,保存后状态链接变为"未开启",相关内容不再写入访问日志。

查看采集到的日志

采集到的内容会作为附加字段出现在网关访问日志中,随访问日志一起进入日志服务(SLS)。采集内容对应以下日志字段:

采集内容

访问日志字段

控制开关

请求头

request_headers 对象下的 envoy.all_request_headers 子字段

记录请求 Headers

请求体

顶层字段 request_body

记录请求 Body

响应头

response_headers 对象下的 envoy.all_response_headers 子字段

记录响应 Headers

响应体

顶层字段 response_body

记录响应 Body

字段说明

  • 请求体 / 响应体:直接写入顶层字段 request_body / response_body

  • 请求头 / 响应头:写入 request_headers / response_headers 对象内的 envoy.all_request_headers / envoy.all_response_headers 子字段。这两个对象也承载访问日志的自定义 Header 采集能力,因此采集到的完整头信息以子字段形式与其共存,不会互相覆盖。

字段出现规则

  • 字段按需出现:只有对应采集项开启时,相关字段才会被写入访问日志;未开启的采集项对应字段不会出现在日志中。

  • 你可以在日志服务(SLS)中按上述字段进行查询、过滤和分析。

  • 当请求体 / 响应体超过配置的最大采集大小时,对应字段中只保留被截断后的前面部分内容。

注意事项

  • 敏感数据:请求/响应的头和正文中可能包含令牌、密码、个人信息等敏感数据。开启前请评估合规与脱敏要求,仅开启必要的采集项,并合理设置 Body 大小。

  • Body 采集范围:并非所有类型的正文都会被记录(受内容类型限制),且超过设置大小的部分会被截断。

  • Body 最大采集大小上限maxSize 最大不超过 10 MB,超过将自动按 10 MB 处理。

  • 日志量与成本:采集请求/响应内容会明显增大访问日志体量,进而影响日志存储与投递成本,建议仅在调试时开启,用完及时关闭。

  • 生效范围:功能为网关级,作用于该网关下的全部接口/流量。