Fehlerbehebung bei verteiltem Tracing

In diesem Dokument wird beschrieben, wie Sie Probleme mit dem verteilten Tracing beheben, wenn Sie Cloud Trace und Telemetrierichtlinien mit Secure Web Proxy verwenden.

Traces werden nicht in Trace angezeigt

Wenn von Secure Web Proxy generierte Trace-Spans nicht im Trace Explorer angezeigt werden, prüfen Sie Folgendes:

  1. Prüfen Sie, ob die Cloud Trace API aktiviert ist: Achten Sie darauf, dass die Trace API (cloudtrace.googleapis.com) imGoogle Cloud -Projekt aktiviert ist, in dem sich Ihr Secure Web Proxy-Gateway befindet.

    <pre class="devsite-click-to-copy">
    gcloud services enable cloudtrace.googleapis.com
    </pre>
    
  2. Prüfen, ob die Telemetrierichtlinie vorhanden und aktiv ist: Verwenden Sie den Befehl gcloud beta network-services telemetry-policies describe, um zu prüfen, ob Ihre Telemetrierichtlinie in der richtigen Region vorhanden ist und auf das entsprechende Secure Web Proxy-Gateway verweist:

    gcloud beta network-services telemetry-policies describe POLICY_NAME \
        --location=REGION
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: Name Ihrer Telemetrierichtlinie, z. B. my-swp-tracing-policy
    • REGION: Region, in der Ihre Telemetrierichtlinie bereitgestellt wird, z. B. us-central1
  3. Samplingrate prüfen: Wenn die samplingRate Ihrer Richtlinie niedrig ist (z. B. 0.01 für 1% oder 0.001 für 0, 1%), werden einzelne manuelle Testanfragen möglicherweise nicht berücksichtigt. Um zu bestätigen, dass die Ablaufverfolgung funktioniert, aktualisieren Sie Ihre Richtlinie vorübergehend auf 100% Sampling (samplingRate: 1.00) und stellen Sie dann die Produktionsrate wieder her.

  4. Ziel-Gateway-Ressourcen-URI validieren: Prüfen Sie, ob im Feld telemetryTarget.resources der Telemetrierichtlinie die genaue, vollständig qualifizierte Ressourcen-URL oder der Kurzname des Secure Web Proxy-Gateways angegeben ist.

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID Ihres Google Cloud -Projekts
    • REGION: Region, in der Ihr Secure Web Proxy-Gateway bereitgestellt wird, z. B. us-central1
    • GATEWAY_NAME: Name Ihrer Secure Web Proxy-Gateway-Instanz

    Bei einer Abweichung bei der Projekt-ID, der Region oder dem Gateway-Namen kann der Proxy die Richtlinienkonfiguration nicht empfangen.

  5. IAM-Berechtigungen (Identity and Access Management) prüfen:

    • Achten Sie darauf, dass Ihrem Nutzerkonto oder Dienstkonto die Rolle Cloud Trace-Nutzer (roles/cloudtrace.user) zugewiesen ist, damit Sie Spans in der Google Cloud -Konsole ansehen können.
    • Achten Sie darauf, dass Sie den folgenden Dienstkonten die Rolle „Cloud Trace-Agent“ (roles/cloudtrace.agent) zugewiesen haben:
      • service-PROJECT_NUMBER@compute-system.
      • service-PROJECT_NUMBER@gcp-sa-networksecurity.
      • Dienstkonten für Client-VMs, wenn Clientanwendungen Spans generieren oder weitergeben

Fehlende untergeordnete Spannen oder unterbrochene Tracediagramme

Wenn Secure Web Proxy-Proxy-Spans als unabhängige oder getrennte Haupt-Traces anstelle von untergeordneten Spans Ihrer Anwendungsanfragen angezeigt werden, gehen Sie so vor:

  1. Parent-basiertes Sampling aktivieren: Prüfen Sie in der YAML-Datei Ihrer Telemetrierichtlinie, ob parentBasedSampling.enabled auf true gesetzt ist.

    tracingConfiguration:
      samplingRate: 0.01
      parentBasedSampling:
        enabled: true
    

    Wenn die übergeordnete Stichprobenerhebung deaktiviert ist, werden in Secure Web Proxy möglicherweise Spuren verworfen, die upstream erfasst wurden, wenn sie nicht mit dem lokalen samplingRate übereinstimmen.

  2. OpenTelemetry-Instrumentierung prüfen: Prüfen Sie, ob Ihre Anwendung ein OpenTelemetry SDK verwendet, für das die Kontextweitergabe für verteiltes Tracing aktiviert ist. Weitere Informationen finden Sie in der Dokumentation zum OpenTelemetry TraceContext-Propagator.

Unerwartet hohes Volumen bei der Erfassung von Traces

Wenn Sie in Trace ein höheres als erwartetes Volumen oder höhere als erwartete Kosten für die Trace-Erfassung feststellen, gehen Sie so vor:

  1. Basissamplingrate verringern: Legen Sie in Produktionsumgebungen mit hohem Traffic samplingRate auf einen kleineren Bruchteil fest, z. B. 0.01 (1%) oder 0.001 (0, 1%).
  2. Auf übergeordneten Elementen basierendes Sampling verwenden: Halten Sie die Gateway-Baseline samplingRate niedrig und aktivieren Sie parentBasedSampling. So wird sichergestellt, dass der Proxy nur die Anfragen erfasst, die von Upstream-Anwendungen ausgewählt werden.
  3. Temporäre Debugging-Richtlinien entfernen: Wenn Sie während der Fehlerbehebung 100% Sampling (samplingRate: 1.00) angewendet haben, entfernen Sie die Richtlinie oder stellen Sie die vorherige Konfiguration wieder her, nachdem der Debugging-Vorgang abgeschlossen ist.

Nächste Schritte