Logeinträge mit Traces verknüpfen

In diesem Dokument wird beschrieben, wie Sie einen Logeintrag mit einem Trace verknüpfen. Sie stellen die Verknüpfung her, indem Sie ein Feld im Logeintrag festlegen. Mithilfe der Trace-Felder in der LogEntry-Struktur – spanId, trace und traceSampled – können Sie Logs und Traces korrelieren, um die verteilte Fehlerbehebung zu verbessern.

Logeintrag manuell mit einem Trace oder Span verknüpfen

Wenn Sie die Cloud Logging API zum Schreiben von Logdaten verwenden oder strukturierte Logdaten schreiben, können Sie einen Logeintrag mit einem Trace oder einem Span verknüpfen. Im Logeintrag kann auch aufgezeichnet werden, ob der Trace als Stichprobe erfasst wurde. Informationen dazu, wie der Ops-Agent strukturierte Logdaten in Felder in einem LogEntry konvertiert, finden Sie unter Spezielle Felder in strukturierten Nutzlasten.

Wenn Sie einen Logeintrag mit einem Trace verknüpfen möchten, legen Sie das Feld trace im LogEntry-Objekt fest:

  • Bevorzugtes Format: TRACE_ID
  • Legacy-Format: projects/PROJECT_ID/traces/TRACE_ID

In den vorherigen Ausdrücken ist PROJECT_ID Ihre Google Cloud Projekt-ID und TRACE_ID die Trace-ID.

Wenn Sie einen Logeintrag mit einem Span verknüpfen möchten, wenn Sie die Cloud Logging API verwenden, legen Sie das Feld spanId im LogEntry-Objekt auf die 16-stellige hexadezimale Codierung der ID des Spans fest. Wenn Sie beispielsweise einen Logeintrag mit einem Span mit der ID 74 verknüpfen möchten, legen Sie die Span-ID auf 000000000000004a fest.

Wenn Sie angeben möchten, dass Sie Trace-Sampling verwenden und der Trace beim Schreiben des Logeintrags erfasst wurde, legen Sie das Feld traceSampled im LogEntry-Objekt fest. Wenn Sie Trace-Sampling verwenden, ist es möglich, dass ein Logeintrag erstellt wird, wenn der Trace selbst nicht erfasst wird.

Logeintrag automatisch mit einem Trace oder Span verknüpfen

Wenn Sie Cloud Logging-Clientbibliotheken verwenden, können die Ablaufverfolgungsfelder in einem Logeintrag in einigen Fällen automatisch festgelegt werden. Manuell festgelegte Werte haben Vorrang vor automatisch festgelegten Werten.

Wenn Sie beispielsweise OpenTelemetry verwenden und aus einem aktiven OpenTelemetry-Span protokollieren, werden die Trace-Felder im Logeintrag aus dem OpenTelemetry-Kontext übernommen.

Alternativ können die Trace-Felder in einigen Fällen, wenn eine HTTP-Anfrage vorhanden ist, aus dem W3C-Feld traceparent oder dem Wert X-Cloud-Trace-Context in der HTTP-Anfrage festgelegt werden.

Weitere Informationen zum automatischen Ausfüllen von Trace-Feldern in Logeinträgen finden Sie in der folgenden sprachspezifischen Clientbibliotheksdokumentation:

Logs ansehen

Den Logeintrag für einen Trace können Sie neben der Wasserfallgrafik oder in der Loganzeige ansehen. Wenn Sie die Loganzeige verwenden, wird sie automatisch auf den Zeitstempelbereich des Trace beschränkt. Wenn keine Logeinträge vorhanden sind, wird der Loganzeige die Nachricht No entries found matching current filter angezeigt.

Führen Sie im Bereich Trace-Details einen der folgenden Schritte aus, um sich den Logeintrag für den Trace anzusehen:

  • Klicken Sie in der Wasserfallgrafik auf Logs anzeigen, um die Trace-Logeinträge neben der Wasserfallgrafik anzuzeigen. Wenn Logs anzeigen nicht angezeigt wird, sind keine Logeinträge verfügbar.

  • Klicken Sie im Bereich Details neben dem Label Log auf Anzeigen, um den Logeintrag in der Loganzeige anzuzeigen. Beachten Sie, dass Sie bei einem Cloud Load Balancing-Trace neben dem Label VM-Log auf Ansicht klicken müssen.

Weitere Informationen zum Anzeigen von Logeinträgen in Cloud Logging finden Sie unter Log-Explorer verwenden.

Berechtigungen zur Loganzeige

Zum Anzeigen von Logeinträgen ist die Berechtigung logging.logEntries.list in Ihrem Projekt erforderlich. Diese Berechtigung wird durch die IAM-Rollen Logbetrachter und Projektbetrachter erteilt.

Zum Anzeigen des VM-Instanz-Logs ist die Berechtigung compute.instances.get in Ihrem Projekt erforderlich. Diese Berechtigung wird durch die IAM-Rollen Compute Engine-Netzwerkbetrachter und Projektbetrachter erteilt.