上云无忧 > 文档中心 > 腾讯云微服务引擎 TSE - 上报日志到 Kafka
微服务引擎 TSE
腾讯云微服务引擎 TSE - 上报日志到 Kafka

文档简介:
本文介绍云原生 API 网关 Kong 如何将请求日志上报到 Ckafka 或自建 Kafka 。 操作场景: 提供自建的 Kafka 以及对应的 topic 或使用腾讯云 Ckafka 产品, 根据下述操作,就可以将云原生 API 网关的流量日志落盘到该 Kafka 实例上。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

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

操作步骤

1. 安装最新版本 tse-kafka-log 插件。 微服务引擎 Kong 控制台,选择需要的网关实例,单击插件管理 > 系统插件
如果已经安装,可以忽略此步骤。

2. 进入云原生 API 网关的 Kong 实例的基本信息 > Konga 控制台,查看 Kong 管理控制台地址并进入。

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

4. 选择 Plugins 并单击 Add Plugin,在 Other 栏中选择添加 Tse Kafka Log。

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

6. 该插件绑定 service 后,请求 service,消费 kafka 后可以查看消费到当前请求的日志内容(json 格式)。


7. 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

参考

更多相关说明请参见 Kong 插件文档
相似文档
  • 操作场景: 本文介绍如何通过 CLS Log 插件,将包含详细请求、响应 Body 报文的日志上报到 CLS Topic 中。
  • 操作场景: 云原生 API 网关提供开箱即用的 CLS 日志大盘,如您开启了 CLS 日志投递,即可使用日志分析仪表盘对投递到 CLS 的访问日志和错误日志进行快速分析。(仅专业版支持)
  • Terraform 是一个 IT 基础架构自动化编排工具,它的口号是“Write, Plan, and Create Infrastructure as Code”, 是一个“基础设施即代码”工具,通过 Terraform 您可以创建、更新和版本控制的 TEM 中的资源。了解更多关于 Terraform,请参见 Terraform 指南。
  • 操作场景: 创建云原生 API 网关实例时,实例中的参数例如 nginx_http_client_header_buffer_size、nginx_http_client_max_body_size 等采用默认配置,如果您的业务有特殊要求可以在 TSE 控制台修改对应的参数,优化网关性能。
  • 操作场景: 云原生 API 网关 Kong 提供插件管理功能,您可以在控制台上管理您的系统插件、原生插件、部署自定义插件等。本文介绍相关的插件定义和开发自定义插件并部署到云原生 API 网关 Kong 的操作步骤。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部