请求/响应采集是网关的一项日志增强能力。开启后,网关会把经过它的请求和响应内容(请求头、请求体、响应头、响应体)记录到网关访问日志中,随访问日志一起投递到日志服务,便于问题排查、接口审计和流量分析。采集内容分为四项:请求头、请求体、响应头、响应体,可分别独立开关。该功能对该网关下的所有流量有效。
开启该能力会显著增加日志量和日志成本,建议仅在调试时开启,问题定位完成后及时关闭。
网关版本要求
该功能需要较新的网关引擎版本。开启时系统会自动校验版本,不满足要求时会拒绝并提示升级。关闭操作不受版本限制,任何版本都可随时关闭。
网关类型 | 最低引擎版本 |
云原生 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 内容会被截断,只保留前面部分。
开启与关闭
开启
进入网关详情页,在参数配置中找到访问日志投递配置区域。
找到请求/响应采集,单击其右侧的状态链接打开配置弹窗。
在请求/响应采集弹窗中,按需开启记录请求 Headers、记录请求 Body、记录响应 Headers、记录响应 Body,并设置 Body 最大采集大小。
单击保存。保存成功后,状态链接变为"已开启"。
关闭
在配置弹窗中关闭对应开关并单击保存。四项全部关闭即等同关闭整个功能,保存后状态链接变为"未开启",相关内容不再写入访问日志。
查看采集到的日志
采集到的内容会作为附加字段出现在网关访问日志中,随访问日志一起进入日志服务(SLS)。采集内容对应以下日志字段:
采集内容 | 访问日志字段 | 控制开关 |
请求头 |
| 记录请求 Headers |
请求体 | 顶层字段 | 记录请求 Body |
响应头 |
| 记录响应 Headers |
响应体 | 顶层字段 | 记录响应 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 处理。日志量与成本:采集请求/响应内容会明显增大访问日志体量,进而影响日志存储与投递成本,建议仅在调试时开启,用完及时关闭。
生效范围:功能为网关级,作用于该网关下的全部接口/流量。