云原生智能网关 上报日志到 Kafka

这篇说说云原生网关通过tse-kafka-log插件将请求日志上报到Ckafka或自建Kafka,核心步骤包括安装插件、配置Kafka地址和topic,并支持自定义日志字段与压缩算法。 安装插件:在TSF控制台云原生网关的插件管理中安装最新版tse-kafka-log插件。 配置插件:在konga控制台为service添加插件,填写bootstrap_servers和topic。 字段说明:插件支持配置日志body、。

相关产品
云原生智能网关 产品页,含版本规格、价格与购买入口。

这篇说说云原生网关如何将请求日志上报到 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. tse-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 插件文档。

赞 (0)
上一篇 4天前
下一篇 4天前