gRPC Access Log Service (ALS)

config.accesslog.v2.HttpGrpcAccessLogConfig

[config.accesslog.v2.HttpGrpcAccessLogConfig proto]

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

{
  "common_config": "{...}",
  "additional_request_headers_to_log": [],
  "additional_response_headers_to_log": [],
  "additional_response_trailers_to_log": []
}
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.tcp_grpc_access_log type. This configuration will populate StreamAccessLogsMessage.tcp_logs.

{
  "common_config": "{...}"
}
common_config

(config.accesslog.v2.CommonGrpcAccessLogConfig, REQUIRED)

config.accesslog.v2.CommonGrpcAccessLogConfig

[config.accesslog.v2.CommonGrpcAccessLogConfig proto]

Common configuration for gRPC access logs.

{
  "log_name": "...",
  "grpc_service": "{...}",
  "buffer_flush_interval": "{...}",
  "buffer_size_bytes": "{...}"
}
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.