Fehler beheben

Diese Seite enthält Informationen zur Fehlerbehebung für Trace.

Keine Daten auf der Trace-Oberfläche

Wenn Sie in Ihrem Google Cloud-Projekt keine Traces ansehen können, aber davon ausgehen, dass Trace-Daten vorhanden sind, führen Sie die folgenden Schritte aus:

  1. Aktivieren Sie die erforderliche API.

    Aktivieren Sie die API

  2. Rufen Sie in der Google Cloud Console die Seite APIs und Dienste auf:

    Zu APIs und Dienste

    Wenn Sie die Zeile Cloud Trace API gefunden haben, versuchen Sie Folgendes:

    • Wenn die Spalte Anfragen keine numerischen Informationen enthält, werden keine Trace-Daten an Ihr Google Cloud-Projekt gesendet.

      Prüfen Sie zum Beheben dieses Problems, ob Ihre Anwendungen und Proxys so konfiguriert sind, dass sie die Traces an das richtige Projekt senden.

    • Wählen Sie Cloud Trace API und dann den Tab Messwerte aus. Suchen Sie dann nach dem Diagramm Fehler nach API-Methode:

      • Wenn Schreibvorgänge fehlschlagen, weisen Sie dem Dienstkonto, das die Anmeldedaten zur Authentifizierung bereitstellt, die Rolle des Cloud Trace-Agents (roles/cloudtrace.agent) zu. Diese Rolle enthält die Berechtigung cloudtrace.traces.patch, mit der Anwendungen Span-Daten in ein Google Cloud-Projekt schreiben können.

        Weitere Informationen finden Sie unter Cloud Trace-IAM-Rollen.

      • Wenn Lesevorgänge fehlschlagen, prüfen Sie, ob Ihre IAM-Rolle im Google Cloud-Projekt die Berechtigungen der Rolle „Cloud Trace-Nutzer“ (roles/cloutrace.user) enthält. Eine Liste der Berechtigungen für diese Rolle finden Sie unter Cloud Trace-IAM-Rollen.

Keine Trace-Daten nach der Aktualisierung der Go App zur Verwendung von OpenTelemetry

Ihre Anwendung benötigt zum Erfassen von Traces die Clientbibliothek. Nachdem Sie Ihre Anwendung für die Verwendung von OpenTelemetry aktualisiert haben, werden keine Cloud Trace-Daten mehr angezeigt.

Da einige Google-Clientbibliotheken für Go in OpenCensus integriert sind, müssen Sie eine OpenCensus-Bridge verwenden. Weitere Informationen zu dem Problem, das durch die Bridge gelöst wird, finden Sie unter OpenCensus Bridge.

Informationen zum Update der Google-Clientbibliothek für Go finden Sie unter Problem 4237.

Keine Trace-Daten für bereitgestellte Anwendung

Sie haben eine Anwendung bereitgestellt, die mithilfe der Cloud Trace API Daten an Ihr Google Cloud-Projekt sendet. Es werden jedoch keine Trace-Daten erfasst.

Geben Sie Folgendes ein:

  • Wenn auf der Seite Trace Explorer der Google Cloud Console keine Daten angezeigt werden, folgen Sie der Anleitung im Abschnitt Keine Daten auf der Trace-Oberfläche.

  • Wenn die Anwendung nicht in Google Cloud bereitgestellt wird oder ein Dienstkonto zur Bereitstellung von Authentifizierungsdaten verwendet, prüfen Sie, ob dem Dienstkonto die Rolle des Cloud Trace-Agent (roles/cloudtrace.agent) gewährt wurde.

    Diese Rolle enthält die Berechtigung cloudtrace.traces.patch, mit der Anwendungen Span-Daten in ein Google Cloud-Projekt schreiben können.

  • Wenn die App auf OpenTelemetry basiert, gehen Sie so vor:

    • Versuchen Sie für den Root-Dienst, die Umgebungsvariablen so zu aktualisieren, dass OpenTelemetry den traceidratio-Sampler mit einer Abtastrate von 0.5 verwendet:

      export OTEL_TRACES_SAMPLER="traceidratio"
      export OTEL_TRACES_SAMPLER_ARG="0.5"
      
    • Lassen Sie bei allen anderen Diensten die Umgebungsvariable OTEL_TRACES_SAMPLER nicht konfiguriert, um den Standard-Sampler parentbased_always_on zu verwenden. Die Standardeinstellung bedeutet, dass die Stichprobenentscheidung für einen Span vom übergeordneten Span übernommen wird, sofern ein solcher vorhanden ist. Wenn kein übergeordneter Span vorhanden ist, wird eine Stichprobe für den Span erstellt.

    Sofern Ihre Anwendung nicht immer jeden Span erfasst, ist es im Allgemeinen nicht möglich, das vollständige Tracing einer Anfrage zu erzwingen, da jede Komponente in einer End-to-End-Anfrage eine eigene Stichprobenentscheidung trifft. Sie können die Entscheidung jedoch auch beeinflussen, indem Sie dem Trace-Header ein sampled-Flag hinzufügen, bei dem dieses Flag auf true gesetzt ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, die Anfrage zu erfassen. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Kontextverteilung.

Fehlende Span-ID-Nachricht im Trace

Der Trace enthält die Meldung „Span-ID fehlt“.

Bei verteilten Tracing-Systemen werden unvollständige Traces erwartet. Ein Trace ist unvollständig, wenn ein Stichproben-Span einen Verweis auf einen anderen nicht empfangenen Span enthält. Für einen nicht aufgelösten Verweis kann es folgende Gründe geben:

  • Für den referenzierten Span wurden keine Stichproben erhoben.
  • Für den referenzierten Span wurde eine Stichprobe erstellt, der aber noch nicht von Cloud Trace empfangen wurde oder der Span wurde empfangen, aber nicht gespeichert.

Wenn Sie sich einen unvollständigen Trace ansehen, zeigt Cloud Trace im Bereich mit den Trace-Details die Meldung „Fehlende Span-ID“ an.

Wenn immer wieder die Meldung „Fehlende Span-ID“ angezeigt wird, versuchen Sie Folgendes:

  • Bei Komponenten, die Sie verwalten, muss das Flag sampled des Headers beachtet und weitergegeben werden, wenn dieses Feld vorhanden ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, die Anfrage zu erfassen. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Kontextverteilung.

    Google Cloud-Dienste respektieren diesen Hinweis in der Regel. Sie begrenzen jedoch auch die Geschwindigkeit, mit der sie Trace-Daten schreiben.

  • Wenn Sie Anthos Service Mesh verwenden, folgen Sie der Anleitung zum Übertragen des Trace-Kontexts für diese Konfigurationen. Eine Anleitung für Anthos Service Mesh finden Sie unter Weitergabe von Trace-Kontext.