Keine Daten auf der Trace-Oberfläche
Wenn Sie in Ihrem Google Cloud-Projekt keine Traces aufrufen können, obwohl Trace-Daten vorhanden sind, führen Sie die folgenden Schritte aus:
-
Enable the Cloud Trace API.
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 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 Verfügung stellt, die Rolle „Cloud Trace-Agent“ (
roles/cloudtrace.agent
) zu. Diese Rolle umfasst die Berechtigungcloudtrace.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 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-Anwendung auf 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 integriert sind, müssen Sie eine OpenCensus-Bridge verwenden. Weitere Informationen zum Problem, das durch die Bridge gelöst wird, 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 eine App bereitgestellt, die über die Cloud Trace API Daten an Ihr Google Cloud-Projekt sendet. Es werden jedoch keine Trace-Daten erfasst.
Geben Sie Folgendes ein:
Wenn in der Google Cloud Console auf der Seite Trace Explorer keine Daten angezeigt werden, folgen Sie der Anleitung im Abschnitt Keine Daten auf 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
, mit der Anwendungen Datenspannen in ein Google Cloud-Projekt schreiben können.Wenn die App OpenTelemetry verwendet, gehen Sie so vor:
Aktualisieren Sie die Umgebungsvariablen für den Root-Dienst so, dass OpenTelemetry den
traceidratio
-Sampler mit einer Stichprobenrate von0.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 leer, um den Standard-Samplerparentbased_always_on
zu verwenden. Bei der Standardeinstellung wird die Stichprobenentscheidung für einen Bereich von seinem übergeordneten Bereich übernommen, sofern vorhanden. Wenn keine übergeordnete Spanne vorhanden ist, wird die Spanne abgetastet.
Sofern Ihre Anwendung nicht immer alle SPANs erfasst, ist es im Allgemeinen nicht möglich, eine Anfrage zu erzwingen, die End-to-End-Analyse zu durchlaufen, da jede Komponente in einer End-to-End-Anfrage eine eigene Entscheidung zur Stichprobenerhebung trifft. Sie können die Entscheidung jedoch beeinflussen, indem Sie dem Trace-Header das
sampled
-Flag mit der Einstellungtrue
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 die Meldung „Fehlende Span-ID“.
Bei Systemen für verteiltes Tracing sind unvollständige Traces zu erwarten. Ein Trace ist unvollständig, wenn ein gemusterter Span eine Referenz auf einen anderen Span enthält, der nicht empfangen wurde. Die nicht aufgelöste Referenz kann folgende Ursachen haben:
- 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 von Ihnen verwalteten Komponenten darauf, dass das
sampled
-Flag der Kopfzeile berücksichtigt und weitergegeben wird, sofern 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 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. Informationen zu Cloud Service Mesh finden Sie unter Weitergabe von Trace-Kontext.