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:
-
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 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 Berechtigungcloudtrace.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 von0.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-Samplerparentbased_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 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 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.