跳到主要内容

参数

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

  • endpoint_addr

    string


    已废弃,请改用 endpoint_addrs。ClickHouse 端点。endpoint_addrendpoint_addrs 二选一配置。

  • endpoint_addrs

    array


    ClickHouse 端点。endpoint_addrs 和已废弃的 endpoint_addr 二选一配置。

  • database

    string

    必填


    存储日志的数据库名称。

  • logtable

    string

    必填


    存储日志的表名称。

  • user

    string

    必填


    ClickHouse 用户名。

    从 APISIX 3.16.0 起,支持使用 $ENV:// 前缀引用环境变量中的值,或使用 $secret:// 前缀引用密钥管理器中的值。有关更多信息,请参阅密钥

  • password

    string

    必填


    ClickHouse 密码。

    该值在存储到 etcd 前会使用 AES 加密。

    从 APISIX 3.16.0 起,支持使用 $ENV:// 前缀引用环境变量中的值,或使用 $secret:// 前缀引用密钥管理器中的值。有关更多信息,请参阅密钥

  • timeout

    integer

    默认值:3

    有效值:

    大于 0


    发送请求后的连接保持时间。

  • ssl_verify

    boolean

    默认值:true


    如果设置为 true,验证 SSL。

  • log_format

    object


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

    从 APISIX 3.15.0 开始,日志格式支持最多 5 层深度的嵌套结构。在 API7 企业版中,仅支持扁平的键值对结构,暂不支持嵌套结构。

    你也可以通过配置插件元数据来全局配置日志格式,这将对所有 clickhouse-logger 插件实例生效。如果单个插件实例配置的日志格式与插件元数据中配置的日志格式不同,则单个插件实例的配置优先级更高。有关更多详细信息,请参阅示例

  • log_format_extra

    object


    在默认日志条目之上叠加的额外日志字段,使用 JSON 格式的键值对。取值可引用内置变量。与会替换整个默认日志条目的 log_format 不同,log_format_extra 会保留默认条目并在其上添加所配置的字段。当设置了 log_format 时,log_format_extra 会被忽略。自 API7 企业版 3.9.15 版本起可用。

  • include_req_body

    boolean

    默认值:false


    如果设置为 true,在日志中包含请求体。注意:如果请求体过大导致无法保存在内存中,由于 NGINX 的限制,它可能无法被记录。

  • include_req_body_expr

    array[array]


    一个包含一个或多个 APISIX 表达式 条件的数组。当 include_req_body 为 true 时使用。只有当此处配置的表达式求值为 true 时,才会记录请求体。

  • include_resp_body

    boolean

    默认值:false


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

  • include_resp_body_expr

    array[array]


    一个包含一个或多个 APISIX 表达式 条件的数组。当 include_resp_body 为 true 时使用。只有当此处配置的表达式求值为 true 时,才会记录响应体。

  • max_req_body_bytes

    integer

    默认值:524288

    有效值:

    大于或等于 1


    日志中包含的请求体大小上限(字节)。如果请求体超过此值,将被截断。自 APISIX 3.16.0 起可用。

  • max_resp_body_bytes

    integer

    默认值:524288

    有效值:

    大于或等于 1


    日志中包含的响应体大小上限(字节)。如果响应体超过此值,将被截断。自 APISIX 3.16.0 起可用。

  • name

    string

    默认值:clickhouse-logger


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

  • batch_max_size

    integer

    默认值:1000

    有效值:

    大于 0


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

  • inactive_timeout

    integer

    默认值:5

    有效值:

    大于 0


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

  • buffer_duration

    integer

    默认值:60

    有效值:

    大于 0


    批次中最旧条目在发送到日志服务之前允许保留的最长时间(以秒为单位)。

  • retry_delay

    integer

    默认值:1

    有效值:

    大于或等于 0


    如果批次发送失败,重试发送到日志服务的时间间隔(以秒为单位)。

  • max_retry_count

    integer

    默认值:0

    有效值:

    大于或等于 0


    在丢弃日志条目之前允许的最大失败重试次数。

插件元数据

  • log_format

    object


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

    从 APISIX 3.15.0 开始,日志格式支持最多 5 层深度的嵌套结构。在 API7 企业版中,仅支持扁平的键值对结构,暂不支持嵌套结构。

  • log_format_extra

    object


    在默认日志条目之上叠加的额外日志字段,使用 JSON 格式的键值对。取值可引用内置变量。与会替换整个默认日志条目的 log_format 不同,log_format_extra 会保留默认条目并在其上添加所配置的字段。当设置了 log_format 时,log_format_extra 会被忽略。自 API7 企业版 3.9.15 版本起可用。

  • max_pending_entries

    integer

    有效值:

    大于或等于 1


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

    此参数自 API7 企业版 3.8.17 和 APISIX 3.15.0 起可用。