Parameters
See plugin common configurations for configuration options available to all plugins.
endpoint_addrs
array[string]
required
Elasticsearch API endpoint addresses. If multiple endpoints are configured, they will be written randomly.
field
object
required
Elasticsearch field configurations.
index
string
required
Elasticsearch
_indexfield.If you are using API7 Enterprise,
indexsupports the configuration of built-in variables and a lua time format in curly brackets to include the current date, such asservice-$host-{%Y-%m-%d}.type
log_format
object
Custom log format using key-value pairs in JSON format. Values can reference built-in variables.
In APISIX from 3.15.0, log format nested structures are supported up to five levels deep. In API7 Enterprise, only flat key-value structures are supported; nested structures are not yet supported.
You can also configure log format on a global scale using the plugin metadata, which configures the log format for all
elasticsearch-loggerplugin 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.auth
object
Elasticsearch user authentication configurations.
username
string
Elasticsearch authentication username.
password
string
Elasticsearch authentication password. The secret is encrypted with AES before being stored in etcd.
ssl_verify
boolean
default:
trueIf true, perform SSL verification.
timeout
integre
default:
10Elasticsearch send data timeout in seconds.
include_req_body
boolean
default:
falseIf 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[array]
An array of one or more conditions in the form of APISIX expressions. Used when the
include_req_bodyis true. Request body would only be logged when the expressions configured here evaluate to true.include_resp_body
boolean
default:
falseIf true, include the response body in the log.
include_resp_body_expr
array[array]
An array of one or more conditions in the form of APISIX expressions. Used when the
include_resp_bodyis true. Response body would only be logged when the expressions configured here evaluate to true.
Plugin Metadata
log_format
object
Custom log format using key-value pairs in JSON format. Values can reference built-in variables.
In APISIX from 3.15.0, log format nested structures are supported up to five levels deep. In API7 Enterprise, only flat key-value structures are supported; nested structures are not yet supported.
max_pending_entries
integer
vaild vaule:
greater than or equal to 1
Maximum number of unprocessed entries allowed in the batch processor. When this limit is reached, new entries will be dropped until the backlog is reduced. This helps prevent memory spikes when the logger is slow or unavailable.
This parameter is available in API7 Enterprise from version 3.8.17 and in APISIX from version 3.15.0.