parent
de2537c553
commit
f471e9c927
7 changed files with 225 additions and 175 deletions
@ -1,171 +0,0 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.api.v2; |
||||
|
||||
import "api/base.proto"; |
||||
|
||||
import "google/protobuf/duration.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/protobuf/wrappers.proto"; |
||||
|
||||
message EnvoyAccessLog { |
||||
// The HTTP request method (RFC 7231/2616) |
||||
RequestMethod request_method = 1; |
||||
|
||||
// The time that Envoy started servicing this request |
||||
google.protobuf.Timestamp start_time = 2; |
||||
|
||||
// Incoming protocol variation spoken |
||||
enum Protocol { |
||||
PROTOCOL_UNSPECIFIED = 0; |
||||
HTTP10 = 1; |
||||
HTTP11 = 2; |
||||
HTTP2 = 3; |
||||
} |
||||
Protocol protocol_variant = 3; |
||||
|
||||
// This enum defines the various things that may have occurred while |
||||
// processing a request. |
||||
enum ResponseFlag { |
||||
// Local server healthcheck failed. |
||||
FAILED_LOCAL_HEALTHCHECK = 0; |
||||
// No healthy upstream. |
||||
NO_HEALTHY_UPSTREAM = 1; |
||||
// Request timeout on upstream. |
||||
UPSTREAM_REQUEST_TIMEOUT = 2; |
||||
// Local codec level reset was sent on the stream. |
||||
LOCAL_RESET = 3; |
||||
// Remote codec level reset was received on the stream. |
||||
UPSTREAM_REMOTE_RESET = 4; |
||||
// Local reset by a connection pool due to an initial connection failure. |
||||
UPSTREAM_CONNECTION_FAILURE = 5; |
||||
// If the stream was locally reset due to connection termination. |
||||
UPSTREAM_CONNECTION_TERMINATION = 6; |
||||
// The stream was reset because of a resource overflow. |
||||
UPSTREAM_OVERFLOW = 7; |
||||
// No route found for a given request. |
||||
NO_ROUTE_FOUND = 8; |
||||
// Request was delayed before proxying. |
||||
DELAY_INJECTED = 9; |
||||
// Abort with error code was injected. |
||||
FAULT_INJECTED = 10; |
||||
// Request was ratelimited locally by rate limit filter. |
||||
RATE_LIMITED = 11; |
||||
} |
||||
// Status flags about the response. |
||||
repeated ResponseFlag response_flags = 4; |
||||
|
||||
// The upstream host URL (Envoy connects to). |
||||
// |
||||
// For example, tcp://ip:port for TCP connections. |
||||
// |
||||
// IPv6 addresses should be stored in canonical (compressed) format using |
||||
// [address]:port notation. |
||||
string upstream_host = 5; |
||||
|
||||
// The Upstream Cluster that the upstream host belongs to. |
||||
string upstream_cluster = 6; |
||||
|
||||
// This field is the IP and port on which the request from the user was |
||||
// received, stored in ipv4:port or [ipv6]:port format. |
||||
string destination_host = 7; |
||||
|
||||
// Size of the HTTP request body in bytes |
||||
google.protobuf.UInt64Value request_body_bytes = 8; |
||||
|
||||
// Size of the HTTP response body in bytes |
||||
google.protobuf.UInt64Value response_body_bytes = 9; |
||||
|
||||
// Size of the HTTP request headers in bytes |
||||
google.protobuf.UInt64Value request_headers_bytes = 10; |
||||
|
||||
// Size of the HTTP response headers in bytes |
||||
google.protobuf.UInt64Value response_headers_bytes = 11; |
||||
|
||||
// Whether the request arrived via a secure (TLS) protocol |
||||
google.protobuf.BoolValue secure = 12; |
||||
|
||||
// Whether the request is a HealthCheck request |
||||
google.protobuf.BoolValue health_check = 13; |
||||
|
||||
// The HTTP response code |
||||
google.protobuf.UInt32Value response_code = 14; |
||||
|
||||
// User agent as sent by client HTTP |
||||
string user_agent = 15; |
||||
|
||||
// Path |
||||
// |
||||
// This is the Path portion from the incoming request URI |
||||
string path = 17; |
||||
|
||||
// Referer header as sent by client HTTP |
||||
// (Referer is spelled to match the HTTP spec, not English). |
||||
string referer = 18; |
||||
|
||||
// X-Forwarded-For request header |
||||
string forwarded_for = 19; |
||||
|
||||
// X-Request-Id request header |
||||
// |
||||
// This header is used by Envoy to uniquely identify a request. |
||||
// It will be generated for all external requests and internal requests that |
||||
// do not already have a request ID. So this field can be guaranteed to exist |
||||
// and be unique for request tracing purposes. |
||||
string request_id = 20; |
||||
|
||||
// HTTP2 :authority header value or HTTP1.1 Host header value |
||||
string authority = 21; |
||||
|
||||
// Duration (milliseconds) |
||||
// |
||||
// The total duration it took to service this request from the StartTime until |
||||
// the response was written to the user. |
||||
google.protobuf.Duration response_duration = 22; |
||||
|
||||
// Upstream Service Time Duration |
||||
// |
||||
// From the X-Envoy-Upstream-Service-Time response header. This is the amount it took |
||||
// the upstream server to service the request. |
||||
google.protobuf.Duration upstream_service_duration = 23; |
||||
|
||||
|
||||
// Original Path from the X-Envoy-Original-Path header. |
||||
string original_path = 24; |
||||
|
||||
// All metadata encountered during request processing, including endpoint |
||||
// selection. |
||||
// |
||||
// This can be used to associate IDs attached to the various configurations |
||||
// used to process this request with the access log entry. For example, a |
||||
// route created from a higher level forwarding rule with some ID can place |
||||
// that ID in this field and cross reference later. It can also be used to |
||||
// determine if a canary endpoint was used or not. |
||||
google.protobuf.Struct metadata = 25; |
||||
|
||||
// Headers configured for logging but not covered by a specific field. |
||||
repeated HeaderValue request_headers = 26; |
||||
repeated HeaderValue response_headers = 27; |
||||
|
||||
// SNI hostname from handshake. |
||||
string tls_sni_hostname = 28; |
||||
|
||||
// TLS Version or VERSION_UNSPECIFIED if TLS was not used |
||||
enum TLSVersion { |
||||
VERSION_UNSPECIFIED = 0; |
||||
TLSv1 = 1; |
||||
TLSv1_1 = 2; |
||||
TLSv1_2 = 3; |
||||
TLSv1_3 = 4; |
||||
} |
||||
TLSVersion tls_version = 29; |
||||
|
||||
// TLS Cipher suite negotiated during TLS handshake. |
||||
// The value is four hex digits defined by the IANA TLS Cipher Suite Registry, |
||||
// eg, "009C" for TLS_RSA_WITH_AES_128_GCM_SHA256. |
||||
// |
||||
// Here is is expressed as an integer. |
||||
google.protobuf.UInt32Value tls_cipher_suite = 30; |
||||
} |
||||
|
Loading…
Reference in new issue