Fehler beheben

Diese Seite enthält Informationen zur Fehlerbehebung Nachverfolgen.

Keine Daten auf der Trace-Oberfläche

Wenn Sie in Ihrem Google Cloud-Projekt keine Traces ansehen können, obwohl Sie einen Trace erwarten Daten vorhanden sein sollen, führen Sie die folgenden Schritte aus:

  1. Enable the Cloud Trace API.

    Enable the API

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

    Gehen Sie zu APIs und Dienste.

    Suchen Sie die Zeile mit der Überschrift Cloud Trace API und gehen Sie so vor:

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

      Prüfen Sie Ihre Anwendungen und Proxys, um zu gewährleisten, dass sie aufgrund ihrer Konfiguration Traces an das richtige Projekt senden.

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

      • Wenn Schreibvorgänge fehlschlagen, gewähren Sie den Parameter Dienstkonto, das ist die Bereitstellung der Anmeldedaten für die Authentifizierung, Cloud Trace-Agent (roles/cloudtrace.agent). Diese Rolle enthält die Berechtigung cloudtrace.traces.patch, die ermöglicht es Anwendungen, Span-Daten in ein Google Cloud-Projekt zu schreiben.

        Weitere Informationen finden Sie unter Cloud Trace-IAM-Rollen

      • Wenn Lesevorgänge fehlschlagen, prüfen Sie, ob Ihre IAM Rolle für das Google Cloud-Projekt enthält die Berechtigungen in der Rolle Cloud Trace-Nutzer (roles/cloutrace.user). Für eine Liste von Berechtigungen für diese Rolle, Siehe Cloud Trace-IAM-Rollen.

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 auf OpenTelemetry umgestellt haben, werden keine Cloud Trace-Daten mehr angezeigt.

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

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

Keine Trace-Daten für bereitgestellte App

Sie haben mithilfe der Methode Cloud Trace API, aber Trace-Daten werden nicht erfasst.

Geben Sie Folgendes ein:

  • Falls Sie auf der Seite Trace Explorer der Google Cloud Console. Folgen Sie dann den Schritten im Abschnitt Keine Daten in der Trace-Oberfläche.

  • Wenn die App nicht in Google Cloud bereitgestellt wird oder ein Dienstkonto für die Bereitstellung von Authentifizierungsdaten verwendet, muss dem Dienstkonto die Rolle „Cloud Trace-Agent“ (roles/cloudtrace.agent) zugewiesen werden.

    Diese Rolle enthält die Berechtigung cloudtrace.traces.patch, die ermöglicht es Anwendungen, Span-Daten in ein Google Cloud-Projekt zu schreiben.

  • Wenn die App OpenTelemetry verwendet, gehen Sie so vor:

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

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

    Sofern Ihre Anwendung nicht immer jeden Span verwendet, Im Allgemeinen ist es nicht möglich, das Tracing einer Anfrage von Anfang bis Ende zu erzwingen. da jede Komponente in einer End-to-End-Anfrage ihren eigenen Entscheidung über die Stichprobenerhebung. Sie können die Entscheidung jedoch beeinflussen, indem Sie dem Trace-Header das sampled-Flag mit der Einstellung true hinzufügen. 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 Kontextweitergabe.

Fehlende span-ID-Nachricht im Trace

Ihr Trace enthält eine „Fehlende Span-ID“ .

In verteilten Tracing-Systemen sind unvollständige Traces zu erwarten. Ein Trace ist unvollständig, wenn ein Stichproben-Span einen Verweis auf einen anderen enthält. nicht empfangenen Spanne. Der nicht aufgelöste Verweis kann auftreten für die folgenden Gründen:

  • Der referenzierte Bereich wurde nicht abgetastet.
  • Der referenzierte Span wurde zwar erfasst, aber noch nicht von Cloud Trace empfangen oder er wurde empfangen, aber nicht gespeichert.

Wenn Sie sich einen unvollständigen Trace ansehen, wird in Cloud Trace im Bereich „Trace-Details“ die Meldung „Fehlende Span-ID“ angezeigt.

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

  • Achten Sie bei Komponenten, die Sie verwalten, darauf, das Flag sampled des Headers übergeben, wenn dies 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 Kontextweitergabe.

    Google Cloud-Dienste berücksichtigen diesen Hinweis in der Regel. Sie begrenzen jedoch auch die Rate, mit der Trace-Daten geschrieben werden.

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