跳到主要内容

参数

请参阅 插件通用配置 了解所有插件可用的配置选项。

  • endpoint_addrs

    array[string]


    required


    Loki API 基础 URL,例如 http://127.0.0.1:3100。如果配置了多个端点,日志将推送到列表中随机确定的端点。

  • endpoint_uri

    string


    default: /loki/api/v1/push


    Loki 摄取端点的 URI 路径。

  • tenant_id

    string


    default: fake


    Loki 租户 ID。根据 Loki 的 多租户文档,在单租户模式下默认值为 fake

  • headers

    object


    请求头的键值对。例如,这可以用于为非本地 Loki 服务设置 Authorization 头。此参数不能用于设置 X-Scope-OrgIDContent-Type

    如果你使用的是 API7 企业版,该选项从版本 3.9.0 开始可用。

  • log_labels

    object


    default: {job = "apisix"}


    Loki 日志标签。支持值中的 内置变量 和常量字符串。变量应以 $ 符号为前缀。例如,标签可以是 {"origin" = "apisix"}{"origin" = "$remote_addr"}

  • ssl_verify

    boolean


    default: false


    如果为 true,则验证 Loki 的 SSL 证书。

  • timeout

    integer


    default: 3000


    vaild vaule:

    between 1 and 60000 inclusive


    Loki 服务 HTTP 调用的超时时间(毫秒)。

  • keepalive

    boolean


    default: true


    如果为 true,则在多个请求之间保持连接存活。

  • keepalive_timeout

    integer


    default: 60000


    vaild vaule:

    大于或等于 1000


    Keepalive 超时时间(毫秒)。

  • keepalive_pool

    integer


    default: 5


    vaild vaule:

    大于或等于 1


    连接池中的最大连接数。

  • log_format

    object


    使用 JSON 格式键值对的自定义日志格式。值可以引用 内置变量

    在 APISIX 3.15.0 及更高版本中,支持最多五层深度的日志格式嵌套结构。在 API7 企业版中,仅支持扁平的键值结构;尚不支持嵌套结构。

    你还可以使用 插件元数据 在全局范围内配置日志格式,这将配置所有 loki-logger 插件实例的日志格式。如果单个插件实例上配置的日志格式与插件元数据上配置的日志格式不同,则单个插件实例上配置的日志格式优先。有关更多详细信息,请参阅此 示例

  • name

    string


    default: loki-logger


    批处理器的插件唯一标识符。如果你使用 Prometheus 监控 APISIX 指标,则名称将导出到 apisix_batch_process_entries 中。

  • include_req_body

    boolean


    default: false


    如果为 true,则在日志中包含请求体。请注意,如果请求体太大而无法保存在内存中,由于 NGINX 的限制,它可能无法被记录。

  • include_req_body_expr

    array[array]


    APISIX 表达式 形式的一个或多个条件的数组。当 include_req_body 为 true 时使用。仅当此处配置的表达式计算结果为 true 时,才会记录请求体。

  • include_resp_body

    boolean


    default: false


    如果为 true,则在日志中包含响应体。

  • include_resp_body_expr

    array[array]


    APISIX 表达式 形式的一个或多个条件的数组。当 include_resp_body 为 true 时使用。仅当此处配置的表达式计算结果为 true 时,才会记录响应体。

  • batch_max_size

    integer


    default: 1000


    vaild vaule:

    大于 0


    一个批次中允许的最大日志条目数。一旦达到,批次将被发送到日志服务。将此参数设置为 1 意味着立即处理。

  • inactive_timeout

    integer


    default: 5


    vaild vaule:

    大于 0


    在将批次发送到日志服务之前等待新日志的最长时间(秒)。该值应小于 buffer_duration

  • buffer_duration

    integer


    default: 60


    vaild vaule:

    大于 0


    发送批次到日志服务之前,允许的最早条目的最长时间(秒)。

  • retry_delay

    integer


    default: 1


    vaild vaule:

    大于或等于 0


    如果批次发送不成功,重试发送到日志服务的时间间隔(秒)。

  • max_retry_count

    integer


    default: 60


    vaild vaule:

    大于或等于 0


    丢弃日志条目之前允许的最大不成功重试次数。

插件元数据

  • log_format

    object


    使用 JSON 格式键值对的自定义日志格式。值可以引用 内置变量

    在 APISIX 3.15.0 及更高版本中,支持最多五层深度的日志格式嵌套结构。在 API7 企业版中,仅支持扁平的键值结构;尚不支持嵌套结构。

  • max_pending_entries

    integer


    vaild vaule:

    大于或等于 1


    批处理器中允许的最大未处理条目数。当达到此限制时,新条目将被丢弃,直到积压减少。这有助于防止记录器缓慢或不可用时出现内存峰值。

    此参数在 API7 企业版版本 3.8.17 及更高版本以及 APISIX 版本 3.15.0 及更高版本中可用。