In diesem Dokument wird beschrieben, wie Sie die verteilte Anforderungsverfolgung für Secure Web Proxy mit Cloud Trace konfigurieren.
Informationen zu den Konzepten, den wichtigsten Vorteilen und den Architekturdetails finden Sie unter Übersicht über verteiltes Tracing.
Hinweis
- Führen Sie die Schritte zur Ersteinrichtung aus.
Aktivieren Sie die Compute Engine API, die Network Services API und die Cloud Trace API in Ihrem Projekt.
gcloud services enable \ compute.googleapis.com \ networkservices.googleapis.com \ cloudtrace.googleapis.comSie benötigen eine aktive Gateway-Instanz für Secure Web Proxy. Weitere Informationen finden Sie unter Secure Web Proxy-Instanz bereitstellen.
Wenn Sie verteilte Tracing-Spans auf HTTP-Ebene generieren und W3C-Trace-Kontextheader für HTTPS-Anfragen weitergeben möchten, müssen Sie die TLS-Prüfung für Ihr Secure Web Proxy-Gateway aktivieren.
Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen (Identity and Access Management) zuzuweisen, um die Berechtigungen zu erhalten, die zum Konfigurieren von Telemetrierichtlinien und zum Aufrufen von Traces erforderlich sind:
- So erstellen, aktualisieren oder löschen Sie Telemetrierichtlinien:
Network Services Admin (
roles/networkservices.admin) oder Compute Network Admin (roles/compute.networkAdmin) - So rufen Sie Trace-Spans in der Google Cloud Konsole auf und analysieren sie:
Cloud Trace User
(
roles/cloudtrace.user) Wenn Sie Trace-Spans in Trace exportieren möchten, müssen die folgenden Dienstkonten die Cloud Trace-Agent-Rolle (
roles/cloudtrace.agent) haben:- Compute Engine-Dienst-Agent:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com - Netzwerksicherheits-Dienst-Agent:
service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com - Dienstkonten für Client-VMs, wenn Clientanwendungen Spans generieren oder weitergeben
- Compute Engine-Dienst-Agent:
Schema für die Telemetrierichtlinienkonfiguration
Verwenden Sie das folgende Schema, um eine Telemetrierichtlinie in einer YAML-Datei zu definieren:
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
In der folgenden Tabelle werden die Felder in einer Telemetrierichtlinie beschrieben:
| Feld | Typ | Beschreibung |
|---|---|---|
name |
String | Eindeutige Kennung der Telemetrierichtlinie. |
telemetryTarget.resources |
Liste mit Zeichenfolgen | Ressourcen-URLs der Secure Web Proxy-Gateways, für die diese Richtlinie gilt. Ihre Gateways müssen sich in derselben Region wie die Richtlinie befinden.
Format:
Alternativ können Sie das Kurznamenformat verwenden:
|
description |
String | Optional. Dieses Feld enthält eine für Menschen lesbare Beschreibung der Telemetrierichtlinie. |
tracingConfiguration.samplingRate |
Float | Anteil der zu verfolgenden Anfragen, angegeben als Dezimalzahl zwischen 0.0 (0%) und 1.0 (100%). Beispiel: 0.01 wählt 1% der Anfragen als Stichprobe aus. |
tracingConfiguration.parentBasedSampling.enabled |
Boolesch | Gibt an, ob Sie vorgelagerte Entscheidungen zur Trace-Erfassung aktivieren möchten (true oder false). |
Verteiltes Tracing konfigurieren
So wenden Sie eine Tracing-Richtlinie mithilfe der Google Cloud CLI auf Ihr Secure Web Proxy-Gateway an:
Erstellen Sie eine YAML-Richtliniendatei mit dem Namen
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 EOFErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsREGION: Region, in der Ihr Secure Web Proxy-Gateway bereitgestellt wird, z. B.us-central1GATEWAY_NAME: Name Ihrer Secure Web Proxy-Gateway-Instanz
Importieren Sie die Telemetrierichtlinie mit dem Befehl
gcloud beta network-services telemetry-policies import:gcloud beta network-services telemetry-policies import my-swp-tracing-policy \ --source=swp-tracing-policy.yaml \ --location=REGIONPrüfen Sie mit dem Befehl
gcloud beta network-services telemetry-policies describe, ob die Richtlinie angewendet wird:gcloud beta network-services telemetry-policies describe my-swp-tracing-policy \ --location=REGION
Ziel-Gateways anhängen oder trennen
So aktualisieren Sie die Richtliniendefinition oder hängen mehrere regionale Gateways an:
Aktualisieren Sie die Liste
telemetryTarget.resourcesin der Dateiswp-tracing-policy.yaml, damit sie alle Ziel-Gateway-Ressourcen-URIs enthält.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"Importieren Sie die aktualisierte Telemetrierichtlinie mit dem Befehl
gcloud beta network-services telemetry-policies import:gcloud beta network-services telemetry-policies import my-swp-tracing-policy \ --source=swp-tracing-policy.yaml \ --location=REGIONErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsREGION: Region, in der Ihr Secure Web Proxy-Gateway bereitgestellt wird, z. B.us-central1
Traces in Trace ansehen und analysieren
Rufen Sie in der Google Cloud Console die Seite Trace Explorer auf.
Wählen Sie Ihr Google Cloud Projekt aus.
Suchen Sie im Feld Filter anhand verschiedener Attribute nach Traces.
Klicken Sie im Streudiagramm oder in der Zeitachse auf einen beliebigen Trace, um die Spandetails zu prüfen, z. B. die Gesamtdauer, die Latenz der Proxyverarbeitung und die IP-Details des externen Servers.
Traces mit Logs und Messwerten korrelieren
Secure Web Proxy bietet eine Korrelation zwischen Traces, Logs und Messwerten:
Log-Trace-Korrelation: Jeder Proxy-Transaktionslogeintrag, der in Cloud Logging geschrieben wird, enthält ein
trace-Feld mit dem Format:projects/PROJECT_ID/traces/TRACE_ID.- Klicken Sie im Log-Explorer auf den Logeintrag und wählen Sie dann Trace-Details ansehen aus, um direkt zum entsprechenden Span in Trace zu gelangen.
- Klicken Sie in Trace im Bereich Trace-Details auf Logs ansehen, um alle Transaktionslogs aufzurufen, die mit dieser Anfrage verknüpft sind.
Messwertkorrelation: Vergleichen Sie Latenzspitzen, die in Cloud Monitoring-Messwerten wie
networkservices.googleapis.com/https/total_latenciesbeobachtet werden, mit Aufschlüsselungen von Trace-Spans, um festzustellen, ob eine Latenzspitze im Proxy oder auf dem externen Ursprungsserver aufgetreten ist.