OpenTelemetry (gRPC) Access Log (proto)

extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig

[extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig proto]

Configuration for the built-in envoy.access_loggers.open_telemetry 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.

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:

This extension must be configured with one of the following type URLs:

{
  "common_config": {...},
  "disable_builtin_labels": ...,
  "resource_attributes": {...},
  "body": {...},
  "attributes": {...},
  "stat_prefix": ...
}
common_config

(extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig, REQUIRED)

disable_builtin_labels

(bool) If specified, Envoy will not generate built-in resource labels like log_name, zone_name, cluster_name, node_name.

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" } } }.

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%" }.

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)%" } } }.

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.<stat_prefix>..