参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
endpoint_addrs
array
required
ClickHouse 端点地址。
database
string
required
存储日志的数据库名称。
logtable
string
required
存储日志的表名称。
user
string
required
ClickHouse 用户名。
password
string
required
ClickHouse 密码。
该值在存储到 etcd 前会使用 AES 加密。
timeout
integer
default:
3vaild vaule:
大于 0
发送请求后的连接保持时间。
ssl_verify
boolean
default:
true如果设置为 true,验证 SSL。
log_format
object
使用 JSON 格式的键值对自定义日志格式。值可以引用内置变量。
从 APISIX 3.15.0 开始,日志格式支持最多 5 层深度的嵌套结构。在 API7 企业版中,仅支持扁平的键值对结构,暂不支持嵌套结构。
你也可以通过配置 Plugin Metadata 来全局配置日志格式,这将对所有
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
default:
false如果设置为 true,在日志中包含请求体。注意:如果请求体过大导致无法保存在内存中,由于 NGINX 的限制,它可能无法被记录。
include_req_body_expr
include_resp_body
boolean
default:
false如果设置为 true,在日志中包含响应体。
include_resp_body_expr
array[array]
一个包含一个或多个 APISIX 表达式 条件的数组。当
include_resp_body为 true 时使用。只有当此处配置的表达式求值为 true 时,才会记录响应体。name
string
default:
clickhouse 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
在丢弃日志条目之前允许的最大失败重试次数。