参数
请参阅通用配置了解所有插件可用的配置选项。
brokers
array
required
vaild vaule:
大于 0
Kafka broker 节点列表。
host
string
required
Kafka broker 的主机。
port
integer
required
Kafka broker 的端口。
sasl_config
object
Kafka broker 的 SASL 配置。
mechanism
string
default:
PLAINvaild vaule:
PLAIN,SCRAM-SHA-256, orSCRAM-SHA-512SASL 配置的机制。
SCRAM-SHA-256和SCRAM-SHA-512选项在 API7 企业版 3.8.16 及更高版本和 APISIX 3.15.0 及更高版本中可用。user
string
required
SASL 配置的用户名。
password
string
required
SASL 配置的密码。
kafka_topic
string
required
用于组织推送日志的目标主题。
producer_type
string
default:
asyncvaild vaule:
asyncorsync日志生产者的类型。
required_acks
integer
vaild vaule:
-1 or 1
leader 需要接收到的确认数量,以便生产者认为请求已完成。这控制了发送记录的持久性。有关更多信息,请参阅 Kafka 文档。尚不支持
acks=0。key
string
用于为消息分配分区的键。
timeout
integer
default:
3vaild vaule:
大于 0
上游发送数据的超时时间。
meta_format
string
vaild vaule:
defaultororigin收集请求信息的格式。设置为
default以 JSON 格式收集信息,origin以原始 HTTP 请求收集信息。请参阅示例了解更多详情。include_req_body
boolean
default:
false如果为 true,则在日志中包含请求体。请注意,如果请求体太大而无法保存在内存中,由于 NGINX 的限制,它无法被记录。
include_req_body_expr
max_req_body_bytes
integer
default:
524288vaild vaule:
=1
允许的最大请求体(以字节为单位)。在此限制内的请求体将被推送到 Kafka。如果大小超过配置的值,则在推送到 Kafka 之前将截断该主体。
include_resp_body
boolean
default:
false如果为 true,则在日志中包含响应体。
include_resp_body_expr
max_resp_body_bytes
integer
default:
524288vaild vaule:
=1
允许的最大响应体(以字节为单位)。在此限制内的响应体将被推送到 Kafka。如果大小超过配置的值,则在推送到 Kafka 之前将截断该主体。
cluster_name
integer
default:
1vaild vaule:
大于或等于 0
集群名称。当有两个或多个 Kafka 集群时使用。仅当
producer_type设置为async时有效。producer_batch_num
producer_batch_size
integer
default:
1048576vaild vaule:
大于或等于 0
发送数据时使用的 TCP 发送缓冲区大小。与 lua-resty-kafka 中的
batch_size参数相同,但以字节为单位。producer_max_buffering
producer_time_linger
meta_refresh_interval
integer
default:
30vaild vaule:
大于或等于 1
自动刷新元数据的时间间隔。与 lua-resty-kafka 中的
refresh_interval参数相同,但以秒为单位。name
string
default:
kafka logger批处理器的插件唯一标识符。如果你使用 Prometheus 监控 APISIX 指标,则名称将导出到
apisix_batch_process_entries中。batch_max_size
integer
default:
1000vaild vaule:
大于 0
一批中允许的日志条目数。一旦达到,批次将被发送到日志服务。将此参数设置为 1 表示立即处理。
inactive_timeout
integer
default:
5vaild vaule:
大于 0
在将批次发送到日志服务之前等待新日志的最长时间(以秒为单位)。该值应小于
buffer_duration。buffer_duration
integer
default:
60vaild vaule:
大于 0
在将批次发送到日志服务之前,从最早的条目开始允许的最长时间(以秒为单位)。
retry_delay
integer
default:
1vaild vaule:
大于或等于 0
如果批次未成功发送,则重试将批次发送到日志服务的时间间隔(以秒为单位)。
max_retry_count
integer
default:
60vaild vaule:
大于或等于 0
丢弃日志条目之前允许的最大失败重试次数。
插件元数据
log_format
object
使用 JSON 格式的键值对的自定义日志格式。值可以引用内置变量。
在 APISIX 3.15.0 及更高版本中,日志格式嵌套结构支持最多五层深度。在 API7 企业版 中,仅支持扁平键值结构;尚不支持嵌套结构。
max_pending_entries
integer
vaild vaule:
大于或等于 1
批处理器中允许的最大未处理条目数。当达到此限制时,新条目将被丢弃,直到积压减少。这有助于防止记录器缓慢或不可用时出现内存峰值。