In diesem Dokument wird beschrieben, wie Sie Ihre Observability Analytics-Abfrageergebnisse in Diagrammen darstellen können, um Muster und Trends in Ihren Logdaten zu erkennen. Mit Observability Analytics können Sie Logs suchen und aggregieren, um mithilfe von SQL-Abfragen nützliche Erkenntnisse zu gewinnen.
Nachdem Sie eine Abfrage ausgeführt haben, können die Abfrageergebnisse in einer Tabelle angezeigt oder in ein Diagramm umgewandelt werden. Die Abfrage und die Visualisierung können in einem Dashboard gespeichert werden.
Wenn Sie beispielsweise sehen möchten, welche Schweregradtypen Ihre Logs generieren, erstellen Sie ein Diagramm, in dem die Anzahl der in den letzten 12 Stunden generierten Logs angezeigt wird, und schlüsseln Sie die Logs nach severity auf. Der folgende Screenshot zeigt Datenpunkte, die nach verschiedenen Schweregradtypen aufgeschlüsselt sind:
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:
-
Rufen Sie in der Google Cloud Console die Seite Logspeicher auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
- 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
_Requiredund_DefaultLog-Buckets 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 Ansicht
_AllLogsdes Log-Buckets_Defaultbenötigen, finden Sie unter Cloud Logging roles. -
So fragen Sie die
-
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 Monitoring Editor (
roles/monitoring.editor) IAM-Rolle für Ihr Projekt zuzuweisen, 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, werden Ihre Abfrageergebnisse in einem Diagramm angezeigt. Nachdem die Abfrage ausgeführt und ein Diagramm erstellt wurde, können Sie die Diagrammkonfiguration anpassen, indem Sie den Diagrammtyp ändern und Spalten auswählen, um verschiedene Daten anzuzeigen.
So rufen Sie Ihre Abfrageergebnisse als Diagramm auf:
-
Rufen Sie in der Google Cloud -Console die manage_search Seite Observability Analytics auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Geben Sie im Bereich Abfrage eine Abfrage ein und klicken Sie dann auf Ausführen.
Wählen Sie nach Abschluss der Abfrage auf dem Tab Ergebnisse aus, wie Sie Ihre Abfrageergebnisse anzeigen möchten:
Tabelle: Nur Tabellenformat.
Diagramm: Nur Diagrammformat.
Beide: Diagramm- und Tabellenformat.
Nachdem Sie ausgewählt haben, wie Ihre Abfrageergebnisse angezeigt 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 Zeilen und Spalten auswählen, die in Diagrammen 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 das Maß auswählen, die in Diagrammen dargestellt werden sollen, und eine Aufschlüsselung anwenden. Mit der Dimension werden Zeilen gruppiert oder kategorisiert. Sie ist der Wert der X-Achse. Das Maß oder der Wert der Y-Achse ist eine Datenreihe, die auf der Y-Achse dargestellt wird.
Diagrammtyp ändern
Je nachdem, welche Art von Zeilen und Spalten Sie als Dimension und Maß ausgewählt haben und wie Sie diese Daten visualisieren möchten, können Sie aus den 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, wobei die Achsen für Dimension und Maß vertauscht werden.
Liniendiagramm: Mit Liniendiagrammen können Datenänderungen im Zeitverlauf dargestellt werden. Wenn Sie ein Liniendiagramm verwenden, wird jede Zeitreihe durch eine andere Linie dargestellt, die den von Ihnen ausgewählten Maßen entspricht.
Wenn die X-Achse zeitbasiert ist, wird jeder Datenpunkt am Anfang eines Zeitintervalls platziert. Die Datenpunkte werden durch lineare Interpolation verbunden.
Gestapeltes Flächendiagramm: Ein Flächendiagramm basiert auf einem Liniendiagramm. Die Fläche unter jeder Linie ist schattiert. In Flächendiagrammen werden die Datenreihen gestapelt. Wenn Sie beispielsweise zwei identische Reihen haben, überlappen sich die Reihen in einem Liniendiagramm, die schattierte Fläche wird jedoch in einem Flächendiagramm gestapelt.
Kreis- oder Ringdiagramm: In einem Kreisdiagramm wird dargestellt, wie sich Kategorien in einem Dataset auf das gesamte Dataset beziehen. Dazu wird ein Kreis verwendet, um das gesamte Dataset darzustellen, und Kreissegmente, um die Kategorien im Dataset darzustellen. Die Größe eines Kreissegments 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 Tabellenform in einem Dashboard anzeigen möchten, verwenden Sie eineLIMIT-Klausel, um die Anzahl der Zeilen im Ergebnis auf einige Hundert zu beschränken.Gauge oder Kurzübersicht: Gauges und Kurzübersichten liefern den letzten Wert zusammen mit einer grünen, gelben oder roten Anzeige, je nachdem, wie dieser Wert im Vergleich zu einer Reihe von Grenzwerten ist. Anders als bei Gauges, die nur Informationen zum letzten Wert enthalten, können Kurzübersichten auch Informationen zu früheren Werten enthalten.
In Gauges 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 Ihre Abfrage so, dass Daten über ein Zeitintervall 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.Die folgende Abfrage fragt beispielsweise eine Logansicht ab, aggregiert Daten nach Stunde, wendet ein Limit an und sortiert die Ergebnisse:
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10
Im Folgenden wird die Bedeutung der Felder im vorherigen Ausdruck beschrieben:
- 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.
Legen Sie für Dimension die Spalte fest, in der die Zeiteinheit angegeben ist. Wenn Ihre Abfrage beispielsweise Daten nach Stunde aggregiert und eine Spalte mit dem Namen
hourerstellt, legen Sie das Menü Dimension aufhourfest.Wählen Sie Intervall deaktivieren aus, da in Ihrer Abfrage bereits das Aggregationsintervall angegeben ist. Im Beispiel beträgt dieses Intervall eine Stunde.
Legen Sie für Maß die numerische Spalte fest und setzen Sie die Funktion auf Keine.
Wenn Sie die zeitbasierte Aggregation von Observability 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 für Dimension die Spalte fest, in der die Zeiteinheit angegeben ist.
Sie können dieses Menü beispielsweise auf
timestampfestlegen. - Legen Sie im Menü Intervall das Aggregationsintervall auf ein bestimmtes
Intervall fest. Legen Sie beispielsweise den Wert dieses Felds auf
1 hourfest. Wählen Sie nicht Automatisches Intervall aus. - Legen Sie für Maß die numerische Spalte fest und wählen Sie eine Funktion wie Summe aus.
Dimension und Maß ändern
Sie können auswählen, welche Zeilen und Spalten in Diagrammen dargestellt werden sollen, indem Sie die Felder für Dimension und Maß auswählen.
Dimension
Die Dimension muss eine Zeitstempel-, numerische oder Stringspalte 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 im Bereich Diagrammanzeige anpassen, was die Dimension ist. Wenn eine Zeitstempelspalte als Dimension ausgewählt ist, zeigt das Diagramm, 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. Dadurch wird die Dimension in lexikografischer Reihenfolge sortiert. Sie können auch die Standardsortierreihenfolge beibehalten, bei der die Dimension anhand der Werte des entsprechenden Maßes in absteigender Reihenfolge sortiert wird.
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 Zeitraumauswahl geändert, um ähnlich große Gruppen 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 Maße auf
nonegesetzt. Wenn das Dimensionsintervall deaktiviert ist, sind nur numerische Maße zulässig.Messen
Sie können im Bereich Diagrammanzeige mehrere Maße auswählen. Wenn Sie ein Maß auswählen, müssen Sie auch die Aggregationsfunktion auswählen, die für die gruppierten Werte ausgeführt werden soll, z. B.
count,sum,averageundpercentile-99.count-distinctgibt 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 Option für die Aggregationsfunktion
noneverfügbar. Wenn die Dimension ein Stringwert ist, wird das Kästchen Intervall deaktivieren nicht angezeigt. Wenn Sie die Aggregationsfunktionen eines Maßes aufnonesetzen, wird das Intervall jedoch auch deaktiviert.
Aufschlüsselung hinzufügen
Wenn Sie eine einzelne Datenreihe basierend auf einer anderen Spalte in mehrere Datenreihen aufteilen möchten, fügen Sie eine Aufschlüsselung hinzu.
Wählen Sie bei der Auswahl einer Aufschlüsselung Spalten mit einer kleinen Anzahl kurzer und aussagekräftiger Labels wie region_name anstelle von Feldern aus, die eine große Anzahl von Strings oder lange Strings enthalten können, z. B. textPayload.
Sehen Sie sich beispielsweise die folgende Diagrammkonfiguration an, bei der das Dimension-Feld auf type, das Measure-Feld auf Zeilen zählen und das Breakdown-Feld auf severity gesetzt ist:

Im vorherigen Screenshot sehen Sie eine gestapelte Datenreihe, bei der der Ressourcentyp k8s_container in verschiedene severity-Typen aufgeteilt ist. So können Sie ermitteln, wie viele Logs der einzelnen Schweregradtypen 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. Mit diesen Dashboards können Sie auch Variablen definieren. Das sind Filter auf Dashboard-Ebene, 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.
In einem Dashboard wird eine Warnmeldung für ein Widget mit einer SQL-Abfrage angezeigt, wenn die Abfrage in der BigQuery-Engine ausgeführt wird und sich die abgefragten Ressourcen nicht in derselben Eigentümerschaftsgrenze befinden. Eigentümerschaftsgrenzen werden durch mehrere Faktoren bestimmt, darunter die Hierarchie der Ressourcen, die von der Abfrage verwendet werden. Wenn Sie diese Warnungen vermeiden möchten, richten Sie einen Dienstperimeter ein.
So speichern Sie das Diagramm in einem Dashboard:
-
Rufen Sie in der Google Cloud -Console die manage_search Seite Observability Analytics auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
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 In 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 in der Benachrichtigung auf Dashboard ansehen.
Wenn Sie eine Liste der benutzerdefinierten Dashboards aufrufen möchten, die Diagramme enthalten, die mit SQL-Abfragen erstellt wurden, klicken Sie auf die Schaltfläche Diagramm speichern und dann auf arrow_drop_down Menü.
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 Konfiguration eines Widgets ändern. Im Dialogfeld Widget konfigurieren haben Sie folgende Möglichkeiten:
- Die abgefragten Daten ändern.
- Die Abfrage bearbeiten, mit der ein Diagramm erstellt wird.
- Die Diagrammkonfiguration anpassen, 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 erstellten Diagramme nicht in einem benutzerdefinierten Dashboard angezeigt werden.
Filter auf Dashboard-Ebene werden nicht auf Diagramme angewendet, die aus einer SQL-Abfrage generiert wurden.
Die ausgewählten Spalten müssen 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 unterscheiden, die automatisch von Observability Analytics angewendet werden.
JSON-Pfade müssen in Strings oder Zahlen umgewandelt werden, um in Diagrammen dargestellt zu werden.
Beispielabfragen
In diesem Abschnitt finden Sie Beispiel-SQL-Abfragen zum Erstellen von Diagrammen aus Ihren Abfrageergebnissen. Wenn Sie nützlichere Erkenntnisse aus Ihren Logs gewinnen möchten, passen Sie die Diagrammkonfiguration an. So verwenden Sie die Beispielabfragen:
-
Rufen Sie in der Google Cloud -Console die manage_search Seite Observability Analytics auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Suchen Sie den Tabellennamen für die Logansicht, die Sie abfragen möchten.
Rufen Sie dazu die Liste Logansichten auf, suchen Sie die Logansicht und wählen Sie Abfrage aus. Der Bereich Abfrage ist mit einer Standardabfrage ausgefüllt, die den Tabellennamen der abgefragten Logansicht 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 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 in Diagrammen 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
`VIEW`
WHERE resource.labels.location IS NOT NULL
Ein Beispieldiagramm und eine Beispielkonfiguration sehen so aus:
Im vorherigen Screenshot hat die Diagrammkonfiguration die folgenden Einstellungen:
- Diagrammtyp: Balkendiagramm, horizontal
- Dimension:
location, mit einem Limit von 10 - Maß: Zeilen zählen
- Aufschlüsselung:
severity, mit einem Limit von fünf
Audit-Logs zum BigQuery-Datenzugriff in Diagrammen darstellen
Mit der folgenden Abfrage werden Audit-Logs für den BigQuery-data_access gefiltert und bestimmte Felder wie user_email, ip, auth_permission und job_execution_project ausgewählt. Sie können beispielsweise ein Diagramm erstellen, in dem die Häufigkeit der BigQuery API-Nutzung der einzelnen Prinzipale im Zeitverlauf visualisiert 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 `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 Beispieldiagramm und eine Beispielkonfiguration sehen so aus:
Im vorherigen Screenshot hat die Diagrammkonfiguration die folgenden Einstellungen:
- Diagrammtyp: Balkendiagramm, vertikal
- Dimension:
user_email, mit einem Limit von fünf - Maß: Zeilen zählen
- Aufschlüsselung:
auth_permission, mit einem Limit von fünf
Nächste Schritte
Eine Übersicht über Observability Analytics finden Sie unter Logs abfragen und analysieren.
Beispielabfragen finden Sie unter Beispiel-SQL-Abfragen.
Informationen zur Analyse mit Audit-Logs mithilfe von Observability Analytics finden Sie unter SQL-Abfragen für Sicherheitsanalysen.