Google Cloud Logging Configuration
Parameters
See plugin common configurations for configuration options available to all plugins.
-
auth_config—object· optionalAuthentication configurations. At least one of the
auth_configandauth_fileshould be provided.-
client_email—string· requiredEmail address of the Google Cloud service account.
-
private_key—string· requiredPrivate key of the Google Cloud service account. The value is encrypted with AES before being stored in etcd.
-
project_id—string· requiredProject ID in the Google Cloud service account.
-
token_uri—string· required · default:https://oauth2.googleapis.com/tokenToken URI of the Google Cloud service account.
-
entries_uri—string· optional · default:https://logging.googleapis.com/v2/entries:writeGoogle Cloud Logging Service API.
-
scope—array[string]· optional · default:["https://www.googleapis.com/auth/logging.read", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/logging.admin", "https://www.googleapis.com/auth/cloud-platform"]Access scopes of the Google Cloud service account. See OAuth 2.0 Scopes for Google APIs. Can also be specified as
scopes.
-
-
auth_file—string· optionalPath to the Google Cloud service account authentication JSON file. At least one of the
auth_configandauth_fileshould be provided. -
ssl_verify—boolean· optional · default:trueIf true, verify the server's SSL certificate.
-
resource—object· optional · default:{"type": "global"}Google monitored resource composed of
typeand optionallylabels, for example:{ "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" } }See MonitoredResource for more details.
-
log_id—string· optional · default:apisix.apache.org%2FlogsGoogle Cloud logging ID. See LogEntry for details.
-
log_format—object· optionalCustom 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
google-cloud-loggingplugin 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. -
log_format_extra—object· optionalAdditional fields to add to the default log entry, using key-value pairs in JSON format. Values can reference built-in variables. A configured field does not overwrite an existing default field. A plugin instance takes precedence over plugin metadata; setting an empty object on the instance disables the metadata value. When
log_formatis configured,log_format_extrais ignored. Introduced in API7 Enterprise 3.9.15 and 3.10.2, and APISIX 3.18.0. -
name—string· optional · default:google-cloud-loggingUnique 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· optional · default:1000Valid values: 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· optional · default:5Valid values: 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· optional · default:60Valid values: greater than 0
The maximum time in seconds from the earliest entry allowed before sending the batch to the logging service.
-
retry_delay—integer· optional · default:1Valid values: greater than 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· optional · default:0Valid values: greater than or equal to 0
The maximum number of unsuccessful retries allowed before dropping the log entries.
Plugin Metadata
-
log_format—object· optionalCustom 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.
-
log_format_extra—object· optionalAdditional fields to add to the default log entry, using key-value pairs in JSON format. Values can reference built-in variables. A configured field does not overwrite an existing default field. A plugin instance takes precedence over plugin metadata; setting an empty object on the instance disables the metadata value. When
log_formatis configured,log_format_extrais ignored. Introduced in API7 Enterprise 3.9.15 and 3.10.2, and APISIX 3.18.0. -
max_pending_entries—integer· optional · default:8192in APISIX 3.18.0 and in API7 Enterprise 3.9.19 and 3.10.6; none in API7 Enterprise 3.9.18 and 3.10.5Valid values: greater than or equal to 1
Maximum number of entries waiting in the batch processor. New entries are discarded when the backlog reaches the limit.
Introduced in API7 Enterprise 3.8.17 and APISIX 3.15.0.
The default changed to
8192in APISIX 3.18.0 and in API7 Enterprise 3.9.19 on the 3.9 line and 3.10.6 on the 3.10 line. In API7 Enterprise 3.9.18 and 3.10.5, and in earlier APISIX versions, omitting the parameter leaves the backlog unlimited.See Batch Processor for sizing and verification guidance.