参数
请参阅插件通用配置,了解所有插件通用的配置选项。
endpoint_addrs
Loki API 基础 URL,例如
http://127.0.0.1:3100。如果配置了多个端点,日志将推送到列表中随机确定的端点。endpoint_uri
Loki 摄取端点的 URI 路径。
tenant_id
Loki 租户 ID。根据 Loki 的 多租户文档,在单租户模式下默认值为
fake。headers
请求头的键值对,例如为非本地 Loki 服务设置
Authorization请求头。此参数不能设置X-Scope-OrgID或Content-Type。自 API7 企业版 3.9.0 起引入。请求头值加密自 API7 企业版 3.9.18、3.10.5 和 APISIX 3.18.0 起引入。启用数据加密时,这些值会在存储前加密。经授权的 Admin APIGET请求会返回完整的已解密请求头对象;静态加密不会在 API 响应中隐 藏请求头名称或值。log_labels
Loki 日志标签。支持值中的 内置变量 和常量字符串。变量应以
$符号为前缀。例如,标签可以是{"origin" = "apisix"}或{"origin" = "$remote_addr"}。ssl_verify
如果为 true,则验证 Loki 的 SSL 证书。
timeout
有效值:
介于 1 和 60000 之间(含边界值)
Loki 服务 HTTP 调用的超时时间(毫秒)。
keepalive
如果为 true,则在多个请求之间保持连接存活。
keepalive_timeout
有效值:
大于或等于 1000
Keepalive 超时时间(毫秒)。
keepalive_pool
有效值:
大于或等于 1
连接池中的最大连接数。
log_format_extra
用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。配置
log_format时,log_format_extra会被忽略。自 API7 企业版 3.9.15、3.10.2 和 APISIX 3.18.0 起引入。name
批处理器的插件唯一标识符。如果你使用 Prometheus 监控 APISIX 指标,则名称将导出到
apisix_batch_process_entries中。include_req_body
如果为 true,则在日志中包含请求体。请注意,如果请求体太大而无法保存在内存中,由于 NGINX 的限制,它可能无法被记录。
include_req_body_expr
以 APISIX 表达式 形式的一个或多个条件的数组 。当
include_req_body为 true 时使用。仅当此处配置的表达式计算结果为 true 时,才会记录请求体。include_resp_body
如果为 true,则在日志中包含响应体。
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 及更高版本中,支持最多五层深度的日志格式嵌套结构。在 API7 企业版中,仅支持扁平的键值结构;尚不支持嵌套结构。
log_format_extra
用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。配置
log_format时,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 分支的 3.9.19 以及 3.10 分支的 3.10.6 中,默认值变更为
8192。在 API7 企业版 3.9.18、3.10.5 及更早的 APISIX 版本中,省略该参数会使积压队列不设上限。有关容量规划和验证指南,请参见批处理器。