参数
请参阅插件通用配置,了解所有插件通用的配置选项。
nameserver_list
RocketMQ 名称服务器列表。
topic
推送数据的目标主题。
key
消息的 Key。
tag
消息的 Tag。
log_format
使用 JSON 格式的键值对自定义日志格式。值可以引用内置变量。
当
meta_format为default时,如果include_req_body或include_resp_body为 true,请引用$request_body或$resp_body,将已收集的请求体或响应体添加到自定义日志条目中。这些选项不会自动向自定义格式添加 Body 字段。从 APISIX 3.15.0 开始,日志格式支持最多 5 层深度的嵌套结构。在 API7 企业版中,仅支持扁平的键值对结构,暂不支持嵌套结构。
当
meta_format为origin时,此参数会被忽略。你也可以通过配置插件元数据来全局配置日志格式,这将对所有
rocketmq-logger插件实例生效。如果单个插件实例配置的日志格式与插件元数据中配置的日志格式不同,则单个插件实例的配置优先级更高。有关更多详细信息,请参阅示例。log_format_extra
用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。配置
log_format或将meta_format配置为origin时,log_format_extra会被忽略。自 API7 企业版 3.9.15、3.10.2 和 APISIX 3.18.0 起引入。
timeout
向 RocketMQ 发送数据的超时时间,单位为秒。
use_tls
如果为 true,则使用 TLS 连接 RocketMQ。
access_key
ACL 的访问密钥。设置为空字符串将禁用 ACL。
secret_key
ACL 的密钥。该值在存储到 etcd 前会使用 AES 加密。
name
批处理器的唯一标识符。如果你使用 Prometheus 监控 APISIX 指标,该名称将导出在
apisix_batch_process_entries中。meta_format
include_req_body
如果为 true,则收集请求体。当
meta_format为default时,将其添加到默认日志字段;当meta_format为origin时,将其追加到原始 HTTP 请求。无论请求体缓存在内存还是临时文件中,都可以记录;max_req_body_bytes限制所记录请求体的大小。include_req_body_expr
一个或多个 APISIX 表达式形式的条件数组。当
include_req_body为 true 时使用。仅当表达式求值为 true 时才记录请求体。include_resp_body
如果为 true,则收集响应体。使用默认日志字段时,它会添加到
response.body;使用自定义log_format时,请引用$resp_body将其添加到日志条目中。当meta_format为origin时,不会添加响应体。max_resp_body_bytes参数限制所记录响应体的大小。include_resp_body_expr
一个或多个 APISIX 表达式形式的条件数组。当
include_resp_body为 true 时使用。仅当表达式求值为 true 时才记录响应体。max_req_body_bytes
有效值:
大于或等于 1
日志中包含的请求体大小上限(字节)。如果请求体超过此值,将被截断。自 APISIX 3.16.0 起可用。
max_resp_body_bytes
有效值:
大于或等于 1
日志中包含的响应体大小上限(字节)。如果响应体超过此值,将被截断。自 APISIX 3.16.0 起可用。
batch_max_size
有效值:
大于 0
每一批次允许的最大日志条目数。一旦达到该数值,批次将被发送到日志服务。将此参数设置为 1 意味着立即处理。
inactive_timeout
有效值:
大于 0
在将批次发送到日志服务之前,等待新日志的最长时间(以秒为单位)。该值应小于
buffer_duration。buffer_duration
有效值:
大于 0
批次中最旧条目在发送到日志服务之前允许保留的最长时间(以秒为单位)。
retry_delay
有效值:
大于或等于 0
如果批次发送失败,重试发送到日志服务的时间间隔(以秒为单位)。
max_retry_count
有效值:
大于或等于 0
在丢弃日志条目之前允许的最大失败重试次数。
插件元数据
log_format
使用 JSON 格式的键值对自定义日志格式。值可以引用内置变量。
从 APISIX 3.15.0 开始,日志格式支持最多 5 层深度的嵌套结构。在 API7 企业版中,仅支持扁平的键值对结构,暂不支持嵌套结构。
对于
meta_format为origin的插件实例,此配置会被忽略。log_format_extra
用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。 配置
log_format或插件实例使用meta_format: origin时,log_format_extra会被忽略。自 API7 企业版 3.9.15、3.10.2 和 APISIX 3.18.0 起引入。
max_pending_entries
有效值:
大于或等于 1
批处理器中等待处理的最大条目数。当积压达到此限制时,新条目会被丢弃。
此参数在 API7 企业版 3.8.17 和 APISIX 3.15.0 中引入。
在 APISIX 3.18.0、API7 企业版 3.9.19 和 3.10.6 中,默认值变更为
8192。在 API7 企业版 3.9.18、3.10.5 及更早的 APISIX 版本中,省略该参数会使积压队列不设上限。有关容量规划和验证指南,请参见批处理器。