配置API的Kafka日志推送
支持收集已开放API的调用日志信息。Kafka日志推送策略提供了把API的详细调用日志推送到Kafka的能力,方便用户获取API的调用日志信息。
如果此策略在当前实例中不支持,请联系技术支持升级实例到最新版本。
策略参数会明文展示,为防止信息泄露,请谨慎配置。
使用限制
- 同一个APIG实例内最多可创建5个Kafka日志推送策略。
- API绑定Kafka日志推送策略后,性能将损耗30%。
- 日志支持最大推送大小为4K,请求体/响应体支持最大推送大小为1K,超出部分会被截断。
- 一个API只能绑定一个相同类型的策略。
- 策略和API本身相互独立,只有为API绑定策略后,策略才对API生效。为API绑定策略时需指定发布环境,策略只对指定环境上的API生效。
- 策略的绑定、解绑、更新会实时生效,不需要重新发布API。
- API的下线操作不影响策略的绑定关系,再次发布后仍然会带有下线前绑定的策略。
- 如果策略与API有绑定关系,则策略无法执行删除操作。
创建Kafka日志推送策略
- 进入API网关控制台页面。
- 根据实际业务在左侧导航栏上方选择实例。
- 在左侧导航栏选择“API管理 > API策略”。
- 在“策略管理”页面,单击“创建策略”。
- 在“选择策略类型”弹窗中,选择“插件策略 > Kafka日志推送”。
- 在“创建策略”弹窗中,配置策略信息。
表1 Kafka日志推送参数说明 参数
说明
策略名称
填写策略的名称,根据业务规划自定义。建议您按照一定的命名规则填写策略名称,方便您快速识别和查找。
策略类型
固定为“Kafka日志推送”。
描述
填写策略的描述信息。
策略内容
策略的配置内容,支持表单配置和脚本配置两种方式。
策略基本信息
Broker地址
填写目标Kafka的连接地址,建立连接关系。多个地址间以英文逗号(,)隔开。
Topic主题
填写目标Kafka上报日志的主题。
Key
填写日志的Key值,表示日志存储在Kafka的指定分区,可以当成有序消息队列使用。如果Key为空,则日志分布式存储在不同的消息分区。
失败重试分配
日志推送到Kafka失败后的重试配置。
- 重试次数:失败后的重试次数,范围为0-5次。
- 重试间隔时间:失败后的重试时间间隔,范围为1-10秒。
SASL配置信息
安全协议
连接目标Kafka所使用的安全协议。
- PLAINTEXT:默认接入点的用户认证协议。
- SASL_PLAINTEXT:SASL用户认证协议。
- SASL_SSL:SSL用户认证协议。
消息收发机制
目标Kafka的消息收发机制,默认为PLAIN。
SASL用户名
仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。
SASL或SSL认证所使用的用户名。
SASL用户密码
仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。
SASL或SSL认证所使用的用户密码。
确认SASL用户密码
仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。
填写与SASL用户密码一样的值。
证书内容
仅当“安全协议”选择“SASL_SSL”时需配置。
SSL认证所使用的CA证书内容。
元数据配置信息
系统元数据
推送的日志中,需要携带的系统字段信息。
其中,start_time、request_id、client_ip、request_time、http_status、scheme、request_method、host、uri、upstream_addr、upstream_status、upstream_response_time、http_x_forwarded_for、http_user_agent和error_type字段信息默认在日志中携带,其他系统字段需勾选后才携带。
请求数据
推送的日志中,需要携带的API请求信息。
- 日志包含请求头域信息:勾选后,需填写日志中要携带的请求Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。
- 日志包含请求QueryString信息:勾选后,需填写日志中要携带的请求Query参数信息。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。
- 日志包含请求Body体信息:勾选后,日志中会携带API请求的Body体信息。
响应数据
推送的日志中,需要携带的API响应信息。
- 日志包含响应头域信息:勾选后,需填写日志中要携带的响应Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。
- 日志包含响应Body体信息:勾选后,日志中会携带响应Body体信息。
自定义认证配置
推送的日志中,需要携带的自定义认证信息。
- 前端:填写日志中要携带的前端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。
- 后端:填写日志中要携带的后端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。
- 单击“确定”。
- 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。
克隆策略的名称不能与已创建的策略名称重复。
- 策略创建后,您还需要为策略绑定API,才能使策略对API生效。
- 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。