更新时间:2024-11-27 GMT+08:00
分享

配置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日志推送策略

  1. 进入API网关控制台页面。
  2. 根据实际业务在左侧导航栏上方选择实例。
  1. 在左侧导航栏选择“API管理 > API策略”。
  2. 在“策略管理”页面,单击“创建策略”。
  3. 在“选择策略类型”弹窗中,选择“插件策略 > Kafka日志推送”。
  4. 在“创建策略”弹窗中,配置策略信息。

    表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体信息。

    自定义认证配置

    推送的日志中,需要携带的自定义认证信息。

    • 前端:填写日志中要携带的前端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。
    • 后端:填写日志中要携带的后端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。

  5. 单击“确定”。

    • 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。

      克隆策略的名称不能与已创建的策略名称重复。

    • 策略创建后,您还需要为策略绑定API,才能使策略对API生效。

为策略绑定API

  1. 单击策略名称,进入策略详情。
  2. 在API列表区域选择环境后,单击“绑定API”。
  3. 筛选API分组以及发布环境,勾选所需的API。

    支持通过API名称或标签筛选API,标签为创建API时定义的标签。

  4. 单击“确定”,绑定完成。

    • 如果单个API不需要绑定此策略,单击API所在行的“解绑”。
    • 如果批量API不需要绑定此策略,则勾选待解绑的API,单击列表上方“解绑”。最多同时解绑1000个API。

相关文档