Fehlerbehebung

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. Wählen Sie im Navigationsbereich der Google Cloud Console APIs und Dienste aus, klicken Sie auf APIs und Dienste aktivieren und aktivieren Sie dann die Cloud Trace API:

    Zu den Einstellungen für die Cloud Trace API

  2. Wenn API aktiviert angezeigt wird, ist die API bereits aktiviert. Falls nicht, klicken Sie auf die Schaltfläche Aktivieren.

  3. Klicken Sie in der Symbolleiste auf das -Navigationsmenü und wählen Sie APIs und Dienste aus. Wenn die Zeile für die Cloud Trace API keine numerischen Werte in der Spalte Requests (Anfragen), der Spalte Errors (Fehler) oder für andere Spalten enthält, erreichen keine Trace-Anfragen Ihr Google Cloud-Projekt. Prüfen Sie Ihre Anwendungen und Proxys, um zu gewährleisten, dass sie aufgrund ihrer Konfiguration Traces an das richtige Projekt senden.

  4. Klicken Sie auf Cloud Trace API und wählen Sie den Tab Messwerte aus, um Details zur API-Nutzung aufzurufen.

    Grenzen Sie die Fehlerquelle mithilfe der Filter Anmeldedaten und Methoden ein und sehen Sie sich die Auswirkungen an, die Ihre Auswahl auf das Diagramm Fehler nach API-Methode hat:

    • Wenn alle Schreibvorgänge fehlschlagen, prüfen Sie, ob Ihr Dienstkonto Zugriff auf die Cloud Trace-Agent-Rolle hat. Diese Rolle enthält die Berechtigung cloudtrace.traces.patch. Weitere Informationen finden Sie unter Cloud Trace-IAM-Rollen.

    • Wenn Lesevorgänge fehlschlagen, gewährleisten Sie, dass Sie Zugriff auf die Rolle Cloud Trace-Nutzer für dieses Google Cloud-Projekt haben. Eine vollständige 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 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 Ihre Anwendung bereitgestellt und instrumentiert, um Trace-Daten mit OpenTelemetry zu erfassen. Es werden jedoch keine Trace-Daten erfasst.

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.