.. _envoy_v3_api_file_envoy/extensions/access_loggers/open_telemetry/v3/logs_service.proto: OpenTelemetry Access Log (proto) ================================ .. _envoy_v3_api_msg_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig: extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig ------------------------------------------------------------------------ :repo:`[extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig proto] ` Configuration for the built-in ``envoy.access_loggers.open_telemetry`` :ref:`AccessLog `. This configuration will populate `opentelemetry.proto.collector.v1.logs.ExportLogsServiceRequest.resource_logs `_. In addition, the request start time is set in the dedicated field. .. _extension_envoy.access_loggers.open_telemetry: This extension has the qualified name ``envoy.access_loggers.open_telemetry`` .. note:: This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted. .. tip:: This extension extends and can be used with the following extension category: - :ref:`envoy.access_loggers ` This extension must be configured with one of the following type URLs: - :ref:`type.googleapis.com/envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig ` .. code-block:: json :force: { "common_config": {...}, "http_service": {...}, "grpc_service": {...}, "disable_builtin_labels": ..., "resource_attributes": {...}, "body": {...}, "attributes": {...}, "stat_prefix": ..., "formatters": [], "log_name": ..., "buffer_flush_interval": {...}, "buffer_size_bytes": {...}, "filter_state_objects_to_log": [], "custom_tags": [] } .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.common_config: common_config (:ref:`extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig `) Deprecated. Use ``grpc_service`` or ``http_service`` instead. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.http_service: http_service (:ref:`config.core.v3.HttpService `) The upstream HTTP cluster that will receive OTLP logs via `OTLP/HTTP `_. Note: Only one of ``common_config``, ``grpc_service``, or ``http_service`` may be used. .. note:: The ``request_headers_to_add`` property in the OTLP HTTP exporter service supports substitution formatters. The formatters cannot access any HTTP or connection properties, but can load content such as environment variables or files or secrets. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.grpc_service: grpc_service (:ref:`config.core.v3.GrpcService `) The upstream gRPC cluster that will receive OTLP logs. Note: Only one of ``common_config``, ``grpc_service``, or ``http_service`` may be used. This field is preferred over ``common_config.grpc_service``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.disable_builtin_labels: disable_builtin_labels (`bool `_) If specified, Envoy will not generate built-in resource labels like ``log_name``, ``zone_name``, ``cluster_name``, ``node_name``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.resource_attributes: resource_attributes (.opentelemetry.proto.common.v1.KeyValueList) OpenTelemetry `Resource `_ attributes are filled with Envoy node info. Example: ``resource_attributes { values { key: "region" value { string_value: "cn-north-7" } } }``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.body: body (.opentelemetry.proto.common.v1.AnyValue) OpenTelemetry `LogResource `_ fields, following `Envoy access logging formatting `_. See 'body' in the LogResource proto for more details. Example: ``body { string_value: "%PROTOCOL%" }``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.attributes: attributes (.opentelemetry.proto.common.v1.KeyValueList) See 'attributes' in the LogResource proto for more details. Example: ``attributes { values { key: "user_agent" value { string_value: "%REQ(USER-AGENT)%" } } }``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.stat_prefix: stat_prefix (`string `_) Optional. Additional prefix to use on OpenTelemetry access logger stats. If empty, the stats will be rooted at ``access_logs.open_telemetry_access_log.``. If non-empty, stats will be rooted at ``access_logs.open_telemetry_access_log..``. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.formatters: formatters (**repeated** :ref:`config.core.v3.TypedExtensionConfig `) 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: .. tip:: This extension category has the following known extensions: - :ref:`envoy.formatter.cel ` - :ref:`envoy.formatter.file_content ` - :ref:`envoy.formatter.generic_secret ` - :ref:`envoy.formatter.metadata ` - :ref:`envoy.formatter.req_without_query ` .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.log_name: log_name (`string `_) .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.buffer_flush_interval: buffer_flush_interval (`Duration `_) The interval for flushing access logs to the transport. Default: 1 second. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.buffer_size_bytes: buffer_size_bytes (`UInt32Value `_) Soft size limit in bytes for the access log buffer. When the buffer exceeds this limit, logs will be flushed. Default: 16KB. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.filter_state_objects_to_log: filter_state_objects_to_log (**repeated** `string `_) Additional filter state objects to log as attributes. .. _envoy_v3_api_field_extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.custom_tags: custom_tags (**repeated** :ref:`type.tracing.v3.CustomTag `) Custom tags to include as log attributes.