By default, Emissary-ingress puts the access logs on stdout; such
that the can be read using
kubectl logs. The format of those logs,
and the local destination of them, can be configured using the
envoy_log_ settings in the
Module. However, the
options there only allow for logging local to Emissary-ingress's Pod. By
LogService, you can configure Emissary-ingress to
report its access logs to a remote service, in addition to the usual
ambassador Module configured logging.
The remote access log service (or ALS) must implement the
AccessLogService gRPC interface, defined in Envoy's
serviceis where to route the access log gRPC requests to
driveridentifies which type of accesses to log; HTTP requests (
"http") or TLS connections (
driver_configstores the configuration that is specific to the
driver: tcphas no additional configuration; the config must be set as
additional_log_headersidentifies HTTP headers to include in the access log, and when in the logged-request's lifecycle to include them.
flush_interval_timeis the maximum number of seconds to buffer accesses for before sending them to the ALS. The logs will be flushed to the ALS every time this duration is reached, or when the buffered data reaches
flush_interval_byte_size, whichever comes first. See the Envoy documentation on
buffer_flush_intervalfor more information.
flush_interval_byte_sizeis a soft size limit for the access log buffer. The logs will be flushed to the ALS every time the buffered data reaches this size, or whenever
flush_interval_timeelapses, whichever comes first. See the Envoy documentation on
buffer_size_bytesfor more information.
protocol_versionwas used in previous versions of Emissary-ingress to control the gRPC service name used to communicate with the
LogService. Emissary-ingress 3.x is running an updated version of Envoy that has dropped support for the
v2protocol, so starting in 3.x, if
protocol_versionis not specified, the default value of
v2will cause an error to be posted and a static response will be returned. Therefore, you must set it to
protocol_version: v3. If upgrading from a previous version, you will want to set it to
v3and ensure it is working before upgrading to Emissary-ingress 3.Y. The default value for
getambassador.io/v3alpha1CRD specifications to avoid making breaking changes outside of a CRD version change. Future versions of CRD's will deprecate it.
Note: The following information is only applicable to
proto: grpcAs of Emissary-ingress version 2.3, the
v2transport protocol is deprecated and any AuthServices making use of it should migrate to
v3before support for
v2is removed in a future release.
The following imports simply need to be updated to migrate an AuthService