.. _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 does not support the :ref:`format specifier ` as used for :ref:`HTTP access logging `. The values configured are added as HTTP headers on the OTLP export request without any formatting applied. .. _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.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.