Parameters
See plugin common configurations for configuration options available to all plugins.
endpoint_addrs
array
required
ClickHouse endpoints.
database
string
required
Name of the database to store the logs.
logtable
string
required
Name of the table that stores the logs.
user
string
required
ClickHouse username.
password
string
required
ClickHouse password.
timeout
integer
default:
3
vaild vaule:
greater than 0
Time to keep the connection alive for after sending a request.
ssl_verify
boolean
default:
true
If true, verify SSL.
log_format
object
Custom log format in key-value pairs in JSON format. Support built-in variables in values.
You can also configure log format on a global scale using the plugin metadata, which configures the log format for all
clickhouse-logger
plugin instances. If the log format configured on the individual plugin instance differs from the log format configured on plugin metadata, the log format configured on the individual plugin instance takes precedence. See the example for more details.include_req_body
boolean
default:
false
If true, include the request body in the log. Note that if the request body is too big to be kept in the memory, it can not be logged due to NGINX's limitations.
include_req_body_expr
array
An array of one or more conditions in the form of APISIX expressions. Used when the
include_req_body
is true. Request body would only be logged when the expressions configured here evaluate to true.include_resp_body
boolean
default:
false
If true, include the response body in the log.
include_resp_body_expr
array
An array of one or more conditions in the form of APISIX expressions. Used when the
include_resp_body
is true. Response body would only be logged when the expressions configured here evaluate to true.name
string
default:
clickhouse logger
Unique identifier of the plugin for the batch processor. If you use Prometheus to monitor APISIX metrics, the name is exported in
apisix_batch_process_entries
.batch_max_size
integer
default:
1000
vaild vaule:
greater than 0
The number of log entries allowed in one batch. Once reached, the batch will be sent to the logging service. Setting this parameter to 1 means immediate processing.
inactive_timeout
integer
default:
5
vaild vaule:
greater than 0
The maximum time in seconds to wait for new logs before sending the batch to the logging service. The value should be smaller than
buffer_duration
.buffer_duration
integer
default:
60
vaild vaule:
greater than 0
The maximum time in seconds from the earliest entry allowed before sending the batch to the logging service.
retry_delay
integer
default:
1
vaild vaule:
greater or equal to 0
The time interval in seconds to retry sending the batch to the logging service if the batch was not successfully sent.
max_retry_count
integer
default:
60
vaild vaule:
greater or equal to 0
The maximum number of unsuccessful retries allowed before dropping the log entries.