Ergebnisse von SQL-Abfrage in Diagrammen darstellen

In diesem Dokument wird beschrieben, wie Sie die Ergebnisse Ihrer Log Analytics-Abfragen in Diagrammen darstellen, um Muster und Trends in Ihren Protokolldaten zu erkennen. Mit Log Analytics können Sie Logs mithilfe von SQL durchsuchen und aggregieren, um nützliche Informationen zu generieren.

Nachdem Sie eine Abfrage ausgeführt haben, können Sie die Abfrageergebnisse in einer Tabelle ansehen oder in ein Diagramm umwandeln. Außerdem können Sie die Abfrage und ihre Visualisierung in einem Dashboard speichern. Wenn Sie beispielsweise sehen möchten, welche Schweregrade Ihre Protokolle generieren, erstellen Sie ein Diagramm, in dem die Anzahl der Protokolle in den letzten 12 Stunden angezeigt wird, und unterteilen Sie die Protokolle nach severity. Im folgenden Screenshot sind Datenpunkte nach Schweregrad aufgeschlüsselt:

Beispieldiagramm mit Aufschlüsselung nach Schweregrad

Hinweise

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

Log-Buckets konfigurieren

Prüfen Sie, ob Ihre Log-Buckets für die Verwendung von Log Analytics aktualisiert wurden:

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

    Zum Log-Speicher

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

  2. Achten Sie für jeden Log-Bucket, der eine Logansicht enthält, die Sie abfragen möchten, darauf, dass in der Spalte Log Analytics verfügbar der Wert Offen angezeigt wird. Wenn Upgrade durchführen angezeigt wird, klicken Sie auf Upgrade durchführen und schließen Sie das Dialogfeld ab.

IAM-Rollen und -Berechtigungen konfigurieren

In diesem Abschnitt werden die IAM-Rollen oder -Berechtigungen beschrieben, die für die Verwendung von Log 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 Log Analytics und zum Abfragen von Protokollansichten benötigen:

    Sie können ein Hauptkonto auf eine bestimmte Protokollansicht beschränken, indem Sie der Rolle „Zugriffsberechtigter für Protokollansicht“ auf Projektebene eine IAM-Bedingung hinzufügen oder der Richtliniendatei der Protokollansicht eine IAM-Bindung hinzufügen. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

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

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für das Projekt zu zuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Diagrammen benötigen.

Daten für Diagramm auswählen

Wenn Sie konfigurieren möchten, welche Daten in einem Diagramm angezeigt werden sollen, erstellen Sie eine Abfrage mit SQL. Wenn Sie den Tab Diagramm auswählen, wird in der Protokollierung automatisch ein Diagramm basierend auf den Abfrageergebnissen generiert. Nachdem die Abfrage ausgeführt und ein Diagramm generiert wurde, können Sie die Diagrammkonfiguration anpassen, indem Sie den Diagrammtyp ändern und Spalten auswählen, um sich andere Daten anzusehen.

So rufen Sie die Abfrageergebnisse als Diagramm auf:

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

    Zu Log Analytics

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

  2. Geben Sie im Bereich Abfrage eine Abfrage ein und klicken Sie auf Ausführen.

  3. Wählen Sie nach Abschluss der Abfrage auf dem Tab Ergebnisse aus, wie Sie die Abfrageergebnisse anzeigen möchten:

    • Tabelle: Nur tabellarisches Format.

    • Diagramm: Nur Diagrammformat

    • Sowohl als Diagramm als auch in Tabellenform

      Nachdem Sie ausgewählt haben, wie die Abfrageergebnisse angezeigt werden sollen, können Sie beliebige Felder für die ausgewählte Visualisierung konfigurieren und die Abfrage und die Ergebnisse in einem benutzerdefinierten Dashboard speichern. Wenn Sie die Option Tabelle ausgewählt haben, wird das Format als Tabelle gespeichert. Andernfalls ist das Format ein Diagramm.

      Bei Diagrammen können Sie mit den Visualisierungsoptionen den Diagrammtyp und die Zeilen und Spalten auswählen, die dargestellt werden sollen. Weitere Informationen zur Diagrammkonfiguration finden Sie unter Diagrammkonfiguration anpassen.

Diagrammkonfiguration anpassen

Sie können die Diagrammkonfiguration anpassen, indem Sie den Diagrammtyp ändern, die Dimension und den Messwert für das Diagramm auswählen und eine Aufschlüsselung anwenden. Die Dimension wird verwendet, um Zeilen zu gruppieren oder zu kategorisieren. Sie ist der Wert der X-Achse. Der Messwert oder der Wert der y-Achse ist eine Datenreihe, die auf der y-Achse dargestellt wird.

Diagrammtyp ändern

Je nachdem, welche Zeilen und Spalten Sie als Dimension und Messwert ausgewählt haben und wie diese Daten visualisiert werden sollen, stehen die folgenden Diagrammtypen zur Auswahl.

  • Balkendiagramm (Standard) In Balkendiagrammen werden Daten auf zwei Achsen dargestellt. Wenn in Ihrem Diagramm eine Kategorie oder ein String als Dimension verwendet wird, können Sie die Diagrammkonfiguration für ein Balkendiagramm auf „horizontal“ oder „vertikal“ festlegen. Dabei werden die Dimension und die Messachse vertauscht.

  • Liniendiagramm: Mit Liniendiagrammen lassen sich Datenänderungen im Zeitverlauf darstellen. Bei einem Liniendiagramm wird jede Zeitreihe durch eine andere Linie dargestellt, die den ausgewählten Messwerten entspricht.

    Wenn die x-Achse zeitbasiert ist, wird jeder Datenpunkt am Anfang eines Zeitintervalls platziert. Die einzelnen Datenpunkte sind durch lineare Interpolation verbunden.

  • Gestapeltes Flächendiagramm: Ein Flächendiagramm basiert auf einem Liniendiagramm. Der Bereich unter jeder Linie ist schattiert. In Flächendiagrammen werden die Datenreihen gestapelt. Wenn Sie beispielsweise zwei identische Reihen haben, überschneiden sich diese in einem Liniendiagramm, während der schattierte Bereich in einem Flächendiagramm gestapelt wird.

  • Kreis- oder Donutdiagramm: Mit einem Kreisdiagramm wird dargestellt, in welchem Verhältnis die Kategorien in einem Datensatz zum gesamten Datensatz stehen. Dabei steht der Kreis für den gesamten Datensatz und die Segmente im Kreis für die Kategorien im Datensatz. Die Größe eines Keils gibt an, wie viel, oft in Prozent, die Kategorie zum Ganzen beiträgt.

  • Tabelle: In einer Tabelle wird für jede Zeile im Abfrageergebnis eine Zeile angezeigt. Die Spalten in der Tabelle werden durch die SELECT-Klausel definiert. Wenn Sie Daten in tabellarischer Form in einem Dashboard anzeigen möchten, verwenden Sie eine LIMIT-Klausel, um die Anzahl der Zeilen im Ergebnis auf weniger als ein paar hundert einzuschränken.

  • Messgerät oder Kurzübersicht: Messgeräte und Kurzübersichten enthalten den aktuellen Wert sowie eine grüne, gelbe oder rote Kennzeichnung, die darauf hinweist, ob der Wert im Vergleich zu einer Reihe von Schwellenwerten niedrig, mittel oder hoch ist. Im Gegensatz zu Messwerten, die nur Informationen zum jeweils aktuellen Wert enthalten, können Kurzübersichten auch Informationen zu vergangenen Werten enthalten.

    In Messinstrumenten und Kurzübersichten kann das Abfrageergebnis nur angezeigt werden, wenn es mindestens eine Zeile enthält und diese Zeile eine Spalte mit einem Zeitstempel und eine Spalte mit numerischen Daten enthält. Das Abfrageergebnis kann mehrere Zeilen und mehr als zwei Spalten enthalten.

    Wenn Sie die zeitbasierte Aggregation als Teil Ihrer Abfrage ausführen möchten, gehen Sie so vor:

    • Konfigurieren Sie die Abfrage so, dass Daten über ein bestimmtes Zeitintervall aggregiert, die Ergebnisse nach absteigenden Zeitstempeln sortiert und die Anzahl der Zeilen in den Ergebnissen begrenzt werden. Sie können die LIMIT-Klausel oder die Auswahl für den Zeitraum verwenden, um die Anzahl der Zeilen im Abfrageergebnis einzuschränken.

      In der folgenden Abfrage werden beispielsweise Daten nach der Stunde zusammengefasst, ein Limit angewendet und die Ergebnisse sortiert:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • Legen Sie die Dimension so fest, dass sie der Spalte entspricht, in der die Zeiteinheit angegeben ist. Wenn Ihre Abfrage beispielsweise Daten nach einer Stunde aggregiert und eine Spalte mit dem Namen hour erstellt, setzen Sie das Menü Dimension auf hour.

    • Wählen Sie Intervall deaktivieren aus, da das Aggregationsintervall bereits in der Abfrage angegeben ist. Im Beispiel beträgt dieses Intervall eine Stunde.

    • Wählen Sie als Messwert die numerische Spalte und als Funktion keine aus.

    Wenn Sie die zeitbasierte Aggregation in Log Analytics ausführen lassen möchten, gehen Sie so vor:

    • Konfigurieren Sie die Zeitraumauswahl. Dies wirkt sich auf die Anzahl der Zeilen im Abfrageergebnis aus.
    • Legen Sie die Dimension so fest, dass sie der Spalte entspricht, in der die Zeiteinheit angegeben ist. Sie können dieses Menü beispielsweise auf timestamp festlegen.
    • Legen Sie im Menü Intervall ein bestimmtes Aggregationsintervall fest. Legen Sie beispielsweise den Wert dieses Felds auf 1 hour fest. Wählen Sie nicht Automatisches Intervall aus.
    • Legen Sie als Messwert die numerische Spalte fest und wählen Sie eine Funktion wie Summe aus.

Dimension und Messwert ändern

Sie können auswählen, welche Zeilen und Spalten in das Diagramm aufgenommen werden sollen, indem Sie die entsprechenden Dimensions- und Messwertfelder auswählen.

  • Dimension

    Die Dimension muss eine Zeitstempel-, eine numerische oder eine String-Spalte sein. Standardmäßig ist die Dimension auf die erste zeitstempelbasierte Spalte im Schema festgelegt. Wenn in der Abfrage kein Zeitstempel vorhanden ist, wird die erste Stringspalte als Dimension ausgewählt. Sie können die Dimension auch im Bereich Diagrammdarstellung anpassen. Wenn eine Zeitstempelspalte als Dimension ausgewählt ist, zeigt das Diagramm, wie sich die Daten im Zeitverlauf ändern.

    Standardmäßig wird das Intervall für Zeitstempel automatisch festgelegt. Sie können aber auch ein benutzerdefiniertes Intervall auswählen. Bei automatischen Intervallen werden die Werte basierend auf der Auswahl des Zeitraums geändert, um Gruppen mit ähnlicher Größe beizubehalten.

    Sie können das Intervall auch deaktivieren. So können Sie für eine komplexere Analyse eigene Aggregationen und Zeiträume in der Abfrage angeben. Wenn Sie das Intervall deaktivieren, wird die Aggregationsfunktion der Messwerte auf none festgelegt. Wenn das Dimensionsintervall deaktiviert ist, sind nur numerische Messwerte zulässig.

  • Messung

    Im Bereich Diagrammansicht können Sie mehrere Messwerte auswählen. Wenn Sie einen Messwert auswählen, müssen Sie auch die Aggregationsfunktion auswählen, die auf die gruppierten Werte angewendet werden soll, z. B. count, sum, average und percentile-99. count-distinct gibt beispielsweise die Anzahl der eindeutigen Werte in einer bestimmten Spalte zurück.

    Wenn Sie für die Dimension das Kästchen Intervall deaktivieren anklicken, ist die Option für die Aggregationsfunktion none verfügbar. Wenn die Dimension ein Stringwert ist, wird das Kästchen Intervall deaktivieren nicht angezeigt. Wenn Sie die Aggregationsfunktionen eines Messwerts jedoch auf none festlegen, wird auch das Intervall deaktiviert.

Aufschlüsselung hinzufügen

Wenn Sie eine einzelne Datenreihe anhand einer anderen Spalte in mehrere Datenreihen aufteilen möchten, fügen Sie eine Aufschlüsselung hinzu.

Wählen Sie für die Aufschlüsselung Spalten mit einer kleinen Anzahl kurzer und aussagekräftiger Labels wie region_name aus, anstatt Felder mit einer großen Anzahl von Strings oder langen Strings wie textPayload.

In der folgenden Diagrammkonfiguration ist beispielsweise das Feld Dimension auf type, das Feld Messwert auf Zeilen zählen und das Feld Aufschlüsselung auf Schweregrad festgelegt:

Beispiel für eine Diagrammkonfiguration mit einer Aufschlüsselung

Das folgende Diagramm ist ein Beispiel für ein Diagramm mit einer hinzugefügten Aufschlüsselung:

Beispiel für ein Diagramm mit einer Aufschlüsselung nach Schweregrad

Im vorherigen Screenshot sehen Sie eine gestapelte Datenreihe, in der der Ressourcentyp k8s_container in verschiedene severity-Typen unterteilt ist. So können Sie ermitteln, wie viele Protokolle mit welchem Schweregrad von einer bestimmten Ressource generiert wurden.

Diagramm in einem benutzerdefinierten Dashboard speichern

Nachdem ein Diagramm aus Ihrer Abfrage generiert wurde, können Sie es in einem benutzerdefinierten Dashboard speichern. Mit benutzerdefinierten Dashboards können Sie mithilfe verschiedener Widget-Typen nützliche Informationen anzeigen und organisieren. In diesen Dashboards können Sie auch Variablen definieren. Das sind Filter auf Dashboardebene, die nur auf bestimmte Widgets angewendet werden. Wenn Sie eine Variable auf ein Widget anwenden möchten, müssen Sie die Abfrage ändern. Weitere Informationen finden Sie unter Variable auf ein Widget anwenden.

Sie können beispielsweise ein Dashboard erstellen, das Details zur Nutzung Ihrer Cloud Storage-Buckets enthält:

Beispiel für ein Dashboard mit der Nutzung Ihrer Cloud Storage-Buckets

So speichern Sie das Diagramm in einem Dashboard:

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

    Zu Log Analytics

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

  2. Führen Sie eine Abfrage aus, um ein Diagramm zu generieren, und klicken Sie dann auf dem Tab Diagramm auf  Diagramm speichern.

  3. Geben Sie im Dialogfeld Im Dashboard speichern einen Titel für das Diagramm ein und wählen Sie das Dashboard aus, in dem Sie es speichern möchten.

  4. Optional: Wenn Sie das benutzerdefinierte Dashboard aufrufen möchten, klicken Sie in der Benachrichtigung auf Dashboard ansehen.

Wenn Sie eine Liste der benutzerdefinierten Dashboards mit Diagrammen aufrufen möchten, die mit Log Analytics-SQL-Abfragen generiert wurden, klicken Sie auf die Schaltfläche Diagramm speichern und dann auf das Dreistrich-Menü .

In einem benutzerdefinierten Dashboard gespeichertes Diagramm bearbeiten

Informationen zum Bearbeiten von Diagrammen, die mit Log Analytics-SQL-Abfragen generiert und in einem Dashboard gespeichert wurden, finden Sie unter Konfiguration eines Widgets ändern. Im Dialogfeld Widget konfigurieren können Sie die Abfrage bearbeiten, mit der ein Diagramm generiert wird, oder die Diagrammkonfiguration anpassen, um andere Daten zu visualisieren.

Beschränkungen

  • Wenn sich Ihr Google Cloud-Projekt in einem Ordner befindet, in dem Assured Workloads verwendet wird, können die von Ihnen generierten Diagramme nicht in einem benutzerdefinierten Dashboard angezeigt werden.

  • Filter auf Dashboardebene werden nicht auf Diagramme angewendet, die aus einer Log Analytics-SQL-Abfrage generiert wurden.

Beispielabfragen

Dieser Abschnitt enthält Beispiel-SQL-Abfragen zum Darstellen von Abfrageergebnissen in Diagrammen. Passen Sie die Diagrammkonfiguration an, um aus Ihren Protokollen nützlichere Informationen zu gewinnen. So verwenden Sie die Beispielabfragen:

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

    Zu Log Analytics

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

  2. Geben Sie den Tabellennamen für die Protokollansicht an, die Sie abfragen möchten.

    Rufen Sie dazu die Liste Logansichten auf, suchen Sie die gewünschte Ansicht und wählen Sie Abfragen aus. Der Bereich Abfrage enthält eine Standardabfrage, die den Tabellennamen der abgefragten Protokollansicht enthält. Der Tabellenname hat das Format project_ID.region.bucket_ID.view_ID.

    Weitere Informationen zum Zugriff auf die Standardabfrage finden Sie unter Logdatenansicht abfragen.

  3. Ersetzen Sie TABLE_NAME_OF_LOG_VIEW durch den Tabellennamen der Protokollansicht, die Sie abfragen möchten, und kopieren Sie dann die Abfrage.

  4. Fügen Sie die Abfrage in den Bereich Abfrage ein und klicken Sie dann auf Abfrage ausführen.

Logeinträge nach Standort und Schweregrad in Diagrammen darstellen

Mit der folgenden Abfrage werden location und severity ausgewählt. Dabei wird der Standort als String gecastet:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE_NAME_OF_LOG_VIEW`

Ein Beispiel für ein Diagramm und eine Diagrammkonfiguration sieht so aus:

Beispiel für ein Diagramm mit Protokolleinträgen nach Standort und Schweregrad

Im vorherigen Screenshot hat das Diagramm die folgende Konfiguration:

  • Diagrammtyp: Balkendiagramm, horizontal
  • Dimension: location, maximal 10
  • Messen: Anzahl der Zeilen
  • Aufschlüsselung: severity, maximal fünf

Audit-Logs zum Datenzugriff für BigQuery in Diagrammen darstellen

Die folgende Abfrage filtert nach BigQuery-data_access-Audit-Logs und wählt bestimmte Felder wie user_email, ip, auth_permission und job_execution_project aus. Sie können beispielsweise ein Diagramm erstellen, in dem die Häufigkeit der BigQuery API-Nutzung der einzelnen Hauptberechtigten im Zeitverlauf dargestellt wird.

SELECT
  timestamp,
  proto_payload.audit_log.authentication_info.principal_email as user_email,
  proto_payload.audit_log.request_metadata.caller_ip as ip,
  auth.permission as auth_permission,
  auth.granted as auth_granted,
  JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE_NAME_OF_LOG_VIEW` as data_access,
  UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
  log_id="cloudaudit.googleapis.com/data_access"
  AND data_access.resource.type = 'bigquery_dataset'

Ein Beispiel für ein Diagramm und eine Diagrammkonfiguration sieht so aus:

Beispieldiagramm für Audit-Logs zum Datenzugriff in BigQuery

Im vorherigen Screenshot hat das Diagramm die folgende Konfiguration:

  • Diagrammtyp: Balkendiagramm, vertikal
  • Dimension: user_email, maximal fünf
  • Messen: Anzahl der Zeilen
  • Aufschlüsselung: auth_permission, maximal fünf

Beschränkungen

  • Die ausgewählten Spalten sollten mindestens eine Zeile mit einem nicht nullwertigen Wert haben.

  • Wenn Sie eine Abfrage speichern und die Diagrammkonfiguration anpassen, wird die benutzerdefinierte Diagrammkonfiguration nicht gespeichert.

  • Wenn Ihre Abfrage bereits Aggregationen enthält, kann sich das generierte Diagramm aufgrund einer zusätzlichen Aggregation unterscheiden, die automatisch von Log Analytics angewendet wird.

  • JSON-Pfade müssen in Strings und Zahlen umgewandelt werden, damit sie in Diagrammen dargestellt werden können.

Nächste Schritte