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. Cloud Trace API aktivieren.

    Aktivieren Sie die API

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

    Gehen Sie 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 Ihre Anwendungen und Proxys, um sicherzustellen, dass sie sind so konfiguriert, dass die Traces an das richtige Projekt gesendet werden.

    • 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 benötigt die Clientbibliothek, um Traces zu erfassen. Wenn Sie Ihre Anwendung auf OpenTelemetry aktualisieren, Cloud Trace-Daten.

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 Problem 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 Anwendung nicht in Google Cloud bereitgestellt ist oder eine Dienstkonto Anmeldedaten zur Authentifizierung bereitzustellen, und achten Sie darauf, Dem Dienstkonto wurde die Rolle gewährt: 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.

  • Wenn die Anwendung 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"
      
    • Übernehmen Sie für alle anderen Dienste das Feld OTEL_TRACES_SAMPLER der Umgebungsvariable nicht mehr so festgelegt, dass der Standard-Sampler parentbased_always_on verwendet wird. 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 jedoch beeinflussen, indem Sie dem Trace-Header ein sampled-Flag hinzufügen, wobei dieses Flag auf true gesetzt ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten. um die Anfrage zu stichproben. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Weitergabe von Kontext.

Fehlende Span-ID-Nachricht in Trace

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

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:

  • Für den referenzierten Span wurde keine Stichprobe erstellt.
  • Der referenzierte Span wurde als Stichproben verwendet, wurde 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 Nachricht „Span-ID fehlt“ im Bereich mit den Trace-Details.

Wenn immer wieder die Meldung „Span-ID fehlt“ angezeigt wird, versuchen Sie es mit dem 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, um das Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Weitergabe von Kontext.

    Google Cloud-Dienste berücksichtigen diesen Hinweis in der Regel. Allerdings und begrenzen 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. Für Cloud Service Mesh Weitere Informationen finden Sie unter Weitergabe von Trace-Kontext.