
envoy.extensions.access_loggers.fluentd.v3.fluentd.proto Maven / Gradle / Ivy
syntax = "proto3";
package envoy.extensions.access_loggers.fluentd.v3;
import "envoy/config/core/v3/backoff.proto";
import "envoy/config/core/v3/extension.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/wrappers.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.extensions.access_loggers.fluentd.v3";
option java_outer_classname = "FluentdProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/fluentd/v3;fluentdv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Fluentd access log]
// Configuration for the *envoy.access_loggers.fluentd* :ref:`AccessLog `.
// This access log extension will send the emitted access logs over a TCP connection to an upstream that is accepting
// the Fluentd Forward Protocol as described in: `Fluentd Forward Protocol Specification
// `_.
// [#extension: envoy.access_loggers.fluentd]
// [#next-free-field: 9]
message FluentdAccessLogConfig {
message RetryOptions {
// The number of times the logger will attempt to connect to the upstream during reconnects.
// By default, there is no limit. The logger will attempt to reconnect to the upstream each time
// connecting to the upstream failed or the upstream connection had been closed for any reason.
google.protobuf.UInt32Value max_connect_attempts = 1;
// Sets the backoff strategy. If this value is not set, the default base backoff interval is 500
// milliseconds and the default max backoff interval is 5 seconds (10 times the base interval).
config.core.v3.BackoffStrategy backoff_options = 2;
}
// The upstream cluster to connect to for streaming the Fluentd messages.
string cluster = 1 [(validate.rules).string = {min_len: 1}];
// A tag is a string separated with '.' (e.g. log.type) to categorize events.
// See: https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#message-modes
string tag = 2 [(validate.rules).string = {min_len: 1}];
// The prefix to use when emitting :ref:`statistics `.
string stat_prefix = 3 [(validate.rules).string = {min_len: 1}];
// Interval for flushing access logs to the TCP stream. Logger will flush requests every time
// this interval is elapsed, or when batch size limit is hit, whichever comes first. Defaults to
// 1 second.
google.protobuf.Duration buffer_flush_interval = 4 [(validate.rules).duration = {gt {}}];
// Soft size limit in bytes for access log entries buffer. The logger will buffer requests until
// this limit it hit, or every time flush interval is elapsed, whichever comes first. When the buffer
// limit is hit, the logger will immediately flush the buffer contents. Setting it to zero effectively
// disables the batching. Defaults to 16384.
google.protobuf.UInt32Value buffer_size_bytes = 5;
// A struct that represents the record that is sent for each log entry.
// https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#entry
// Values are rendered as strings, numbers, or boolean values as appropriate.
// Nested JSON objects may be produced by some command operators (e.g. FILTER_STATE or DYNAMIC_METADATA).
// See :ref:`format string` documentation for a specific command operator details.
//
// .. validated-code-block:: yaml
// :type-name: envoy.extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig
//
// record:
// status: "%RESPONSE_CODE%"
// message: "%LOCAL_REPLY_BODY%"
//
// The following msgpack record would be created:
//
// .. code-block:: json
//
// {
// "status": 500,
// "message": "My error message"
// }
google.protobuf.Struct record = 6 [(validate.rules).message = {required: true}];
// Optional retry, in case upstream connection has failed. If this field is not set, the default values will be applied,
// as specified in the :ref:`RetryOptions `
// configuration.
RetryOptions retry_options = 7;
// Specifies a collection of Formatter plugins that can be called from the access log configuration.
// See the formatters extensions documentation for details.
// [#extension-category: envoy.formatter]
repeated config.core.v3.TypedExtensionConfig formatters = 8;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy