帮你快速理解、总结文档立即下载

上报日志到 Kafka

最近更新时间:2026-07-23 17:07:34

我的收藏
本文介绍云原生网关如何将请求日志上报到 Ckafka 或自建 Kafka 。

操作场景

提供自建的 Kafka 以及对应的 topic 或使用腾讯云 Ckafka 产品, 根据下述操作,就可以将云原生网关的流量日志落盘到该 Kafka 实例上。

操作步骤

1. 登录 TSF 控制台
2. 在左侧导航栏单击云原生网关 ,选择需要操作的网关实例,进入实例详情页后,选择插件管理 > 系统插件。
3. 安装最新版本 tse-kafka-log 插件。

4. 进入云原生网关实例,切换页面到 基本信息 > konga 控制台,开启公网访问地址,获取账号和密码后,进入 konga 管理控制台
启用后,您的客户端可以使用系统分配的地址和端口通过外网访问实例,生效时间大约需要 1 分钟。
IP 白名单可以提供一定保护,请确保白名单设置的安全性。
初次开通公网绑定策略,存在延时,请您耐心等待。
IP 组合中包含0.0.0.0,将允许所有外网 IP 访问,请谨慎操作

5. 进入 konga 管理控制台页面后,单击侧边导航栏 SERVICES,选择需要的 service 并进入详情页。

6. 在 TSF Kafka Log 下方点击 ADD PLUGIN 出现填写信息的弹窗

7. 填写 Kafka server 地址以及 topic,其中 bootstrap servers 填写 kafka 的 server 地址,topic 是 kafka 的 topic 名字。
注意:
1. topic 是填写 topic 的名字,而不是 ID。
2. 插件配置的详细字段说明,在步骤9中。

8. 该插件绑定 service 后,在已创建的服务器请求 service,消费 Kafka 后可以查看消费到当前请求的日志内容(JSON 格式)。






9. ts
e-kafka-log 插件配置字段详细说明

注意:
在 konga 的页面中,配置项键的_会被隐藏掉,例如:bootstrap_servers 会显示为 bootstrap servers。
配置项键
是否必填
默认值
说明
bootstrap_servers
数组,一般的 bootstrap_servers 地址是9092端口,例如:10.0.90.16:9092
topic
topic 的名字,而不是 ID
max_body_size
8192
请求和响应的最大 body 大小,超过此大小的 body 会被截断
log_req_body
false
是否打印请求 body
log_res_body
false
是否打印响应 body
base64_req_body_encoding
数组。当请求 Header:content-encoding 符合其中一个,会把请求的 body 进行 base64 encode
base64_res_body_encoding
数组。当响应 Header:content-encoding 符合其中一个,会把响应的 body 进行 base64 encode
log_req_headers
true
是否打印请求 headers
log_res_headers
true
是否打印响应 headers
exclude_req_headers
数组。打印请求 headers 中,删除指定的 header
exclude_res_headers
数组。打印响应 headers 中,删除指定的 header
skip_expr_in_access
高级,在 access 阶段运行一个 Lua 代码,判断是否跳过打印日志。return true 就是跳过
skip_expr_in_body_filter
高级,在 body filter 阶段运行一个 Lua代码,判断是否跳过打印日志。return true 就是跳过
http_log_mode
default
default/close/custom。default 为内置的日志字段,close 为关闭日志,custom 为自定义日志
http_log_custom_format
{}
七层自定义的日志格式。例如{"cip": "$remote_addr", "host": "$host"},跟 CLS 日志保持一致
stream_log_mode
default
default/close/custom。default 为内置的日志字段,close 为关闭日志,custom 为自定义日志
stream_log_custom_format
{}
四层自定义的日志格式。例如{"cip": "$remote_addr", "protocol": "$protocol"},跟 CLS 日志保持一致
batch_size
100
消息缓存队列长度,默认100
retry_count
3
消息发送重试次数,失败时候会重试
flush_timeout
2000
发送的超时时间,单位 ms
compressor
Lz4
消息压缩算法,默认用 Lz4

参考

更多相关说明请参见 konga 插件文档