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, obwohl Sie davon ausgehen, dass Trace-Daten vorhanden sind, führen Sie die folgenden Schritte aus:

  1. Cloud Trace API aktivieren.

    Aktivieren Sie die API

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

    Zu APIs und Dienste

    Nachdem 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, ob Ihre Anwendungen und Proxys so konfiguriert sind, dass sie Traces an das richtige Projekt senden, um diesen Fall zu lösen.

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

      • Wenn Schreibvorgänge fehlschlagen, gewähren Sie dem Dienstkonto, das die Anmeldedaten zur Authentifizierung bereitstellt, die Rolle des Cloud Trace-Agents (roles/cloudtrace.agent). 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 IAM-Rollen für Cloud Trace.

      • Wenn Lesevorgänge fehlschlagen, prüfen Sie, ob Ihre IAM-Rolle für das 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 IAM-Rollen für Cloud Trace.

Keine Trace-Daten nach der Aktualisierung der Go-App für die Verwendung von OpenTelemetry

Ihre Anwendung verwendet die Clientbibliothek zum Erfassen von Traces. 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 Brücke gelöst wird, finden Sie unter OpenCensus Bridge.

Informationen zur Aktualisierung der Google-Clientbibliothek für Go finden Sie unter Problem 4237.

Keine Trace-Daten für bereitgestellte App

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

Geben Sie Folgendes ein:

  • Wenn Sie auf der Seite Trace Explorer der Google Cloud Console keine Daten sehen, führen Sie die Schritte im Abschnitt Keine Daten in der Trace-Oberfläche aus.

  • Wenn die Anwendung nicht in Google Cloud bereitgestellt wird oder ein Dienstkonto zur Authentifizierung verwendet wird, prüfen Sie, ob dem Dienstkonto die Rolle des Cloud Trace-Agents (roles/cloudtrace.agent) zugewiesen 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 Anwendung OpenTelemetry verwendet, gehen Sie so vor:

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

      export OTEL_TRACES_SAMPLER="traceidratio"
      export OTEL_TRACES_SAMPLER_ARG="0.5"
      
    • Lassen Sie die Umgebungsvariable OTEL_TRACES_SAMPLER für alle anderen Dienste nicht konfiguriert, um den Standard-Sampler parentbased_always_on zu verwenden. Die Standardeinstellung bedeutet, dass die Stichprobenentscheidung für einen Span von seinem übergeordneten Span übernommen wird, sofern ein solcher Span vorhanden ist. Ist kein übergeordneter Span vorhanden, wird er als Stichproben verwendet.

    Sofern Ihre Anwendung nicht immer jeden Span erfasst, ist es im Allgemeinen nicht möglich, das Tracing einer Anfrage von Anfang bis Ende zu erzwingen, da jede Komponente in einer End-to-End-Anfrage ihre eigene Stichprobenentscheidung trifft. Sie können die Entscheidung jedoch beeinflussen, indem Sie dem Trace-Header das Flag sampled hinzufügen, wobei dieses Flag auf true gesetzt ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, mit denen die Anfrage abgetastet werden soll. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Kontextweitergabe.

Fehlende Span-ID-Nachricht in Trace

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

In verteilten Tracing-Systemen sind unvollständige Traces zu erwarten. Ein Trace ist unvollständig, wenn ein Stichproben-Span einen Verweis auf einen anderen Span enthält, der nicht empfangen wurde. Eine nicht aufgelöste Referenz kann aus folgenden Gründen auftreten:

  • Für den referenzierten Span wurde keine Stichprobe erstellt.
  • Der referenzierte Span wurde als Stichproben verwendet, aber noch nicht von Cloud Trace empfangen, 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:

  • Achten Sie bei von Ihnen verwalteten Komponenten darauf, dass sie das Flag sampled des Headers berücksichtigen und weitergeben, wenn dieses Feld vorhanden ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, mit denen die Anfrage abgetastet werden soll. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Kontextweitergabe.

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

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