Realiza un seguimiento del tráfico saliente con Cloud Trace

En este documento, se explica cómo configurar el seguimiento de solicitudes distribuidas para Secure Web Proxy con Cloud Trace.

Para obtener información sobre los conceptos, los beneficios clave y los detalles de la arquitectura, consulta la descripción general del registro de seguimiento distribuido.

Antes de comenzar

  1. Completa los pasos de configuración inicial.
  2. Habilita la API de Compute Engine, Network Services y API de Cloud Trace en tu proyecto.

    gcloud services enable \
        compute.googleapis.com \
        networkservices.googleapis.com \
        cloudtrace.googleapis.com
    
  3. Asegúrate de tener implementada una instancia de puerta de enlace de Secure Web Proxy activa. Para obtener más información, consulta Implementa una instancia de Secure Web Proxy.

  4. Para generar intervalos de seguimiento distribuido a nivel de HTTP y propagar los encabezados de contexto de seguimiento de W3C para las solicitudes HTTPS, debes habilitar la inspección de TLS en tu puerta de enlace de Secure Web Proxy.

Roles y permisos

Para obtener los permisos necesarios para configurar políticas de telemetría y ver seguimientos, pídele a tu administrador que te otorgue los siguientes roles de Identity and Access Management (IAM):

  • Para crear, actualizar o borrar políticas de telemetría: Administrador de servicios de red (roles/networkservices.admin) o Administrador de red de Compute (roles/compute.networkAdmin)
  • Para ver y analizar los intervalos de seguimiento en la consola de Google Cloud : Usuario de Cloud Trace (roles/cloudtrace.user)
  • Para exportar intervalos de seguimiento a Trace, asegúrate de que las siguientes cuentas de servicio tengan el rol de agente de Cloud Trace (roles/cloudtrace.agent):

    • Agente de servicio de Compute Engine: service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    • Agente de servicio de Seguridad de red: service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com
    • Cuentas de servicio de máquina virtual (VM) cliente, si las aplicaciones cliente generan o propagan intervalos

Esquema de configuración de la política de telemetría

Para definir una política de telemetría en un archivo YAML, usa el siguiente esquema:

    name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/POLICY_NAME
    telemetryTarget:
      resources:
      - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME"
    description: "OPTIONAL_DESCRIPTION"
    tracingConfiguration:
      samplingRate: SAMPLING_RATE
      parentBasedSampling:
        enabled: true
  

En la siguiente tabla, se describen los campos de una política de telemetría:

Campo Tipo Descripción
name String Es el identificador único de la política de telemetría.
telemetryTarget.resources Lista de strings Son las URLs de los recursos de las puertas de enlace de Secure Web Proxy a las que se aplica esta política. Tus puertas de enlace deben residir en la misma región que la política.

Formato: //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME

También puedes usar el formato de nombre corto: projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME.

description String Es opcional. Este campo proporciona una descripción legible de la política de telemetría.
tracingConfiguration.samplingRate Número de punto flotante Proporción de solicitudes para hacer un seguimiento, especificada como un número decimal entre 0.0 (0%) y 1.0 (100%). Por ejemplo, 0.01 muestrea el 1% de las solicitudes.
tracingConfiguration.parentBasedSampling.enabled Booleano Indica si deseas habilitar las decisiones de muestreo de registros upstream (true o false).

Configura el seguimiento distribuido

Para aplicar una política de seguimiento a tu puerta de enlace de Secure Web Proxy con Google Cloud CLI, haz lo siguiente:

  1. Crea un archivo de política en formato YAML llamado swp-tracing-policy.yaml.

    cat <<EOF > swp-tracing-policy.yaml
    name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/my-swp-tracing-policy
    telemetryTarget:
      resources:
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME"
    description: "Distributed tracing policy for the Secure Web Proxy gateway"
    tracingConfiguration:
      samplingRate: 0.01
      parentBasedSampling:
        enabled: true
    EOF
    

    Reemplaza lo siguiente:

    • PROJECT_ID: ID de tu proyecto de Google Cloud
    • REGION: Región en la que se implementa tu puerta de enlace de Secure Web Proxy, como us-central1
    • GATEWAY_NAME: Es el nombre de la instancia de la puerta de enlace de Secure Web Proxy.
  2. Importa la política de telemetría con el comando gcloud beta network-services telemetry-policies import:

    gcloud beta network-services telemetry-policies import my-swp-tracing-policy \
        --source=swp-tracing-policy.yaml \
        --location=REGION
    
  3. Verifica que la política se haya aplicado con el comando gcloud beta network-services telemetry-policies describe:

    gcloud beta network-services telemetry-policies describe my-swp-tracing-policy \
        --location=REGION
    

Cómo conectar o desconectar puertas de enlace de destino

Para actualizar la definición de la política o adjuntar varias puertas de enlace regionales, haz lo siguiente:

  1. Actualiza la lista telemetryTarget.resources en el archivo swp-tracing-policy.yaml para incluir todos los URIs de recursos de la puerta de enlace de destino.

    telemetryTarget:
      resources:
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/prod-swp-uc1"
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/staging-swp-uc1"
    
  2. Importa la política de telemetría actualizada con el comando gcloud beta network-services telemetry-policies import:

    gcloud beta network-services telemetry-policies import my-swp-tracing-policy \
        --source=swp-tracing-policy.yaml \
        --location=REGION
    

    Reemplaza lo siguiente:

    • PROJECT_ID: ID de tu proyecto de Google Cloud
    • REGION: Región en la que se implementa tu puerta de enlace de Secure Web Proxy, como us-central1

Cómo ver y analizar seguimientos en Trace

  1. En la consola de Google Cloud , ve a la página Explorador de seguimiento.

    Ir al Explorador de seguimiento

  2. Seleccionar tu Google Cloud proyecto.

  3. En el campo Filtro, busca seguimientos con varios atributos.

  4. Haz clic en cualquier seguimiento en el diagrama de dispersión o en la vista de línea de tiempo para inspeccionar los detalles del intervalo, como la duración total, la latencia de procesamiento del proxy y los detalles de la IP del servidor externo.

Correlaciona los registros con los seguimientos y las métricas

Secure Web Proxy proporciona correlación entre los seguimientos, los registros y las métricas:

  • Correlación de registros y seguimiento: Cada entrada de registro de transacciones del proxy escrita en Cloud Logging contiene un campo trace con el siguiente formato: projects/PROJECT_ID/traces/TRACE_ID.

    • En el Explorador de registros, haz clic en la entrada de registro y, luego, selecciona Ver detalles del seguimiento para navegar directamente al intervalo correspondiente en Trace.
    • En Trace, haz clic en Mostrar registros en el panel Detalles del seguimiento para ver todos los registros de transacciones asociados a esa solicitud.
  • Correlación de métricas: Compara los picos de latencia observados en las métricas de Cloud Monitoring, como networkservices.googleapis.com/https/total_latencies, con los desgloses de los intervalos de seguimiento para identificar si se produjo un pico de latencia dentro del proxy o en el servidor de origen externo.

¿Qué sigue?