In diesem Dokument wird beschrieben, wie Sie die Ergebnisse Ihrer Loganalysen-Abfrage in Diagrammen darstellen können, um Muster und Trends in Ihren Logdaten zu erkennen. Mit Loganalysen können Sie Logs durchsuchen und aggregieren, um mithilfe von SQL-Abfragen nützliche Statistiken zu generieren.
Nachdem Sie eine Abfrage ausgeführt haben, können Sie die Abfrageergebnisse in einer Tabelle ansehen oder in ein Diagramm umwandeln. Die Abfrage und die Visualisierung lassen sich in einem Dashboard speichern.
Wenn Sie beispielsweise sehen möchten, welche Schweregradtypen in Ihren Logs generiert werden, erstellen Sie ein Diagramm, in dem die Anzahl der in den letzten 12 Stunden generierten Logs dargestellt und die Logs nach severity
aufgeschlüsselt werden. Der folgende Screenshot zeigt Datenpunkte, die nach verschiedenen Schweregraden aufgeschlüsselt sind:
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:
-
Rufen Sie in der Google Cloud Console die Seite Logspeicher auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
- Prüfen Sie für jeden Log-Bucket, der eine Logansicht enthält, die Sie abfragen möchten, ob in der Spalte Loganalysen verfügbar die Option Öffnen angezeigt wird. Wenn Upgrade durchführen angezeigt wird, klicken Sie darauf 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 Log-Ansichten 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:
Zugriffsberechtigter für Logbetrachtung (
roles/logging.viewAccessor
)
Sie können ein Hauptkonto 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
-Logbuckets benötigen, finden Sie unter Cloud Logging-Rollen. -
So fragen Sie die Log-Buckets
-
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. -
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (
roles/monitoring.editor
) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Diagrammen benötigen.
Daten für das Diagramm auswählen
Wenn Sie konfigurieren möchten, welche Daten in einem Diagramm angezeigt werden, erstellen Sie eine Abfrage mit SQL. Wenn Sie den Tab Diagramm auswählen, werden die Abfrageergebnisse in einem Diagramm dargestellt. 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 verschiedene Daten anzusehen.
So rufen Sie die Abfrageergebnisse als Diagramm auf:
-
Rufen Sie in der Google Cloud Console die Seite Log Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Geben Sie im Bereich Abfrage eine Abfrage ein und klicken Sie auf Ausführen.
Nachdem die Abfrage abgeschlossen ist, wählen Sie auf dem Tab Ergebnisse aus, wie Sie die Abfrageergebnisse ansehen möchten:
Tabelle: Nur tabellarisches Format.
Diagramm: Nur Diagrammformat
Beide: Diagramm und Tabellenformat.
Nachdem Sie ausgewählt haben, wie die Abfrageergebnisse dargestellt werden sollen, können Sie alle Felder für die ausgewählte Visualisierung konfigurieren und dann die Abfrage und die Ergebnisse in einem benutzerdefinierten Dashboard speichern. Das gespeicherte Format ist tabellarisch, wenn Sie die Option Tabelle ausgewählt haben. Andernfalls ist das Format ein Diagramm.
Bei Diagrammen können Sie mit den Visualisierungsoptionen den Diagrammtyp und die darzustellenden Zeilen und Spalten auswählen. Weitere Informationen zur Diagrammkonfiguration finden Sie unter Diagrammkonfiguration anpassen.
Diagrammkonfiguration anpassen
Sie können die Diagrammkonfiguration anpassen, indem Sie den Diagrammtyp ändern, die darzustellende Dimension und den darzustellenden Messwert auswählen und einen Aufschlüsselungsvorgang anwenden. Mit der Dimension werden Zeilen gruppiert oder kategorisiert. Sie ist der Wert auf der X-Achse. Der Messwert oder Y-Achsenwert 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 Sie die Daten visualisieren möchten, können Sie einen der folgenden Diagrammtypen auswählen.
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 Achsen für Dimension und Messwert getauscht.
Liniendiagramm: Mit Liniendiagrammen lassen sich Datenänderungen im Zeitverlauf darstellen. Wenn Sie ein Liniendiagramm verwenden, 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. Jeder Datenpunkt wird 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, überlappen sie sich in einem Liniendiagramm, aber der schattierte Bereich wird in einem Flächendiagramm gestapelt.
Kreis- oder Ringdiagramm: In einem Kreisdiagramm wird dargestellt, wie sich die Kategorien in einem Datensatz auf den gesamten Datensatz beziehen. Dazu wird ein Kreis für den gesamten Datensatz und Kreissegmente für die Kategorien im Datensatz verwendet. Die Größe eines Segmentes gibt an, wie viel die Kategorie zum Ganzen beiträgt, oft als Prozentsatz.
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 präsentieren möchten, verwenden Sie eineLIMIT
-Klausel, um die Anzahl der Zeilen im Ergebnis auf einige Hundert zu beschränken.Messgerät oder Übersicht: Messgeräte und Übersichten zeigen den aktuellen Wert zusammen mit einer grünen, gelben oder roten Anzeige an, je nachdem, wie dieser Wert im Vergleich zu einer Reihe von Schwellenwerten abschneidet. Im Gegensatz zu Messinstrumenten, die nur Informationen zum letzten Wert enthalten, können Übersichten auch Informationen zu vergangenen Werten enthalten.
Messgeräte und Scorecards können das Abfrageergebnis nur anzeigen, wenn es mindestens eine Zeile enthält, die 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 Ihre Abfrage so, dass Daten über ein Zeitintervall hinweg aggregiert werden, die Ergebnisse nach absteigenden Zeitstempeln sortiert werden und die Anzahl der Zeilen in den Ergebnissen begrenzt wird. Sie können die
LIMIT
-Klausel oder die Zeitraumauswahl verwenden, um die Anzahl der Zeilen im Abfrageergebnis zu begrenzen.Im folgenden Beispiel wird eine Log-Ansicht abgefragt. Die Daten werden nach Stunde aggregiert, ein Limit wird angewendet und die Ergebnisse werden 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 mit der Spalte übereinstimmt, in der die Zeiteinheit angegeben ist. Wenn in Ihrer Abfrage beispielsweise Daten nach Stunde aggregiert und eine Spalte mit dem Namen
hour
erstellt wird, legen Sie das Menü Dimension aufhour
fest.Wählen Sie Intervall deaktivieren aus, da das Aggregationsintervall bereits in der Abfrage angegeben ist. Im Beispiel beträgt dieses Intervall eine Stunde.
Legen Sie die Maßeinheit auf die numerische Spalte und die Funktion auf none (keine) fest.
Wenn Sie die zeitbasierte Aggregation von Log Analytics durchführen lassen möchten, gehen Sie so vor:
- Konfigurieren Sie die Zeitraumauswahl, die sich auf die Anzahl der Zeilen im Abfrageergebnis auswirkt.
- Legen Sie die Dimension so fest, dass sie mit der Spalte übereinstimmt, in der die Zeiteinheit angegeben ist.
Sie können dieses Menü beispielsweise auf
timestamp
festlegen. - Legen Sie im Menü Intervall das Aggregationsintervall auf ein bestimmtes Intervall fest. Legen Sie beispielsweise den Wert dieses Felds auf
1 hour
fest. Wählen Sie nicht Automatisches Intervall aus. - Legen Sie den Messwert auf die numerische Spalte fest und wählen Sie eine Funktion wie sum aus.
Dimension und Messwert ändern
Sie können auswählen, welche Zeilen und Spalten im Diagramm dargestellt werden sollen, indem Sie die Dimensions- und Messwertfelder auswählen.
Dimension
Die Dimension muss eine Zeitstempel-, numerische oder 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 auch anpassen, welche Dimension im Bereich Diagrammdarstellung verwendet wird. Wenn eine Zeitstempelspalte als Dimension ausgewählt ist, wird im Diagramm dargestellt, wie sich die Daten im Zeitverlauf ändern. Wenn eine Stringspalte als Dimension für ein Balkendiagramm ausgewählt ist, können Sie die Daten aufsteigend oder absteigend sortieren. Die Dimension wird dann in lexikografischer Reihenfolge sortiert. Sie können auch die Standardsortierreihenfolge beibehalten. In diesem Fall wird die Dimension anhand der Werte des entsprechenden Messwerts in absteigender Reihenfolge sortiert.
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 anhand der Zeitbereichsauswahl geändert, um Gruppen ähnlicher Größe beizubehalten.
Sie können das Intervall auch deaktivieren, um eigene Aggregationen und Zeiträume in der Abfrage für komplexere Analysen anzugeben. Wenn Sie das Intervall deaktivieren, wird die Aggregationsfunktion der Ergebnisse auf
none
festgelegt. Wenn das Dimensionsintervall deaktiviert ist, sind nur numerische Messwerte zulässig.Messung
Sie können im Bereich Diagrammdarstellung mehrere Messwerte auswählen. Wenn Sie einen Messwert auswählen, müssen Sie auch die Aggregationsfunktion auswählen, die für die gruppierten Werte ausgeführt werden soll, z. B.
count
,sum
,average
undpercentile-99
.count-distinct
gibt beispielsweise die Anzahl der eindeutigen Werte in einer bestimmten Spalte zurück.Wenn Sie das Kästchen Intervall deaktivieren für die Dimension auswählen, ist 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 aufnone
festlegen, wird das Intervall jedoch auch deaktiviert.
Aufschlüsselung hinzufügen
Wenn Sie eine einzelne Datenreihe anhand einer anderen Spalte in mehrere Datenreihen aufteilen möchten, fügen Sie einen Aufschlüsselung hinzu.
Wenn Sie einen Aufschlüsselungstyp auswählen, sollten Sie Spalten mit einer kleinen Anzahl kurzer und aussagekräftiger Labels wie region_name
verwenden, anstatt Felder, die eine große Anzahl von Strings oder lange Strings wie textPayload
enthalten.
Sehen Sie sich beispielsweise die folgende Diagrammkonfiguration an, in der das Feld Dimension auf type, das Feld Messwert auf Anzahl der Zeilen und das Feld Aufschlüsselung auf severity festgelegt ist:
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 Logs der einzelnen Schweregrade von einer bestimmten Ressource generiert wurden.
Diagramm in einem benutzerdefinierten Dashboard speichern
Nachdem ein Diagramm aus Ihrer Anfrage generiert wurde, können Sie es in einem benutzerdefinierten Dashboard speichern. Mit benutzerdefinierten Dashboards können Sie relevante Informationen mithilfe verschiedener Widget-Typen anzeigen und organisieren. In diesen Dashboards können Sie auch Variablen definieren. Das sind Filter auf Dashboard-Ebene, die nur für bestimmte Widgets gelten. 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:
So speichern Sie das Diagramm in einem Dashboard:
-
Rufen Sie in der Google Cloud Console die Seite Log Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Führen Sie eine Abfrage aus, um ein Diagramm zu erstellen, und klicken Sie dann auf dem Tab Diagramm auf
Diagramm speichern.
Geben Sie im Dialogfeld Im Dashboard speichern einen Titel für das Diagramm ein und wählen Sie das Dashboard aus, in dem Sie das Diagramm speichern möchten.
Optional: Wenn Sie das benutzerdefinierte Dashboard aufrufen möchten, klicken Sie im Infofeld auf Dashboard ansehen.
Eine Liste der benutzerdefinierten Dashboards mit Diagrammen, die durch SQL-Abfragen generiert wurden, finden Sie, wenn Sie auf die Schaltfläche Diagramm speichern und dann auf arrow_drop_down Menü klicken.
In einem benutzerdefinierten Dashboard gespeichertes Diagramm bearbeiten
Sie können ein Diagramm ändern, nachdem es in einem Dashboard gespeichert wurde. Weitere Informationen finden Sie unter Widget-Konfiguration ändern. Im Dialogfeld Widget konfigurieren haben Sie folgende Möglichkeiten:
- Ändern Sie die Daten, die Sie abfragen.
- Bearbeiten Sie die Abfrage, mit der ein Diagramm generiert wird.
- Passen Sie die Diagrammkonfiguration an, um verschiedene 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 Dashboard-Ebene werden nicht auf Diagramme angewendet, die aus einer SQL-Abfrage generiert wurden.
Beispielabfragen
In diesem Abschnitt finden Sie Beispiel-SQL-Abfragen zum Erstellen von Diagrammen für Ihre Abfrageergebnisse. Wenn Sie nützlichere Informationen aus Ihren Logs erhalten möchten, können Sie die Diagrammkonfiguration anpassen. So verwenden Sie die Beispielabfragen:
-
Rufen Sie in der Google Cloud Console die Seite Log Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Ermitteln Sie den Tabellennamen für die Logansicht, die Sie abfragen möchten.
Um diesen Namen zu ermitteln, rufen Sie die Liste Logansichten auf, suchen Sie die Logansicht und wählen Sie dann Abfrage aus. Im Bereich Abfrage wird eine Standardabfrage angezeigt, die den Tabellennamen der abgefragten Log-Ansicht enthält. Der Tabellenname hat das Format
project_ID.region.bucket_ID.view_ID
.Weitere Informationen zum Zugriff auf die Standardabfrage finden Sie unter Logansicht abfragen.
Ersetzen Sie TABLE_NAME_OF_LOG_VIEW durch den Tabellennamen für die Logansicht, die Sie abfragen möchten, und kopieren Sie dann die Abfrage.
Fügen Sie die Abfrage in den Bereich Abfrage ein und klicken Sie dann auf Abfrage ausführen.
Logeinträge nach Standort und Schweregrad darstellen
Mit der folgenden Abfrage werden location
und severity
ausgewählt, wobei der Standort als String umgewandelt wird:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`TABLE_NAME_OF_LOG_VIEW`
WHERE resource.labels.location IS NOT NULL
Ein Beispiel für ein Diagramm und eine Diagrammkonfiguration sieht so aus:
Im vorherigen Screenshot hat die Diagrammkonfiguration die folgenden Einstellungen:
- Diagrammtyp: Balkendiagramm, horizontal
- Dimension:
location
, mit einem Limit von 10 - Messung: Anzahl der Zeilen
- Aufschlüsselung:
severity
, maximal fünf
Audit-Logs zum BigQuery-Datenzugriff in Diagrammen darstellen
Die folgende Abfrage filtert nach BigQuery-Audit-Logs für data_access
und wählt bestimmte Felder aus, z. B. user_email
, ip
, auth_permission
und job_execution_project
. Sie können beispielsweise ein Diagramm erstellen, in dem die Häufigkeit der BigQuery API-Nutzung der einzelnen Principals 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:
Im vorherigen Screenshot hat die Diagrammkonfiguration die folgende Diagrammkonfiguration:
- Diagrammtyp: Balkendiagramm, vertikal
- Dimension:
user_email
(maximal fünf) - Messung: Anzahl der Zeilen
- Aufschlüsselung:
auth_permission
, maximal fünf
Beschränkungen
Die ausgewählten Spalten sollten mindestens eine Zeile mit einem Wert ungleich null enthalten.
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 zusätzlicher Aggregationen, die automatisch von Log Analytics angewendet werden, unterscheiden.
JSON-Pfade müssen in Strings und Zahlen umgewandelt werden, damit sie in Diagrammen dargestellt werden können.
Nächste Schritte
Eine Übersicht über Loganalysen finden Sie unter Logs abfragen und analysieren.
Beispielabfragen finden Sie unter Beispiel-SQL-Abfragen.
Informationen zur Analyse mit Audit-Logs mithilfe von Loganalysen finden Sie unter SQL-Abfragen für Sicherheitserkenntnisse.