Log, metriche e tracce

Questo documento spiega come Secure Web Proxy registra i dati operativi, come utilizzare le metriche dell'API Cloud Monitoring per analizzare le prestazioni del proxy e come utilizzare la tracciabilità distribuita per osservare i cicli di vita delle richieste.

Log

Secure Web Proxy utilizza Cloud Logging per consentirti di acquisire informazioni ed eseguire varie attività nelle seguenti aree chiave:

  • Monitoraggio e conformità

    • Garantire la conformità alle normative, migliorare la sicurezza di rete e fornire visibilità sul traffico web in uscita inviato alle destinazioni esterne consentite.
    • Acquisisci livelli preziosi di controllo e visibilità sul traffico dei workload.
    • Ottieni insight fondamentali per un monitoraggio efficace del Security Operations Center (SOC).
    • Utilizza i log per rilevare e monitorare gli eventi di sicurezza e rispondere in modo proattivo alle minacce.
  • Deployment e configurazione

    • Monitora la configurazione iniziale dell'infrastruttura, la creazione di account utente e le modifiche alla configurazione.
    • Monitora la presenza di potenziali errori per garantire un deployment fluido e sicuro.
    • Comprendi l'impatto delle modifiche di ottimizzazione delle policy e ottimizza la tua protezione.

Tipi di log

Secure Web Proxy utilizza Logging per acquisire e archiviare i seguenti tipi di log:

  • Cloud Audit Logs: acquisisci le modifiche amministrative e l'accesso ai dati delle tue risorse Secure Web Proxy. Questi log includono:

  • Log delle transazioni proxy: acquisisci i dettagli di richieste web specifiche elaborate da Secure Web Proxy. Questi log forniscono informazioni sul flusso di traffico, sull'applicazione delle norme e sul rendimento della tua istanza di Secure Web Proxy.

Configura avvisi log

Puoi configurare avvisi per gli eventi che Secure Web Proxy scrive in Logging, ad esempio i rifiuti del traffico o le corrispondenze di regole specifiche. Per istruzioni generali su come configurare questi avvisi, consulta Configurazione degli avvisi basati su log.

Ecco alcuni esempi di query che puoi utilizzare per configurare gli avvisi basati su log per Secure Web Proxy:

Avviso per il traffico negato da una policy di Secure Web Proxy

Utilizza la seguente query per attivare un avviso quando il criterio Secure Web Proxy nega una richiesta:

logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED"

Sostituisci PROJECT_ID con l'ID del progettoGoogle Cloud target.

Avviso per il traffico negato da una regola di Secure Web Proxy

Utilizza la seguente query per attivare un avviso quando una regola Secure Web Proxy specifica (ad esempio my-specific-deny-rule) nega una richiesta:

logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED"
AND jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.name=~"projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/my-specific-deny-rule$"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione
  • REGION: la regione dell'istanza Secure Web Proxy
  • POLICY_NAME: il nome della policy di Secure Web Proxy

Avviso per il traffico limitato da una policy di limitazione di frequenza del servizio

Utilizza la seguente query per attivare un avviso quando una policy di limitazione di frequenza del servizio limita una richiesta:

logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
jsonPayload.rateLimitPolicyInfo.overallResult="THROTTLED"

Sostituisci PROJECT_ID con l'ID del progettoGoogle Cloud target.

Avviso per le richieste con latenza elevata

Utilizza la seguente query per ricevere una notifica quando le richieste superano una determinata latenza, ad esempio cinque secondi:

logName="projects/'PROJECT_ID'/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
latency >= "5s"

Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud di destinazione.

Visualizza i log in Cloud Logging

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Selezionare il tuo progetto Google Cloud .

  3. Utilizza i menu a discesa per selezionare la risorsa networkservices.googleapis.com/Gateway o l'istanza di Secure Web Proxy.

Per saperne di più, consulta Utilizzo di Esplora log.

Esempi di voci di log

Secure Web Proxy genera voci di log dettagliate ogni volta che elabora una richiesta, tenendo traccia delle sue azioni e delle norme applicate. I seguenti esempi mostrano come funzionano i log di Secure Web Proxy.

Esempio di voce di log di autorizzazione

La seguente voce di log mostra che l'istanza Secure Web Proxy ha intercettato e ispezionato il traffico HTTPS per www.example.com, quindi ha consentito di procedere al sito web di destinazione. I nomi della policy e della regola sono rispettivamente swp-policy e allow-port-443.

Campo Valori
enforcedGatewaySecurityPolicy
{
        "requestWasTlsIntercepted": true,
        "hostname": "www.example.com",
        "matchedRules": [
          {
            "action": "ALLOWED",
            "name": "projects/76537/locations/us-central1/gatewaySecurityPolicies/swp-policy/rules/allow-port-443"
          }
        ]
      }
httpRequest
{
        "requestMethod": "GET",
        "requestUrl": "https://www.example.com/",
        "requestSize": "41",
        "status": 200,
        "responseSize": "1446",
        "userAgent": "curl/7.74.0",
        "remoteIp": "10.128.0.12:35418",
        "serverIp": "93.184.216.34:443",
        "latency": "0.051800s",
        "protocol": "HTTP/2"
      }
resource
{
        "type": "networkservices.googleapis.com/Gateway",
        "labels": {
          "gateway_name": "multi-level-tlds",
          "network_name": "projects/76537/global/networks/default",
          "location": "us-central1",
          "resource_container": "",
          "gateway_type": "SECURE_WEB_GATEWAY"
        }
      }
timestamp "2024-02-15T16:56:19.570534Z"
severity "INFO"
logName "projects/76537/logs/networkservices.googleapis.com%2Fgateway_requests"
receiveTimestamp "2024-02-15T16:56:20.714988329Z"

Esempio di voce di log di negazione

Questa voce di log mostra che l'istanza di Secure Web Proxy ha ispezionato il traffico per www.example.com:443 e ha negato la richiesta HTTPS a causa della regola default_denied nella policy di Secure Web Proxy.

Campo Valori
enforcedGatewaySecurityPolicy
{
        "hostname": "www.example.com:443",
        "matchedRules": [
          {
            "name": "default_denied",
            "action": "DENIED"
          }
        ]
      }
httpRequest
{
        "requestMethod": "CONNECT",
        "requestSize": "122",
        "status": 403,
        "responseSize": "141",
        "userAgent": "curl/7.74.0",
        "remoteIp": "10.128.0.12:36338",
        "latency": "0.000133s",
        "protocol": "HTTP/1.1"
      }
resource
{
        "type": "networkservices.googleapis.com/Gateway",
        "labels": {
          "gateway_type": "SECURE_WEB_GATEWAY",
          "resource_container": "",
          "location": "us-central1",
          "network_name": "projects/gcp-1768/global/networks/default",
          "gateway_name": "high-latency-repro"
        }
      }
timestamp "2024-02-15T16:55:00.089727Z"
severity "AVVISO"
logName "projects/gcp-1768/logs/networkservices.googleapis.com%2Fgateway_requests"
receiveTimestamp "2024-02-15T16:55:04.456901833Z"

Esempio di voce di log della policy di limitazione di frequenza del servizio

La seguente voce di log mostra che l'istanza Secure Web Proxy ha limitato una richiesta perché il client ha superato il RateLimitPolicy (denominato rl-egress-policy) in rl_default_rpm_limit RateLimitBucket.

Campo Valori
rateLimitPolicyInfo
{
          "policies": [
            {
              "name": "projects/76537/locations/us-central1/rateLimitPolicies/rl-egress-policy",
              "buckets": [
                {
                  "bucket": "rl_default_rpm_limit",
                  "key": "spiffe://projects-123.global.workload.id.goog/ns/ns1/sa/hellomcp",
                  "result": "THROTTLED"
                }
              ],
              "result": "THROTTLED",
              "details": "Default user rate limit rate exceeded client-side."
            }
          ],
          "overallResult": "THROTTLED"
        }
httpRequest
{
          "requestMethod": "POST",
          "requestUrl": "https://example.com/v1/chat/completions",
          "requestSize": "144",
          "status": 429,
          "responseSize": "85",
          "userAgent": "curl/7.74.0",
          "remoteIp": "10.128.0.12:35418",
          "serverIp": "93.184.216.34:443",
          "latency": "0.001200s",
          "protocol": "HTTP/2"
        }
resource
{
          "type": "networkservices.googleapis.com/Gateway",
          "labels": {
            "gateway_type": "SECURE_WEB_GATEWAY",
            "resource_container": "",
            "location": "us-central1",
            "network_name": "projects/76537/global/networks/default",
            "gateway_name": "egress-swp-gateway"
          }
        }
timestamp "2026-02-15T16:56:19.570534Z"
severity "WARNING"
logName "projects/76537/logs/networkservices.googleapis.com%2Fgateway_requests"
receiveTimestamp "2026-02-15T16:56:20.714988329Z"

Tracciamento distribuito con Cloud Trace

Secure Web Proxy supporta la tracciabilità delle richieste distribuite integrata con Trace.

Correlazione tra log e tracce

Ogni voce di log delle transazioni proxy scritta in Logging include un campo trace contenente la stringa della risorsa di traccia Google Cloud :

<pre class="devsite-click-to-copy">
"trace": "projects/PROJECT_ID/traces/TRACE_ID"
</pre>

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo Google Cloud progetto
  • TRACE_ID: ID traccia a 128 bit (esadecimale a 32 caratteri) dal client o dallo span di traccia. Ad esempio, 4bf92f3577b34da6a3ce929d0e0e4736.

Puoi utilizzare questo ID traccia per correlare le voci di log con gli intervalli di traccia corrispondenti:

  • Da log a tracce: in Esplora log, fai clic sul campo trace di una voce di log e poi seleziona Visualizza dettagli traccia per aprire la cascata completa delle richieste in Trace.
  • Da Trace a Log: in Trace, fai clic su Mostra log nel riquadro Dettagli trace per visualizzare tutti i log delle transazioni proxy associati al trace.

Per saperne di più, consulta Tracciamento distribuito con Trace.

Metriche

Le metriche dell'API Cloud Monitoring ti aiutano a osservare le prestazioni, l'integrità e l'utilizzo delle tue istanze Secure Web Proxy.

Risorsa monitorata

Le metriche per Secure Web Proxy vengono esportate nella seguente risorsa monitorata:

  • networkservices.googleapis.com/Gateway: rappresenta un'istanza gateway di Secure Web Proxy.

La tabella seguente descrive le risorse disponibili per networkservices.googleapis.com/Gateway. Puoi utilizzare queste risorse per filtrare e aggregare i dati di monitoraggio.

Etichetta Descrizione
resource_container ID del progetto associato all'istanza del gateway Secure Web Proxy.
location Google Cloud regione in cui è stato eseguito il deployment del gateway.
gateway_id Nome univoco dell'istanza del gateway Secure Web Proxy.
gateway_type Tipo di gateway, impostato su SECURE_WEB_GATEWAY.
network_name Nome della rete Virtual Private Cloud (VPC) associata al gateway.

Metriche disponibili

Per la risorsa Gateway sono disponibili le seguenti metriche. Tutte le metriche hanno il prefisso networkservices.googleapis.com/https/.

Tipo di metrica Nome visualizzato Tipo, unità Descrizione
networkservices.googleapis.com/https/request_count Conteggio delle richieste DELTA, INT64, 1 Numero totale di richieste elaborate dal proxy.
networkservices.googleapis.com/https/request_bytes_count Byte di richiesta DELTA, INT64, By Il numero totale di byte ricevuti nelle richieste.
networkservices.googleapis.com/https/response_bytes_count Byte di risposta DELTA, INT64, By Il numero totale di byte inviati nelle risposte.
networkservices.googleapis.com/https/total_latencies Latenze totali DELTA, DIST, ms Il tempo che intercorre dal momento in cui è stato ricevuto il primo byte di una richiesta fino all'invio dell'ultimo byte della risposta.
networkservices.googleapis.com/https/backend_latencies Latenze backend DELTA, DIST, ms Tempo trascorso dall'invio della richiesta al backend fino alla ricezione del primo byte della risposta.

Creare una dashboard personalizzata

Per creare una dashboard personalizzata per visualizzare le tendenze del traffico e delle prestazioni delle tue istanze Secure Web Proxy, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Dashboard.

    Accedi a Dashboard

  2. Fai clic su Crea dashboard personalizzata.

  3. Fai clic su Aggiungi widget, quindi seleziona l'opzione del grafico A linee.

  4. Nel campo Metrica, cerca networkservices.googleapis.com/https/request_count.

  5. Nel campo Filtro, puoi filtrare in base a gateway_id se hai configurato più istanze di Secure Web Proxy.

  6. Nella sezione Aggregazione, imposta il Periodo di allineamento su 1 minute e seleziona rate per Allineatore.

    In questo modo, i dati delle richieste non elaborate vengono convertiti in una frequenza di richieste al secondo, semplificando la visualizzazione e l'analisi delle tendenze del traffico nel tempo.

  7. Per salvare il widget, fai clic su Applica.

Passaggi successivi