参数
请参阅插件通用配置,了解所有插件通用的配置选项。
broker_list
已废弃,请改用
brokers。Kafka broker 主机及其端口的映射。broker_list和brokers二选一配置。brokers
有效值:
大于 0
Kafka broker 节点列表。
brokers和已废弃的broker_list二选一配置。host
Kafka broker 的主机。
port
Kafka broker 的端口。
sasl_config
Kafka broker 的 SASL 配置。
mechanism
有效值:
PLAIN、SCRAM-SHA-256或SCRAM-SHA-512SASL 配置的机制。
SCRAM-SHA-256和SCRAM-SHA-512选项在 API7 企业版 3.8.16 及更高版本和 APISIX 3.15.0 及更高版本中可用。user
SASL 配置的用户名。
password
SASL 配置的密码。该值在存储到 etcd 前会使用 AES 加密。
tls
连接 Kafka broker 时使用的 TLS 配置。配置该对象即表示以 TLS 连接;不配置则以明文连接。自 API7 企业版 3.9.x 系列的 3.9.17 版本起可用,3.10.x 系列自 3.10.4 版本起可用。
verify
如果为 true,则根据已配置的受信任 CA 校验 Kafka broker 的 TLS 证书。
默认值为
false,此时配置tls只会加密连接,但不会校验 broker 身份,存在中间人攻击风险。生产环境请设置为true。
kafka_topic
用于组织推送日志的目标主题。
producer_type
有效值:
async或syncKafka 生产者模式。在
async模式下,消息会先在本地缓冲,再发送到 Kafka;在sync模式下,消息不会使用异步生产者缓冲区,而是直接发送。required_acks
api_version
有效值:
0、1或2向 broker 发送消息时使用的 Kafka Produce API 版本。只有版本
2会携带消息时间戳,使 broker 能够存储它;使用默认值1时,消息可能在没有可用时间戳的情况下被记录。自 API7 企业版 3.9.14 起可用。key
用于为消息分配分区的键。
timeout
有效值:
大于 0
上游发送数据的超时时间。
meta_format
log_format_extra
在默认日志条目之上叠加的额外日志字段,使用 JSON 格式的键值对。取值可引用内置变量。与会替换整个默认日志条目的
log_format不同,log_format_extra会保留默认条目并在其上添加所配置的字段。当设置了log_format时,log_format_extra会被忽略。自 API7 企业版 3.9.15 版本起可用。include_req_body
如果为 true,则在日志中包含请求体。请注意,如果请求体太大而无法保存在内存中,由于 NGINX 的限制,它无法被记录。
include_req_body_expr
一个或多个 APISIX 表达式 形式的条件数组。当
include_req_body为 true 时使用。仅当此处配置的表达式评估为 true 时,才会记录请求体。max_req_body_bytes
有效值:
大于或等于 1
允许的最大请求体( 以字节为单位)。在此限制内的请求体将被推送到 Kafka。如果大小超过配置的值,则在推送到 Kafka 之前将截断该主体。
include_resp_body
如果为 true,则在日志中包含响应体。
include_resp_body_expr
一个或多个 APISIX 表达式 形式的条件数组。当
include_resp_body为 true 时使用。仅当此处配置的表达式评估为 true 时,才会记录响应体。max_resp_body_bytes
有效值:
大于或等于 1
允许的最大响应体(以字节为单位)。在此限制内的响应体将被推送到 Kafka。如果大小超过配置的值,则在推送到 Kafka 之前将截断该主体。
cluster_name
有效值: