Fehler beheben

Diese Seite enthält Informationen zur Fehlerbehebung für Trace.

Bekannte Probleme

In diesem Abschnitt werden bekannte Probleme aufgeführt:

  • Spans, die mit der Telemetry API in Ihr Google Cloud -Projekt geschrieben werden, sind für die Cloud Trace API nicht zugänglich. Wenn Sie beispielsweise versuchen, diese Traces aufzulisten, schlägt der Befehl mit einem 404 Not Found-Fehler fehl.

Fehlerbehebung bei Observability Analytics

In diesem Abschnitt wird beschrieben, wie Sie Fehler beheben, die bei der Verwendung von Observability Analytics zum Abfragen Ihrer Tracedaten auftreten können.

Benachrichtigungsrichtlinie kann aufgrund eines Validierungsfehlers nicht gespeichert werden

Sie versuchen, eine Benachrichtigungsrichtlinie zu speichern, mit der Ihre Tracedaten überwacht werden, und erhalten eine Fehlermeldung wie die folgende:

The following error occurred when validating your SQL Alert: Error authenticating service account `service-12345@gcp-sa-monitoring-notification.iam.gserviceaccount.com`. BigQuery returned an error.

Diese Fehlermeldung weist darauf hin, dass dem Monitoring Service Account nicht die erforderlichen Berechtigungen erteilt wurden oder dass es nicht vorhanden ist. Dieses Konto wird automatisch vom System erstellt, wenn bestimmte vom Nutzer initiierte Aktionen ausgeführt werden. Wenn die Cloud Monitoring API jedoch deaktiviert ist, kann das System das Dienstkonto nicht verwenden.

So beheben Sie den Fehler:

  1. Rufen Sie in der Google Cloud Console die Seite APIs und Dienste auf und aktivieren Sie die Cloud Monitoring API:

    APIs & Dienste aufrufen

  2. Rufen Sie in der Google Cloud Console die Seite IAM auf:

    IAM aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.

  3. Führen Sie auf der Seite IAM die folgenden Schritte aus:

    1. Wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.

    2. Wenn das Monitoring-Dienstkonto nicht aufgeführt ist, erstellen Sie eine SQL-basierte Benachrichtigungsrichtlinie und versuchen Sie, die Richtlinie zu speichern.

      Wenn Sie die Richtlinie speichern, wird das Monitoring-Dienstkonto erstellt. Die Speicheraktion schlägt fehl, weil dieses Dienstkonto nicht die erforderlichen IAM-Rollen hat.

    3. Weisen Sie dem Monitoring-Dienstkonto die folgenden Rollen zu:

Fehlermeldung, dass eine Ansicht nicht vorhanden ist

Sie geben eine SQL-Abfrage im Abfragebereich der Seite Observability Analytics ein, aber der SQL-Parser gibt den folgenden Fehler aus:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/views/OBS_VIEW_ID does not exist

Der vorherige Fehler wird gemeldet, wenn die in der FROM-Anweisung angegebene Ansicht nicht gefunden werden kann.

So beheben Sie diesen Fehler: Vergewissern Sie sich, dass Ihre Ansicht die richtige Syntax aufweist:

  • Prüfen Sie, ob der voll qualifizierte Name der Ansicht der Syntax entspricht, die für das Benennungsschema von Observability Analytics erforderlich ist. Die erforderliche Syntax für eine Ansicht finden Sie, indem Sie die Standardabfrage der Ansicht aufrufen.

  • Wenn die Google Cloud Projekt-ID, der Standort, die Bucket-ID, die Dataset-ID oder die Ansichts-ID Punkte ((.)) enthalten, muss das Feld in einzelne Graviszeichen ((`)) eingeschlossen werden.

    Wenn die ID Ihres Google Cloud -Projekts beispielsweise example.com:bluebird lautet, sieht die FROM-Anweisung so aus:

    FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
    

Meldung „Erste Schritte mit Observability Analytics“ wird angezeigt

Sie öffnen die Seite Observability Analytics und es wird ein Fenster mit einer Meldung ähnlich der folgenden angezeigt:

Get started with Observability Analytics

Klicken Sie im Fenster auf  Schließen, um Observability Analytics zu verwenden.

Die vorherige Meldung wird angezeigt, wenn Sie keine Log-Buckets haben, für die ein Upgrade zur Verwendung von Observability Analytics durchgeführt wurde. Ihre Tracedaten werden jedoch nicht in einem Log-Bucket gespeichert.

Verknüpfung mehrerer Ansichten schlägt fehl

Sie schreiben eine Abfrage, in der mehrere Ansichten verknüpft werden, aber die Abfrage wird als ungültig markiert.

Nicht alle Ansichten können verknüpft werden.

Für das Zusammenführen von Ansichten gelten die folgenden Einschränkungen:

  1. Die Positionen der Ansichten erfüllen eine der folgenden Bedingungen:

    • Alle Ansichten haben denselben Standort.
    • Alle Ansichten befinden sich entweder am Standort global oder us.
  2. Wenn für Speicherressourcen kundenverwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK) verwendet werden, gilt eine der folgenden Bedingungen:

    • Für Speicherressourcen, die CMEK verwenden, wird derselbe Cloud KMS-Schlüssel verwendet.
    • Speicherressourcen, die CMEK verwenden, haben einen gemeinsamen Ancestor, in dem ein standardmäßiger Cloud KMS-Schlüssel angegeben ist, der sich am selben Standort wie die Speicherressourcen befindet.

    Wenn für eine oder mehrere Speicherressourcen CMEK verwendet wird, verschlüsselt das System temporäre Daten, die durch den Join generiert werden, entweder mit dem gemeinsamen Cloud KMS-Schlüssel oder mit dem standardmäßigen Cloud KMS-Schlüssel des übergeordneten Elements.

Angenommen, Sie haben zwei Ansichten, die sich am selben Speicherort befinden. Anschließend können Sie diese Ansichten zusammenführen, wenn eine der folgenden Bedingungen zutrifft:

  • Für die Speicherressourcen wird kein CMEK verwendet.
  • Eine Speicherressource verwendet CMEK, die andere nicht.
  • Beide Speicherressourcen verwenden CMEK und denselben Cloud KMS-Schlüssel.
  • Beide Speicherressourcen verwenden CMEK, aber unterschiedliche Schlüssel. Die Ressourcen haben jedoch einen gemeinsamen Ancestor, der einen standardmäßigen Cloud KMS-Schlüssel angibt, der sich am selben Ort wie die Speicherressourcen befindet.

    Angenommen, die Ressourcenhierarchie für einen Log-Bucket und einen Observability-Bucket umfasst dieselbe Organisation. Sie können Ansichten für diese Buckets verknüpfen, wenn Sie für diese Organisation die Standardressourceneinstellungen für Cloud Logging und für Observability-Buckets mit demselben standardmäßigen Cloud KMS-Schlüssel für den Speicherort konfiguriert haben.

Beim Erstellen eines verknüpften Datasets tritt ein Berechtigungsfehler auf

Sie versuchen, ein verknüpftes Dataset zu erstellen, aber der Vorgang schlägt mit einem Fehler wie dem folgenden fehl:

ERROR: (gcloud.beta.observability.buckets.datasets.links.create) {
  "code": 7,
  "message": "The caller does not have permission"
}

So beheben Sie das Problem:

  • Prüfen Sie, ob Ihnen die erforderlichen IAM-Rollen gewährt wurden. Eine Liste dieser Rollen finden Sie unter Verknüpfung für ein Dataset erstellen.

  • Prüfen Sie die Richtlinien Ihrer Organisation, um festzustellen, ob Einschränkungen für BigQuery-Datasets gelten. Angenommen, Sie erstellen eine benutzerdefinierte Einschränkung, für die BigQuery-Datasets an einem bestimmten Standort sein müssen. In diesem Fall können Sie nur ein verknüpftes BigQuery-Dataset für ein Observability-Dataset erstellen, das sich an diesem bestimmten Standort befindet.

Keine Daten auf der Seite Trace Explorer

Sie haben eine Anwendung, die Trace-Daten an Ihr Google Cloud -Projekt sendet. Wenn Sie jedoch die Seite Trace Explorer öffnen, werden keine Daten angezeigt.

Es gibt mehrere mögliche Gründe, warum Sie keine Trace-Daten sehen können:

  • Sie haben nicht die erforderlichen Berechtigungen zum Ansehen der Daten.
  • Trace-Spans wurden nicht an Ihr Projekt gesendet.
  • Ihre Anwendung hat nicht die erforderlichen Berechtigungen zum Schreiben von Trace-Daten.
  • Die Spannen Ihrer Traces werden nicht gespeichert.

In den folgenden Unterabschnitten finden Sie Informationen zur Fehlerbehebung für die aufgeführten Fehlerszenarien.

Prüfen, ob Sie berechtigt sind, Trace-Daten aufzurufen

Wenn Sie Trace-Daten ansehen möchten, muss Ihnen die Rolle „Cloud Trace-Nutzer“ (roles/cloudtrace.user) zugewiesen sein.

Prüfen, ob Trace-Spans an Ihr Projekt gesendet werden

So prüfen Sie, ob Spans an Ihr Projekt gesendet werden:

  1. Aktivieren Sie die Cloud Trace API und die Telemetry API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    APIs aktivieren

    Mit beiden APIs können Trace-Spans erfasst werden. Die Telemetry API wird jedoch empfohlen, da sie mit dem OpenTelemetry-Ökosystem kompatibel ist und großzügigere Limits als die Cloud Trace API hat.

  2. Rufen Sie die Seite Aktivierte APIs und Dienste auf und suchen Sie nach den Zeilen für die Cloud Trace API und die Telemetry API.

    Wenn die Anzahl der Anfragen für diese beiden APIs null ist, werden keine Trace-Daten an Ihr Projekt gesendet.

Prüfen Sie, ob Ihre Anwendung die erforderlichen Berechtigungen zum Schreiben von Trace-Spans hat.

So prüfen Sie, ob Ihre Anwendung die Berechtigung hat, Trace-Daten in Ihr Projekt zu schreiben:

  1. Rufen Sie die Seite Aktivierte APIs und Dienste auf, suchen Sie nach den Zeilen für die Cloud Trace API und die Telemetry API und sehen Sie sich die Spalte Fehler an.

  2. Wenn Sie in der Spalte Fehler für eine der beiden APIs einen Wert ungleich null sehen, treten beim Lesen oder Schreiben von Tracedaten über diese API Fehler auf. Wenn Sie den Fehlertyp ermitteln möchten, wählen Sie die API und dann den Tab Messwerte aus und sehen Sie sich Fehler nach API-Methode an:

    Wenn Schreibvorgänge fehlschlagen, weisen Sie dem Dienstkonto, das Anmeldedaten bereitstellt, die folgenden Rollen zu:

Prüfen, ob Ihre Tracedaten gespeichert werden

Trace-Spans werden in einem Beobachtbarkeits-Bucket namens _Trace gespeichert. Dieser Bucket wird automatisch bereitgestellt, wenn Ihr Google Cloud Projekt Trace-Spans empfängt. Es gibt jedoch mehrere Szenarien, in denen die Bereitstellung fehlschlägt.

Um festzustellen, ob ein Beobachtbarkeits-Bucket für Ihre Trace-Daten vorhanden ist, können Sie entweder Ihre Beobachtbarkeits-Buckets auflisten oder die Seite Trace-Explorer öffnen. Sie können beispielsweise Folgendes tun:

  1. Rufen Sie in der Google Cloud Console die Seite Trace Explorer auf:

    Zum Trace Explorer

    Sie können diese Seite auch über die Suchleiste finden.

  2. Wenn Sie ein Banner wie das folgende sehen, bedeutet das, dass kein Speicherplatz für Ihre Tracedaten bereitgestellt wird.

    Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data.
    

    Wenn Sie einen Bucket für Ihre Tracedaten bereitstellen möchten, klicken Sie im Banner auf Aktivieren.

    Wenn Sie auf Aktivieren klicken, wird ein Bereich an Ihr Projekt gesendet. Wenn das System den Span empfängt, wird der Befehl zum Erstellen eines Beobachtbarkeits-Buckets mit dem Namen _Trace ausgegeben. Dieser Vorgang kann einige Minuten dauern.

    Wenn die Initialisierung erfolgreich ist, wird ein Benachrichtigungsbanner angezeigt und Cloud Trace nimmt alle Tracedaten auf, die in der letzten Stunde gesendet wurden. Diese Daten wurden in einem temporären Puffer gespeichert. Es kann einige Minuten dauern, bis Daten im Trace Explorer angezeigt werden. Wenn Sie keine Daten sehen, aktualisieren Sie das Fenster.

  3. Wenn der Aktivierungsbefehl fehlschlägt, wird die folgende Meldung angezeigt:

    Initializing trace storage has failed for an unexpected reason. Please file a support ticket for assistance.
    

    Wenn Sie den Fehler beheben möchten, Google Cloud wenden Sie sich an den Support. Klicken Sie dazu auf Ticket einreichen.

Suche nach einem bestimmten Trace schlägt fehl

Sie geben eine Trace-ID auf der Seite Trace Explorer ein. Der Trace wird nicht gefunden und eine Meldung wie die folgende wird angezeigt:

The select trace with ID abcde does not exist or is older than 30 days and has been deleted per our retention policy.

Versuchen Sie Folgendes, um diesen Fehler zu beheben:

  1. Prüfen Sie, ob der Zeitstempel, der mit der Trace-ID verknüpft ist, innerhalb des Aufbewahrungszeitraums liegt.

  2. Ermitteln Sie das Google Cloud Projekt, in dem der Trace gespeichert ist, und prüfen Sie, ob dieses Projekt in der Ressourcenauswahl der Google Cloud Console ausgewählt ist. Standardmäßig hat die Seite Trace Explorer nur Zugriff auf Tracedaten, die im ausgewählten Projekt gespeichert sind.

Fehlende ältere Daten auf der Seite Trace Explorer

Sie verwenden die Seite Trace-Explorer und können aktuelle Daten sehen. Wenn Sie die Zeitbereichsauswahl jedoch auf 30 Tage oder einen größeren Wert festlegen, werden die älteren Daten nicht angezeigt.

Auf der Seite Trace Explorer werden keine Daten für Zeiträume angezeigt, die länger als der Aufbewahrungszeitraum von Cloud Trace (30 Tage) sind.

Wenn der Zeitraumselektor auf 30 Tage oder weniger eingestellt ist, bedeutet das, dass die Datenbank, die von den Abfragen auf der Seite Trace Explorer abgefragt wird, erst vor Kurzem erstellt wurde. Wenn Sie diesen Wert beispielsweise auf 20 Tage festlegen und nur die Daten der letzten 10 Tage sehen, wurde die Datenbank vor 10 Tagen erstellt. Außerdem enthält diese Datenbank nur Traces, die nach der Erstellung der Datenbank an Ihr Google Cloud -Projekt gesendet wurden.

Unvollständiger Trace wird angezeigt

Sie öffnen die Seite Trace Explorer und wählen einen Span aus, der angezeigt werden soll. Im Flyout Details wird der Trace angezeigt, aber er ist nicht vollständig. Einige Zeiträume werden nicht angezeigt.

Es kann aus folgenden Gründen vorkommen, dass Zeiträume fehlen:

  • Auf der Seite Trace-Explorer wird nicht in allen Google Cloud Projekten gesucht, in denen Spandaten für den Trace gespeichert sind.

  • Ihre IAM-Rolle für ein Google Cloud Projekt, in dem Spannen-Daten für den Trace gespeichert sind, enthält nicht die Berechtigungen, die zum Aufrufen von Trace-Daten erforderlich sind.

  • Es gibt ein Problem mit der Instrumentierung. Beispielsweise wurden nur einige Spannen in einem Trace an Ihr Google Cloud -Projekt gesendet.

So beheben Sie diese Probleme:

  1. Legen Sie auf der Seite Trace Explorer das Element Bereich auf einen Tracebereich fest, in dem Projekte aufgeführt sind, in denen die Spans für den ausgewählten Trace gespeichert sind.

    Wenn es keinen Trace-Bereich gibt, der die Projekte enthält, die Sie im vorherigen Schritt identifiziert haben, erstellen oder ändern Sie einen vorhandenen Trace-Bereich. Weitere Informationen finden Sie unter Trace-Bereiche erstellen und verwalten.

  2. Prüfen Sie, ob Sie die Rolle „Cloud Trace-Nutzer“ (roles/cloudtrace.user) für die Projekte haben, in denen die Spandaten gespeichert werden.

Sie sind nicht berechtigt, Trace-Daten anzusehen

Sie sehen die Seite Trace Explorer und die folgende Benachrichtigung:

You don't have the required permissions to view trace data for one or more projects listed in the trace scope.

So beheben Sie das Problem:

  1. Maximieren Sie das Element Bereich und sehen Sie nach, welcher Trace-Bereich ausgewählt ist.
  2. Wählen Sie im Flyout Bereich eingrenzen die Option Bereiche verwalten aus.
  3. Suchen Sie den im ersten Schritt ermittelten Trace-Bereich und maximieren Sie dann die Details, um die Liste der Google Cloud Projekte aufzurufen.
  4. Prüfen Sie für jedes Google Cloud Projekt im Trace-Bereich, ob Sie die Rolle „Cloud Trace-Nutzer“ (roles/cloudtrace.user) haben. Wenn Sie diese Rolle für ein Projekt nicht haben, bitten Sie einen Administrator oder Projektinhaber, Ihnen diese Rolle zuzuweisen.

Regionenübergreifende Abfragen werden nicht unterstützt

Sie öffnen die Seite Trace Explorer und es wird eine Meldung wie die folgende angezeigt:

Error loading chart data. Cross-regional queries are not supported. The selected scope comprises buckets residing in multiple locations: list of locations.

Die Fehlermeldung weist darauf hin, dass auf der Seite Trace-Explorer eine Abfrage für Daten ausgegeben werden muss, die an verschiedenen Orten gespeichert sind.

Führen Sie einen der folgenden Schritte aus, um diesen Fehler zu beheben:

  • Tracedaten auf die Daten beschränken, die in Ihrem ausgewählten Projekt gespeichert sind:

    • Rufen Sie die Symbolleiste der Seite Trace Explorer auf und maximieren Sie das Menü Bereich.
    • Wählen Sie im Flyout Bereich eingrenzen die Option Aktuelles Projekt aus.
  • Wählen Sie einen Trace-Bereich aus, in dem Projekte aufgeführt sind, deren Daten am selben Standort gespeichert sind. Verwenden Sie dazu die Optionen im Menü Umfang.

  • Entfernen Sie aus dem ausgewählten Tracebereich alle Projekte, deren Daten an einem anderen Speicherort als Ihr ausgewähltes Projekt gespeichert sind:

    • Rufen Sie die Symbolleiste der Seite Trace Explorer auf und maximieren Sie das Menü Bereich.
    • Wählen Sie im Flyout Bereich eingrenzen die Option Bereiche verwalten aus.
    • Auf der Seite Tracebereiche können Sie jeden Tracebereich bearbeiten.

    Führen Sie den Befehl List observability buckets aus, um den Speicherort Ihrer Trace-Daten zu ermitteln. Geben Sie Ihr Projekt im Pfadparameter an und legen Sie für LOCATION das Feld auf einen Bindestrich ((-)) fest, der als Platzhalter dient.

Fehlende Meldung zur Spannen-ID im Trace

Ihr Trace enthält die Meldung „Missing span ID“ (Fehlende Span-ID).

In Systemen für verteiltes Tracing sind unvollständige Traces zu erwarten. Ein Trace ist unvollständig, wenn ein erfasster Span einen Verweis auf einen anderen Span enthält, der nicht empfangen wurde. Die nicht aufgelöste Referenz kann folgende Ursachen haben:

  • Der referenzierte Zeitraum wurde nicht berücksichtigt.
  • Der referenzierte Span wurde erfasst, aber noch nicht von Cloud Trace empfangen, oder der Span wurde empfangen, aber nicht gespeichert.

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

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

  • Prüfen Sie bei Komponenten, die Sie verwalten, ob sie das Flag sampled des Headers berücksichtigen und weitergeben, wenn dieses Feld vorhanden ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, die Anfrage zu analysieren. 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. Sie begrenzen jedoch auch die Rate, mit der sie Trace-Daten schreiben.

  • Wenn Sie Cloud Service Mesh verwenden, prüfen Sie, ob Sie die Anleitung zum Weitergeben des Trace-Kontexts für diese Konfigurationen befolgen. Informationen zu Cloud Service Mesh finden Sie unter Weitergabe von Trace-Kontext.

Protokoll- und Tracedaten können nicht korreliert werden

Sie führen eine der folgenden Aktionen aus:

  • Sie sehen einen Trace-Span und möchten die zugehörigen Logeinträge ansehen. Es werden jedoch entweder keine Logdaten aufgeführt oder, wenn Sie die Seite Logs-Explorer öffnen, werden keine Logeinträge angezeigt.

  • Sie sehen einen Logeintrag und möchten die zugehörigen Trace-Spans aufrufen. Wenn Sie jedoch die Optionen im Logeintrag verwenden, um die Seite Trace-Explorer zu öffnen, werden keine Tracedaten angezeigt.

Konfigurieren Sie den Observability-Bereich, um diese Fehler zu beheben. Mit diesem Bereich wird angegeben, welche Ihrer Trace- und Logbereiche verwendet werden sollen, wenn die entsprechenden Explorer-Seiten geöffnet werden. Weitere Informationen finden Sie unter Beobachtbarkeitsbereiche für projektübergreifende Abfragen konfigurieren.

Keine Trace-Daten nach der Aktualisierung der Go-App zur Verwendung von OpenTelemetry

Ihre Anwendung ist auf die Clientbibliothek angewiesen, um Traces zu erfassen. Nachdem Sie Ihre Anwendung auf OpenTelemetry umgestellt haben, werden keine Cloud Trace-Daten mehr angezeigt.

Da einige Cloud-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 zum Update der Cloud-Clientbibliotheken für Go finden Sie unter Problem 4237.