gRPC Access Log Service (ALS)

config.accesslog.v2.HttpGrpcAccessLogConfig

[config.accesslog.v2.HttpGrpcAccessLogConfig proto]

Configuration for the built-in envoy.access_loggers.http_grpc AccessLog. This configuration will populate StreamAccessLogsMessage.http_logs.

This extension may be referenced by the qualified name envoy.access_loggers.http_grpc

Note

This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

  1. {
  2. "common_config": "{...}",
  3. "additional_request_headers_to_log": [],
  4. "additional_response_headers_to_log": [],
  5. "additional_response_trailers_to_log": []
  6. }

common_config

(config.accesslog.v2.CommonGrpcAccessLogConfig, REQUIRED)

additional_request_headers_to_log

(string) Additional request headers to log in HTTPRequestProperties.request_headers.

additional_response_headers_to_log

(string) Additional response headers to log in HTTPResponseProperties.response_headers.

additional_response_trailers_to_log

(string) Additional response trailers to log in HTTPResponseProperties.response_trailers.

config.accesslog.v2.TcpGrpcAccessLogConfig

[config.accesslog.v2.TcpGrpcAccessLogConfig proto]

Configuration for the built-in envoy.access_loggers.tcp_grpc type. This configuration will populate StreamAccessLogsMessage.tcp_logs.

This extension may be referenced by the qualified name envoy.access_loggers.tcp_grpc

Note

This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

  1. {
  2. "common_config": "{...}"
  3. }

common_config

(config.accesslog.v2.CommonGrpcAccessLogConfig, REQUIRED)

config.accesslog.v2.CommonGrpcAccessLogConfig

[config.accesslog.v2.CommonGrpcAccessLogConfig proto]

Common configuration for gRPC access logs.

  1. {
  2. "log_name": "...",
  3. "grpc_service": "{...}",
  4. "buffer_flush_interval": "{...}",
  5. "buffer_size_bytes": "{...}",
  6. "filter_state_objects_to_log": []
  7. }

log_name

(string, REQUIRED) The friendly name of the access log to be returned in StreamAccessLogsMessage.Identifier. This allows the access log server to differentiate between different access logs coming from the same Envoy.

grpc_service

(core.GrpcService, REQUIRED) The gRPC service for the access log service.

buffer_flush_interval

(Duration) Interval for flushing access logs to the gRPC 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.

buffer_size_bytes

(UInt32Value) Soft size limit in bytes for access log entries buffer. Logger will buffer requests until this limit it hit, or every time flush interval is elapsed, whichever comes first. Setting it to zero effectively disables the batching. Defaults to 16384.

filter_state_objects_to_log

(string) Additional filter state objects to log in filter_state_objects. Logger will call FilterState::Object::serializeAsProto to serialize the filter state object.