Logs mit Observability Analytics abfragen und analysieren

In diesem Dokument wird beschrieben, wie Sie Ihre Logdaten mit Observability Analytics abfragen und analysieren, das eine SQL-basierte Abfrageschnittstelle bietet. Mit SQL können Sie Aufgaben wie das Zählen von Logeinträgen mit einem Feld, das einem Muster entspricht, ausführen. Observability Analytics bietet einen SQL-Editor und ein menübasiertes System zum Erstellen von Abfragen. Sie können die Abfrageergebnisse in Tabellenform ansehen oder die Daten als Diagramm visualisieren. Sie können Ihre Diagramme in Ihren benutzerdefinierten Dashboards speichern.

Sie können entweder eine Logansicht in einem Log-Bucket oder eine Analyseansicht abfragen. Wenn Sie eine Logansicht abfragen, entspricht das Schema dem der Datenstruktur LogEntry. Da der Ersteller einer Analyseansicht das Schema bestimmt, besteht ein Anwendungsfall für Analyseansichten darin, Logdaten aus dem Format LogEntry in ein Format zu transformieren, das für Sie besser geeignet ist.

Sie können auch Observability Analytics verwenden, um Ihre Trace-Daten abzufragen. Weitere Informationen finden Sie unter Traces abfragen und analysieren.

In Observability Analytics werden doppelte Logeinträge nicht dedupliziert. Das kann sich darauf auswirken, wie Sie Ihre Abfragen schreiben. Außerdem gelten für die Verwendung von Observability Analytics einige Einschränkungen. Weitere Informationen zu diesen Themen finden Sie in den folgenden Dokumenten:

Verknüpfte BigQuery-Datasets

Sie benötigen kein verknüpftes BigQuery-Dataset, wenn Sie Ihre Logdaten oder Ihre Log- und Trace-Daten abfragen möchten. In solchen Szenarien können Sie die Seite Observability Analytics verwenden. Sie können Ihre Abfragen speichern und freigeben und die Abfrage in einem benutzerdefinierten Dashboard speichern. Informationen zum Abfragen von Trace-Daten finden Sie unter Traces abfragen und analysieren.

Sie benötigen ein verknüpftes BigQuery-Dataset, wenn Sie eine der folgenden Aktionen ausführen möchten:

Wenn Sie ein verknüpftes BigQuery-Dataset für einen Log-Bucket erstellen, erweitern Sie die Sicherheitsgrenze Ihrer Logdaten auf BigQuery-Dienste. Das bedeutet, dass BigQuery-Dienste Ihre Logdaten jetzt abfragen können, indem sie eine Abfrage an das verknüpfte BigQuery-Dataset senden. Bevor Sie ein verknüpftes BigQuery-Dataset erstellen, sollten Sie sich den Abschnitt Datensicherheit mit Observability Analytics ansehen.

Hinweis

In diesem Abschnitt werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie Observability Analytics verwenden können.

Log-Buckets konfigurieren

Prüfen Sie, ob für Ihre Log-Buckets ein Upgrade zur Verwendung von Observability Analytics durchgeführt wurde:

  1. Rufen Sie in der Google Cloud -Console die Seite Logspeicher auf.

    Zum Logspeicher

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Prüfen Sie für Log-Buckets mit einer Logansicht, die Sie abfragen möchten, ob in der Spalte Observability Analytics verfügbar die Option Öffnen angezeigt wird. Wenn Upgrade angezeigt wird, klicken Sie auf Upgrade und schließen Sie das Dialogfeld.

IAM-Rollen und ‑Berechtigungen konfigurieren

In diesem Abschnitt werden die IAM-Rollen oder -Berechtigungen beschrieben, die für die Verwendung von Observability Analytics erforderlich sind:

  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung von Observability Analytics und zum Abfragen von Logansichten benötigen:

    • So fragen Sie die Log-Buckets _Required und _Default ab: Loganzeige (roles/logging.viewer)
    • So fragen Sie alle Logansichten in einem Projekt ab: Logs View Accessor (roles/logging.viewAccessor)

    Sie können einen Prinzipal auf eine bestimmte Logansicht beschränken, indem Sie entweder eine IAM-Bedingung für die auf Projektebene erteilte Rolle „Logs View Accessor“ hinzufügen oder eine IAM-Bindung zur Richtliniendatei der Logansicht hinzufügen. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

    Dies sind dieselben Berechtigungen, die Sie benötigen, um Logeinträge auf der Seite Log-Explorer aufzurufen. Informationen zu zusätzlichen Rollen, die Sie zum Abfragen von Ansichten in benutzerdefinierten Buckets oder zum Abfragen der _AllLogs-Ansicht des _Default-Log-Buckets benötigen, finden Sie unter Cloud Logging-Rollen.

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Observability Analytics User (roles/observability.analyticsUser) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen von Analyseansichten benötigen.

Logdaten abfragen

In diesem Abschnitt werden die Ansätze beschrieben, mit denen Sie Ihre Logdaten abfragen können:

  • Laden Sie eine systemdefinierte Abfrage, bearbeiten Sie sie und führen Sie sie dann aus.
  • Geben Sie eine benutzerdefinierte Abfrage ein und führen Sie sie aus. Sie können beispielsweise eine vorhandene Abfrage einfügen oder eine neue schreiben. Benutzerdefinierte Abfragen können Joins, verschachtelte Abfragen und andere komplexe SQL-Anweisungen enthalten. Beispiele finden Sie unter Beispiel-SQL-Abfragen.
  • Erstellen Sie eine Abfrage, indem Sie Menüoptionen auswählen, und führen Sie die Abfrage dann aus. Observability Analytics wandelt Ihre Auswahl in eine SQL-Abfrage um, die Sie sich ansehen und bearbeiten können.

Systemdefinierte Abfrage laden, bearbeiten und ausführen

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf:

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Rufen Sie im Menü Ansichten den Abschnitt Logs oder Analyseansichten auf und wählen Sie die Ansicht aus, die Sie abfragen möchten.

    Verwenden Sie die Filterleiste oder scrollen Sie durch die Liste, um die Ansicht zu finden, die Sie abfragen möchten:

    • Logansichten werden nach BUCKET_ID.LOG_VIEW_ID aufgelistet, wobei sich diese Felder auf die IDs des Log-Buckets und der Logansicht beziehen.
    • Analyseansichten werden nach LOCATION.ANALYTICS_VIEW_ID aufgelistet, wobei sich diese Felder auf den Standort und die ID einer Analyseansicht beziehen. Analyseansichten befinden sich in der öffentlichen Vorschau.

  3. Führen Sie einen der folgenden Schritte aus:

    • Wenn Sie eine systemdefinierte Abfrage laden möchten, die auf dem Query Builder basiert, mit dem Sie die Abfrage über Menüauswahlen definieren können, muss im Bereich Abfrage die Option Query Builder angezeigt werden. Wenn ein SQL-Editor angezeigt wird, klicken Sie auf  Builder.

    • Wenn Sie eine systemdefinierte Abfrage laden möchten, die JSON-Werte extrahiert, muss im Bereich Abfrage der SQL-Editor angezeigt werden. Wenn in diesem Bereich Query Builder angezeigt wird, klicken Sie auf  SQL.

  4. Wählen Sie im Bereich Schema die Option Abfrage aus und klicken Sie dann auf Überschreiben.

    Im Bereich Abfrage wird eine systemdefinierte Abfrage angezeigt. Wenn Sie den Modus Query Builder ausgewählt haben, aber die SQL-Abfrage aufrufen möchten, klicken Sie auf  SQL.

  5. Optional: Ändern Sie die Abfrage.

  6. Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.

    Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.

    Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf  Einstellungen und wählen Sie dann Analytics (Standard) aus.

Benutzerdefinierte Abfrage eingeben und ausführen

So geben Sie eine SQL-Abfrage ein:

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf:

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Klicken Sie im Bereich Abfrage auf  SQL.

    • Wir empfehlen, den Zeitraum über die Zeitraumauswahl festzulegen. Wenn Sie eine WHERE-Klausel hinzufügen, die das Feld timestamp angibt, überschreibt dieser Wert die Einstellung in der Zeitraumauswahl und die Auswahl wird deaktiviert.

    • Beispiele finden Sie unter Beispiel-SQL-Abfragen.

    • Sie können Logansichten oder Analyseansichten abfragen. Verwenden Sie für die FROM-Klausel das folgende Format:

      • Logansichten:
        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      • Analyseansichten:
        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`

      Die Felder in den vorherigen Ausdrücken haben die folgende Bedeutung:

      • PROJECT_ID: Die Kennung des Projekts.
      • LOCATION: Der Speicherort der Logansicht oder der Analyseansicht.
      • BUCKET_ID: Der Name oder die ID des Log-Buckets.
      • LOG_VIEW_ID: Die Kennung der Logansicht. Sie ist auf 100 Zeichen begrenzt und darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten.
      • ANALYTICS_VIEW_ID: Die ID der Analyseansicht. Sie ist auf 100 Zeichen begrenzt und darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten.

      Wenn im Bereich „Abfrage“ eine Fehlermeldung angezeigt wird, die auf die FROM-Anweisung verweist, kann die Ansicht nicht gefunden werden. Informationen zur Behebung dieses Fehlers finden Sie unter Fehler: FROM-Klausel muss genau eine Logansicht enthalten.

  3. Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.

    Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.

    Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf  Einstellungen und wählen Sie dann Analytics (Standard) aus.

Abfrage erstellen, bearbeiten und ausführen

Über die Query Builder-Oberfläche können Sie eine Abfrage erstellen, indem Sie eine Auswahl aus Menüs treffen. Observability Analytics wandelt Ihre Auswahl in eine SQL-Abfrage um, die Sie sich ansehen und bearbeiten können. Sie können beispielsweise mit der Query Builder-Oberfläche beginnen und dann zum SQL-Editor wechseln, um Ihre Abfrage zu verfeinern.

Observability Analytics kann Ihre Menüauswahl aus der Query Builder-Oberfläche immer in eine SQL-Abfrage konvertieren. Nicht alle SQL-Abfragen können jedoch über die Query Builder-Oberfläche dargestellt werden. Abfragen mit Joins können beispielsweise nicht über diese Schnittstelle dargestellt werden.

So erstellen Sie eine Abfrage:

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf:

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Wenn im Bereich Abfrage ein SQL-Editor angezeigt wird, wählen Sie Builder aus, um den Bereich Query Builder zu öffnen.

  3. Wählen Sie im Menü Quelle die Ansicht aus, die Sie abfragen möchten. Ihre Auswahl wird der FROM-Klausel in der SQL-Abfrage zugeordnet.

  4. Optional: Verwenden Sie die folgenden Menüs, um die Ergebnistabelle einzuschränken oder zu formatieren:

    • In allen Feldern suchen: Nach übereinstimmenden Strings suchen. Ihre Auswahl wird der WHERE-Klausel in der SQL-Abfrage zugeordnet.

    • Spalten: Wählen Sie die Spalten aus, die in der Ergebnistabelle angezeigt werden sollen. Ihre Auswahl wird den SELECT-Klauseln in der SQL-Abfrage zugeordnet.

      Wenn Sie in diesem Menü einen Feldnamen auswählen, wird ein Dialogfeld geöffnet. In diesem Dialogfeld können Sie Folgendes tun:

      • Verwenden Sie das Menü, um Ihre Daten zu aggregieren oder zu gruppieren.

        Um Syntaxfehler zu vermeiden, werden alle Aggregationen und Gruppierungen, die Sie auf eine Spalte anwenden, automatisch auch auf andere Spalten angewendet. Ein Beispiel für das Aggregieren und Gruppieren von Einträgen finden Sie unter Daten mit dem Query Builder gruppieren und aggregieren.

      • Wandelt einen Wert eines beliebigen Typs in einen anderen angegebenen Datentyp um. Weitere Informationen finden Sie in der Dokumentation zu CAST.

      • Teilstring von Werten mithilfe von regulären Ausdrücken extrahieren. Weitere Informationen finden Sie in der Dokumentation zu REGEXP_EXTRACT.

    • Filter: Fügen Sie Filter hinzu, wenn Sie die Abfrage auf Spans beschränken möchten, die ein bestimmtes Attribut oder eine bestimmte Span-ID enthalten. Im Menü werden alle verfügbaren Filteroptionen aufgeführt. Ihre Auswahl wird der WHERE-Klausel in der SQL-Abfrage zugeordnet.

    • Sortieren nach: Legen Sie die Spalten fest, nach denen sortiert werden soll, und ob die Sortierung aufsteigend oder absteigend erfolgen soll. Ihre Auswahl wird der ORDER BY-Klausel in der SQL-Abfrage zugeordnet.

    • Limit: Legen Sie die maximale Anzahl von Zeilen in der Ergebnistabelle fest. Ihre Auswahl wird der LIMIT-Klausel in der SQL-Abfrage zugeordnet.

  5. Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.

    Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.

    Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf  Einstellungen und wählen Sie dann Analytics (Standard) aus.

Beispiel: Daten mit dem Query Builder gruppieren und aggregieren

Wenn Sie im Query Builder eine Spalte auswählen, enthält jedes Feld ein Menü, in dem Sie Gruppierungen und Aggregationen hinzufügen können. Mit der Gruppierung können Sie Ihre Daten basierend auf dem Wert einer oder mehrerer Spalten in Gruppen organisieren. Mit der Aggregation können Sie Berechnungen für diese Gruppen durchführen, um einen einzelnen Wert zurückzugeben.

Jedes Feld, das Sie im Element Spalten auswählen, hat ein angehängtes Menü mit den folgenden Optionen:

  • Keine: Nicht nach diesem Feld gruppieren oder aggregieren.
  • Aggregieren: Gruppiert Felder, die im Element Spalten aufgeführt sind, es sei denn, für das Feld ist Aggregieren ausgewählt. Berechnen Sie für diese Felder den Wert, indem Sie einen Vorgang für alle Einträge in jeder Gruppierung ausführen. Der Vorgang kann darin bestehen, den Durchschnitt eines Felds zu berechnen oder die Anzahl der Einträge in jeder Gruppierung zu zählen.
  • Gruppieren nach: Einträge werden nach allen Feldern gruppiert, die im Element Spalten aufgeführt sind.

In diesem Beispiel wird gezeigt, wie Sie mit dem Query Builder Logeinträge nach Schweregrad und Zeitstempel gruppieren und dann den Durchschnitt des Felds http_request.response_size für jede Gruppe berechnen:

  1. Wählen Sie im Menü Spalten die Felder timestamp, severity und http_request.response_size aus.

    1. Klicken Sie auf das Feld timestamp, um das Dialogfeld mit den Einstellungen zu öffnen und Ihre Daten zu gruppieren. Wählen Sie in diesem Dialogfeld die Option Gruppieren nach aus und legen Sie die Kürzungsgranularität auf HOUR fest. Die Gruppierung wird dann automatisch auf alle anderen Felder angewendet, um Syntaxfehler zu vermeiden. Wenn ungültige Felder vorhanden sind, auf die die Gruppierung nicht angewendet werden kann, wird eine Fehlermeldung angezeigt. Entfernen Sie die ungültigen Felder aus dem Menü, um diesen Fehler zu beheben.

    2. Wenn Sie eine Aggregation für das Feld http_request.response_size ausführen möchten, klicken Sie auf das Feld, um das Dialogfeld mit den Einstellungen zu öffnen. Wählen Sie in diesem Dialogfeld Aggregieren aus. Klicken Sie im Menü Aggregation auf Durchschnitt.

  2. Fügen Sie im Menü Filter den Wert http_request.response_size hinzu und setzen Sie den Vergleichsoperator auf IS NOT NULL. Dieser Filter stimmt mit Logeinträgen überein, die einen response_size-Wert enthalten.

    Die Query Builder-Menüs sehen in etwa so aus:

    Mit den Query Builder-Menüs aggregieren und gruppieren.

  3. Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.

    Das Ergebnis dieser Abfrage sieht in etwa so aus:

    +-----------------------------------+----------+---------------+
    | Row | hour_timestamp              | severity | response_size |
    |     | TIMESTAMP                   | STRING   | INTEGER       |
    +-----+-----------------------------+----------+---------------+
    | 1   | 2025-10-06 16:00:00.000 UTC | NOTICE   | 3082          |
    | 2   | 2025-10-06 17:00:00.000 UTC | WARNING  | 338           |
    | 3   | 2025-10-06 16:00:00.000 UTC | INFO     | 149           |
    

Die entsprechende SQL-Abfrage für das vorherige Beispiel sieht so aus:

SELECT
  -- Truncate the timestamp by hour.
  TIMESTAMP_TRUNC( timestamp, HOUR ) AS hour_timestamp,
  severity,
  -- Compute average response_size.
  AVG( http_request.response_size ) AS average_http_request_response_size
FROM
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Matches log entries that have a response_size.
  http_request.response_size IS NOT NULL
GROUP BY
  -- Group log entries by timestamp and severity.
  TIMESTAMP_TRUNC( timestamp, HOUR ),
  severity
LIMIT
  1000

Schema anzeigen

Das Schema definiert, wie die Daten gespeichert werden, einschließlich der Felder und ihrer Datentypen. Diese Informationen sind wichtig, da das Schema die Felder bestimmt, die Sie abfragen, und ob Sie Felder in andere Datentypen umwandeln müssen. Wenn Sie beispielsweise eine Abfrage schreiben möchten, die die durchschnittliche Latenz von HTTP-Anfragen berechnet, müssen Sie wissen, wie Sie auf das Latenzfeld zugreifen und ob es als Ganzzahl wie 100 oder als String wie "100" gespeichert wird. Wenn die Latenzdaten als String gespeichert sind, muss die Abfrage den Wert in einen numerischen Wert umwandeln, bevor ein Durchschnitt berechnet wird.

So identifizieren Sie das Schema:

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf:

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Rufen Sie im Menü Ansichten den Abschnitt Logs oder Analyseansichten auf und wählen Sie die Ansicht aus, die Sie abfragen möchten.

    Der Bereich Schema wird aktualisiert. Observability Analytics leitet die Felder einer Spalte automatisch ab, wenn der Datentyp JSON ist. Wenn Sie sehen möchten, wie oft diese abgeleiteten Felder in Ihren Daten vorkommen, klicken Sie auf Optionen und wählen Sie Informationen und Beschreibung ansehen aus.

    Bei Logansichten ist das Schema fest und entspricht dem LogEntry. Bei Analyseansichten können Sie die SQL-Abfrage ändern, um das Schema zu ändern.

Nächste Schritte