Logs mit Observability Analytics abfragen und analysieren

In diesem Dokument wird beschrieben, wie Sie Ihre Logdaten mit Observability Analytics abfragen und analysieren. Dieses Tool bietet eine SQL-basierte Abfrageschnittstelle. Mit SQL können Sie Aufgaben wie das Zählen von Logeinträgen mit einem Feld ausführen, das einem Muster entspricht. 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 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 LogEntry Datenstruktur. Da der Ersteller einer Analyseansicht das Schema bestimmt, besteht ein Anwendungsfall für Analyseansichten darin, Logdaten aus dem Format LogEntry in ein für Sie besser geeignetes Format zu transformieren.

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

In Observability Analytics werden Logeinträge nicht dedupliziert. Das kann sich auf die Art und Weise auswirken, wie Sie Ihre Abfragen schreiben. Außerdem gelten bei der Verwendung von Observability Analytics einige Einschränkungen. Weitere Informationen zu diesen Themen finden Sie in den folgenden Dokumenten:

Verknüpfte Datasets

Sie benötigen kein verknüpftes BigQuery-Dataset, wenn Sie Ihre Logdaten oder Ihre Log- und Trace-Daten abfragen möchten. In diesen Fällen können Sie die Seite Observability Analytics verwenden. Sie können Ihre Abfragen auch speichern und freigeben und die Abfrage in einem benutzerdefinierten Dashboard speichern. Informationen zum Abfragen Ihrer Trace-Daten, siehe 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 Dataset in einem Log-Bucket erstellen, erweitern Sie die Sicherheitsgrenze Ihrer Logdaten um BigQuery-Dienste. Das bedeutet, dass BigQuery-Dienste jetzt Ihre Logdaten abfragen können, indem sie eine Abfrage für das verknüpfte Dataset ausgeben. Bevor Sie ein verknüpftes Dataset erstellen, empfehlen wir Ihnen, den Abschnitt Datensicherheit mit Observability Analytics zu lesen.

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 vom System definierte 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 SQL-Beispielabfragen.
  • Erstellen Sie eine Abfrage, indem Sie Menüauswahlen treffen, und führen Sie sie dann aus. Observability Analytics konvertiert Ihre Auswahl in eine SQL-Abfrage, die Sie sich ansehen und bearbeiten können.

Vom System definierte Abfrage laden, bearbeiten und ausführen

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

    Zu Loganalysen

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

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

    Verwenden Sie die Filter Leiste oder scrollen Sie durch die Liste, um die abzufragende Ansicht zu finden:

    • Logansichten werden nach BUCKET_ID.LOG_VIEW_ID aufgeführt. Diese Felder beziehen sich auf die IDs des Log-Buckets und der Logansicht.

    • Analyseansichten werden nach LOCATION.ANALYTICS_VIEW_ID aufgeführt. Diese Felder beziehen sich auf den Speicherort und die ID einer Analyseansicht. Analyseansichten sind im Rahmen des Programms „Öffentliche Vorschau“ verfügbar.

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

    • Wenn Sie eine vom System definierte 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, dann klicken Sie auf  Builder.

    • Wenn Sie eine vom System definierte 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 vom System definierte Abfrage angezeigt. Wenn Sie den Query Builder Modus ausgewählt haben, aber die SQL-Abfrage ansehen möchten, klicken Sie auf  SQL.

  5. Optional: Ändern Sie die Abfrage.

  6. Wenn Sie die Abfrage ausführen möchten, wählen Sie in der Symbolleiste Abfrage ausführen aus.

    Observability Analytics präsentiert die Abfrageergebnisse in einer Tabelle. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm auch 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 so umstellen, dass die Standardabfrage-Engine verwendet wird. Klicken Sie dazu in der Symbolleiste des Abfrage-Bereichs 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 Loganalysen auf.

    Zu Loganalysen

    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 der Abfrage ü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 SQL-Beispielabfragen.

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

      • 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: Die FROM Klausel muss genau eine Logansicht enthalten.

  3. Wenn Sie die Abfrage ausführen möchten, wählen Sie in der Symbolleiste Abfrage ausführen aus.

    Observability Analytics präsentiert die Abfrageergebnisse in einer Tabelle. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm auch 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 so umstellen, dass die Standardabfrage-Engine verwendet wird. Klicken Sie dazu in der Symbolleiste des Abfrage-Bereichs auf Einstellungen und wählen Sie dann Analytics (Standard) aus.

Abfrage erstellen, bearbeiten und ausführen

Mit der Benutzeroberfläche des Query Builder können Sie eine Abfrage erstellen, indem Sie Menüauswahlen treffen. Observability Analytics konvertiert Ihre Auswahl in eine SQL-Abfrage, die Sie sich ansehen und bearbeiten können. Sie können beispielsweise mit der Benutzeroberfläche des Query Builder beginnen und dann zum SQL-Editor wechseln, um die Abfrage zu verfeinern.

Observability Analytics kann Ihre Menüauswahlen von der Benutzeroberfläche des Query Builder immer in eine SQL-Abfrage konvertieren. Allerdings können nicht alle SQL-Abfragen durch die Benutzeroberfläche des Query Builder dargestellt werden. Abfragen mit Joins können beispielsweise nicht durch diese Benutzeroberfläche dargestellt werden.

So erstellen Sie eine Abfrage:

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

    Zu Loganalysen

    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. Dadurch wird der Bereich Query Builder geöffnet.

  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: Suchen Sie nach übereinstimmenden Strings. 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.

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

      • Extrahieren Sie einen Teilstring von Werten mit regulären Ausdrücken. Weitere Informationen finden Sie in der REGEXP_EXTRACT Dokumentation.

    • 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 sein 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. Wenn Sie die Abfrage ausführen möchten, wählen Sie in der Symbolleiste Abfrage ausführen aus.

    Observability Analytics präsentiert die Abfrageergebnisse in einer Tabelle. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm auch 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 so umstellen, dass die Standardabfrage-Engine verwendet wird. Klicken Sie dazu in der Symbolleiste des Abfrage-Bereichs 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 anhand des Werts einer oder mehrerer Spalten in Gruppen organisieren. Mit der Aggregation können Sie Berechnungen für diese Gruppen ausfü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: Gruppieren Sie 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 eine Operation für alle Einträge in jeder Gruppierung ausführen. Die Operation kann beispielsweise darin bestehen, den Durchschnitt eines Felds zu berechnen oder die Anzahl der Einträge in jeder Gruppierung zu zählen.
  • Gruppieren nach: Gruppieren Sie Einträge nach allen Feldern, die im Element Spalten aufgeführt sind.

Im Folgenden wird veranschaulicht, wie Sie eine Abfrage erstellen können, die Einträge gruppiert und dann eine Art von Aggregation ausführt.

In diesem Beispiel wird beschrieben, 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.

Wenn Sie eine Abfrage erstellen möchten, die Ihre Daten gruppiert und aggregiert, treffen Sie die folgenden Auswahlen in den Query Builder-Menüs:

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

    1. Wenn Sie Ihre Daten gruppieren möchten, klicken Sie auf das Feld timestamp, um das Dialogfeld „Einstellungen“ zu öffnen. Wählen Sie in diesem Dialogfeld die Option Gruppieren nach aus und legen Sie den Kürzungsgrad 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 „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 http_request.response_size hinzu und legen Sie den Vergleichsoperator auf IS NOT NULL fest. Dieser Filter entspricht Logeinträgen, die einen response_size-Wert enthalten.

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

    Mit den Query Builder-Menüs aggregieren und gruppieren

  3. Wenn Sie die Abfrage ausführen möchten, wählen Sie in der Symbolleiste Abfrage ausführen aus.

    Die Ergebnisse dieser Abfrage sehen 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, mit der die durchschnittliche Latenz von HTTP-Anfragen berechnet wird, müssen Sie wissen, wie Sie auf das Feld für die Latenz zugreifen und ob es als Ganzzahl wie 100 oder als String wie "100" gespeichert ist. Wenn die Latenzdaten als String gespeichert sind, muss die Abfrage den Wert in einen numerischen Wert umwandeln, bevor ein Durchschnitt berechnet werden kann.

So ermitteln Sie das Schema:

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

    Zu Loganalysen

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

  2. Wählen Sie im Menü Ansichten den Logs oder Analyseansichten aus 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.

    Für Logansichten ist das Schema festgelegt und entspricht dem LogEntry. Für Analyseansichten können Sie die SQL-Abfrage ändern, um das Schema zu ändern.

Nächste Schritte