This page shows you how to configure and use Cloud Logging and Cloud Monitoring with Service Extensions callouts for Secure Web Proxy.
Logging
Secure Web Proxy uses Logging to capture and store several types of logs, including those relating to extensions. For information about Secure Web Proxy logging, see Logs.
In general, Application Load Balancer log entries contain information that is useful for monitoring and debugging your HTTP or HTTPS traffic. Log entries contain the following types of information:
- Information shown in most Google Cloud logs, such as severity, project ID, project number, and timestamp as described in the LogEntry log.
- HttpRequest log fields.
Request logs for HTTP and HTTPS load balancers contain a service_extension_info
object in the load balancer log entry JSON payload with the following
information:
| Field | Type | Description |
|---|---|---|
backend_target_name |
string | Name of the backend target of the extension. |
backend_target_type |
string | Type of the backend target. |
chain |
string | Name of the extension chain within the service extension resource that matches the request. |
extension |
string | Name of the extension within the extension chain. |
failed_open |
boolean | When the extension configuration has failOpen
set to true, the value true for this metric indicates that
processing continued when the extension timed out or failed.
Applies only to regional external Application Load Balancers, regional internal Application Load Balancers, and cross-region internal Application Load Balancers. |
grpc_status |
enum | The most recent status on the gRPC stream. For more information, see gRPC status codes. |
per_processing_request_info |
array | A list of either ProcessingRequest stats for ext_proc extensions
or CheckRequest stats for ext_authz extensions that occur over
the gRPC stream.
|
per_processing_request_info[].event_type |
enum | The event type of ProcessingRequest. Can be one of these:
REQUEST_HEADERS, REQUEST_BODY,
RESPONSE_HEADERS, or RESPONSE_BODY.
|
per_processing_request_info[].latency |
duration | The duration from when the first byte of the ProcessingRequest
message is sent to the extension to when the last byte of the
ProcessingResponse message is received. |
per_processing_request_info[].processing_effect |
enum | The result of processing for each event in a processing
request.
Applies only to regional external Application Load Balancers, regional internal Application Load Balancers, and
cross-region internal Application Load Balancers.
Can be one of the following values:
|
per_processing_request_info[].processing_effect_details |
string | When processing_effect is MUTATION_REJECTED, the details about
why a mutation was rejected.
Applies only to regional external Application Load Balancers, regional internal Application Load Balancers, and cross-region internal Application Load Balancers. |
resource |
string | Name of the extension resource |
Monitoring
For information about Monitoring metrics for Secure Web Proxy, see Available metrics.
In Preview, you can monitor the following metrics
for extensions on regional external Application Load Balancers, regional internal Application Load Balancers, and
cross-region internal Application Load Balancers. These metrics have the prefix
networkservices.googleapis.com. The prefix is omitted from the entries in the following table.
The following table provides the metric type, display name, kind, type, unit, and description for each metric.
| Metric type | Display name
Kind, Type, Unit Description |
|---|---|
extension/invocation_count
|
Extension invocation count
DELTA, INT64, 1
The number of invocations sent to the extension. |
extension/invocation_latencies
|
Extension invocation latencies
DELTA, DISTRIBUTION, ms
The distribution calculated from the latency of each extension invocation. |
extension/sent_chunks_count
|
Extension sent chunks count
DELTA, INT64, 1
Applicable only for request_body and response_body events.
The number of data chunks sent to the extension. |
extension/received_chunks_count
|
Extension received chunks count
DELTA, INT64, 1
Applicable only for request_body and response_body events.
The number of chunks received from the extension. |
extension/failed_open_count
|
Extension failed invocations with fail-open
DELTA, INT64, 1
The number of times that an invocation failed when the system was configured to fail open and the request was allowed to proceed. |
extension/mutation_rejections_count
|
Extension mutation rejections count
DELTA, INT64, 1
The number of invocations that requested header, body, or trailer mutations but were rejected. Rejections can occur for a variety of reasons, such as when the mutation is invalid or exceeds size limits. |
extension/sent_bytes_count
|
Extension sent bytes count
DELTA, INT64, By
The number of bytes sent to the extension. |
extension/received_bytes_count
|
Extension received bytes count
DELTA, INT64, By
The number of bytes received from the extension. |