SQL-Abfrageergebnisse in Diagrammen darstellen

Mit Observability Analytics können Sie SQL-Abfrageergebnisse als Diagramme visualisieren, um Muster und Trends in Ihren Trace-Daten zu erkennen. Nachdem Sie eine Abfrage zum Suchen und Aggregieren von Trace-Daten ausgeführt haben, können Sie die Ergebnisse in einer Tabelle ansehen, in ein Diagramm umwandeln und die Visualisierung in einem Dashboard speichern.

Im folgenden Diagramm wird beispielsweise der von Spans im Zeitverlauf gemeldete Status angezeigt, gruppiert nach service_name:

Beispieldiagramm mit einer Aufschlüsselung nach Dienstname.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Laden der Seite Observability Analytics, zum Schreiben und Ausführen von Abfragen für Ihre Trace-Daten und zum Speichern von Diagrammen in benutzerdefinierten Dashboards benötigen:

    • Observability View Accessor (roles/observability.viewAccessor) für die Beobachtbarkeitsansichten, die Sie abfragen möchten. Diese Rolle unterstützt IAM-Bedingungen, mit denen Sie die Zuweisung auf eine bestimmte Ansicht beschränken können. Wenn Sie der Rollenzuweisung keine Bedingung hinzufügen, kann das Hauptkonto auf alle Beobachtbarkeitsansichten zugreifen.
    • Monitoring-Bearbeiter (roles/monitoring.editor) für Ihr Projekt.

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Daten für das 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 die Abfrageergebnisse in einem Diagramm angezeigt. Nachdem Sie die Abfrage ausgeführt und ein Diagramm generiert haben, können Sie das Diagramm anpassen, indem Sie den Diagrammtyp ändern und Spalten auswählen, um andere Daten anzuzeigen.

So rufen Sie die Abfrageergebnisse als Diagramm auf:

  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. Geben Sie im Bereich Abfrage eine Abfrage ein und klicken Sie auf Ausführen.

  3. 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 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. 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 auswählen und festlegen, welche Zeilen und Spalten im Diagramm 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, und ist der Wert der X-Achse. Der Messwert oder der Wert auf 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, können Sie aus den folgenden Diagrammtypen auswählen.

  • Balkendiagramm (Standard): In Balkendiagrammen werden Daten auf zwei Achsen dargestellt. Wenn Ihr Diagramm eine Kategorie oder einen String als Dimension verwendet, können Sie die Diagrammkonfiguration für ein Balkendiagramm auf horizontal oder vertikal festlegen, wobei die Dimensions- und Messwertachsen vertauscht werden.

  • Liniendiagramm: Liniendiagramme können verwendet werden, um Datenänderungen im Zeitverlauf darzustellen. In einem Liniendiagramm wird jede Zeitreihe durch eine andere Linie dargestellt, die den von Ihnen 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, überlappen sich die Reihen in einem Liniendiagramm, aber der schattierte Bereich wird in einem Flächendiagramm gestapelt.

  • Kreis- oder Ringdiagramm: In einem Kreisdiagramm wird dargestellt, wie sich Kategorien in einem Dataset zum gesamten Dataset verhalten. Dabei wird das gesamte Dataset durch einen Kreis und die Kategorien im Dataset durch Segmente im Kreis dargestellt. Die Größe eines Segments 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 auf einem Dashboard anzeigen möchten, verwenden Sie eine LIMIT-Klausel, um die Anzahl der Zeilen im Ergebnis auf weniger als ein paar Hundert zu beschränken.

  • Gauge oder Kurzübersicht: Gauges und Kurzübersichten zeigen den aktuellen Wert zusammen mit einer grünen, gelben oder roten Anzeige an, je nachdem, wie hoch dieser Wert im Vergleich zu einer Reihe von Grenzwerten ist. Im Gegensatz zu 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.

      Mit der folgenden Abfrage werden beispielsweise Ihre Trace-Daten abgefragt und die Daten in einstündigen Intervallen aggregiert, ein Limit angewendet und die Ergebnisse sortiert:

      SELECT TIMESTAMP_TRUNC(start_time, HOUR) AS hour,
         COALESCE(
            JSON_VALUE(resource.attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
         status.code AS status,
         COUNT(*) AS count
      FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
      GROUP BY hour, service_name, status
      ORDER BY hour DESC
      LIMIT 1000

      Im Folgenden wird die Bedeutung der Felder im vorherigen Ausdruck beschrieben:

      Die vorherige Abfrage wurde verwendet, um die Abbildung am Anfang dieses Dokuments zu generieren. In dieser Abbildung ist auch die Diagrammkonfiguration zu sehen.

    • Legen Sie die Dimension so fest, dass sie der Spalte mit der Zeiteinheit entspricht. 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 in Ihrer Abfrage bereits das Aggregationsintervall angegeben ist. In diesem Beispiel beträgt das Intervall eine Stunde.

    • Legen Sie für Messwert die numerische Spalte und für die Funktion Keine fest.

    Wenn Sie die zeitbasierte Aggregation von Observability 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 der Spalte mit der Zeiteinheit entspricht. 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 den Messwert auf 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 im Diagramm dargestellt werden, indem Sie die Dimensions- und Messwertfelder 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. Im Bereich Diagrammanzeige können Sie auch die Dimension anpassen. Wenn eine Zeitstempelspalte als Dimension ausgewählt ist, zeigt das Diagramm, wie sich die Daten im Laufe der Zeit ändern. Wenn eine Stringspalte als Dimension für ein Balkendiagramm ausgewählt ist, können Sie die Daten in aufsteigender oder absteigender Reihenfolge sortieren. Dadurch wird die Dimension nach lexikalischer Reihenfolge sortiert. Sie können auch die Sortierreihenfolge „default“ beibehalten, bei der die Dimension anhand der Werte des entsprechenden Measures 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 Zeitauswahl geändert, um ähnlich große Gruppen beizubehalten.

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

  • Messen

    Im Bereich Diagrammanzeige können Sie 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 und percentile-99. Beispielsweise gibt count-distinct die Anzahl der eindeutigen Werte in einer bestimmten Spalte zurück.

    Wenn Sie das Kästchen Intervall deaktivieren für die Dimension aktivieren, ist die Aggregationsfunktionsoption none verfügbar. Wenn die Dimension ein Stringwert ist, wird das Kästchen Intervall deaktivieren nicht angezeigt. Wenn Sie die Aggregationsfunktionen eines Messwerts auf none festlegen, wird das Intervall jedoch ebenfalls 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 bei der Aufschlüsselung Spalten mit einer kleinen Anzahl kurzer und aussagekräftiger Labels aus, z. B. region_name. Wählen Sie keine Felder aus, die eine große Anzahl von Strings oder lange Strings enthalten könnten, z. B. textPayload.

Im folgenden Diagramm wird beispielsweise die Anzahl der von jedem Dienst erstellten Spans angezeigt, wobei die Daten nach dem Spannamen aufgeschlüsselt sind:

Beispiel-Dashboard, das die Nutzung Ihrer Cloud Storage-Buckets zeigt.

Trace-Beispiele generieren und anzeigen

Sie können Ihre SQL-basierten Diagramme, die Trace-Daten analysieren, so konfigurieren, dass dynamisch generierte Exemplare angezeigt werden. Ein Exemplar ist eine repräsentative Stichprobe oder ein Span, der mit einer Messwertmessung verknüpft ist. Jedes Beispiel ist mit einem Trace verknüpft. Wenn Sie ein Beispiel auswählen, wird ein Flyout mit dem Trace geöffnet.

Konfigurationsanforderungen

Damit Exemplare angezeigt werden, muss Folgendes zutreffen:

  • Die Abfrage des Diagramms ist in SQL geschrieben und das Abfrageziel sind Trace-Daten.
  • Das Diagramm verwendet die Visualisierung als Linien- oder Balkendiagramm.
  • trace_id und start_time sind Teil der Abfrageergebnisse.

Wenn Sie Exemplare ausblenden möchten, rufen Sie die Symbolleiste des Diagramms auf und wählen Sie Exemplare ausblenden aus.

So generiert das System Exemplare

Das System wendet eine intelligente Auswahlstrategie für Stichproben an, damit die Exemplare lesbar und relevant bleiben:

  • Für statistische Messwerte wie AVG und PERCENTILE: Das System vergleicht die Rohwerte der Spannen mit der interpolierten Trendlinie des Diagramms und gruppiert die Stichproben in Abweichungspools. Eine proportionale Stichprobe aus jedem Pool wird im Zeitverlauf gleichmäßig dargestellt und verteilt.
  • Für Häufigkeitszählungen wie COUNT: Das System positioniert Exemplare am oberen Rand des Diagrammfensters und verteilt sie gleichmäßig über Zeit- und Datenreihenaufschlüsselungen.

Beschränkungen

  • Wenn in einem Diagramm mehrere Zeitreihen angezeigt werden, reduziert das System die Anzahl der angezeigten Exemplare.
  • Exemplare sind im Zeitintervall des Diagramms möglicherweise nicht gleichmäßig verteilt.
  • Die Skala der Y-Achse kann die visuelle Darstellung verzerren. Verzerrungen treten am wahrscheinlichsten auf, wenn ein Diagramm eine logarithmische Y-Achse verwendet oder wenn Zeitreihen Ausreißer enthalten.
  • Sie können nicht konfigurieren, wie das System Exemplare generiert.

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 Informationen, die für Sie nützlich sind, mithilfe einer Vielzahl von Widget-Typen anzeigen und organisieren. In 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 Eigentumsgrenze befinden. Die Eigentumsgrenzen werden durch mehrere Faktoren bestimmt, darunter die Hierarchie der von der Abfrage verwendeten Ressourcen. Richten Sie einen Dienstperimeter ein, um diese Warnungen zu vermeiden.

So speichern Sie das Diagramm in einem Dashboard:

  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. Führen Sie eine Abfrage aus, um ein Diagramm zu generieren, und klicken Sie dann auf Im Dashboard 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 das Diagramm speichern möchten.

  4. Optional: Klicken Sie in der Toast-Benachrichtigung auf Dashboard ansehen, um das benutzerdefinierte Dashboard aufzurufen.

Wenn Sie eine Liste der benutzerdefinierten Dashboards aufrufen möchten, die Diagramme enthalten, die von SQL-Abfragen generiert wurden, klicken Sie auf den Button Im Dashboard speichern und dann auf 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 Widget-Konfiguration ändern. Im Dialogfeld Widget konfigurieren können Sie Folgendes tun:

  • Ändern Sie die abgefragten Daten.
  • Abfrage bearbeiten, die zum Erstellen eines Diagramms verwendet wird
  • Passen Sie die Diagrammkonfiguration an, um andere Daten zu visualisieren.

Beschränkungen

  • Wenn sich Ihr Google Cloud -Projekt in einem Ordner befindet, der Assured Workloads verwendet, 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.

  • Ausgewählte 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 das generierte Diagramm aufgrund einer zusätzlichen Aggregation, die automatisch von Observability Analytics angewendet wird, anders aussehen.

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

Nächste Schritte