Analytics-Datenansichten

Mit Analyseansichten in Observability Analytics können Sie eine SQL-Abfrage mit einem benutzerdefinierten Schema für Ihre Observability-Daten definieren, um komplexe Transformationen zu vereinfachen und wiederzuverwenden. Eine gespeicherte Abfrage kann nur noch einmal ausgeführt werden. Eine Analyseansicht kann dagegen als Datenquelle in der FROM-Klausel anderer SQL-Abfragen verwendet werden.

Übersicht

Eine Analytics-Ansicht ist eine Ressource, die Sie abfragen können. Nachdem Sie eine Analyseansicht definiert haben, können Sie Abfragen schreiben, in denen Sie die Analyseansicht in der FROM-Anweisung angeben.

Der Hauptvorteil von Analyseansichten besteht darin, dass Sie die Daten nicht im Format einer API oder eines Systems abfragen müssen. In einer Analyseansicht können Sie ein Schema definieren, um Ihre Abfragen zu vereinfachen oder die Zeit zu verkürzen, die Sie für das Schreiben von Abfragen benötigen. Mit der Abfrage in einer Analyseansicht können Sie beispielsweise nur bestimmte Felder beibehalten, Felder umbenennen, verschachtelte Felder in eine Spalte der obersten Ebene verschieben sowie gruppieren und aggregieren.

Analytics-Datenansichten sind keine materialisierten Ansichten. Eine Analyseansicht ist keine vorab berechnete Ansicht, in der Abfrageergebnisse regelmäßig im Cache gespeichert werden. Wenn Sie eine Analyseansicht abfragen, ist das also dasselbe, als würden Sie die Ansichten abfragen, die in der Abfrage der Analyseansicht aufgeführt sind.

Analytics-Ansichten sind leistungsfähiger als gespeicherte Abfragen. Das sind Abfragen, die Sie auf der Seite Observability Analytics ausführen und dann speichern. Sie können eine gespeicherte Abfrage noch einmal ausführen, aber die Ergebnisse einer gespeicherten Abfrage nicht abfragen.

Arten von Analytics-Datenansichten

Es gibt zwei Arten von Analytics-Ansichten: benutzerdefinierte und systemdefinierte:

  • Nutzerdefinierte Analyseansichten sind alle Analyseansichten, die Sie erstellen. Sie können benutzerdefinierte Analytics-Ansichten abfragen, bearbeiten und löschen.

  • Systemdefinierte Analyseansichten sind Analyseansichten, die vonGoogle Cloud -Diensten erstellt werden. Sie können systemdefinierte Analyseansichten abfragen. Sie können sie jedoch nicht bearbeiten oder löschen.

Informationen zum Auflisten der Analytics-Ansichten in IhremGoogle Cloud -Projekt finden Sie unter Analytics-Ansichten auflisten.

Speicherort von Analyseansichten

Der Standort einer Analyseansicht wird durch den Standort der Ressourcen bestimmt, die in der Ansicht abgefragt werden. Wenn beispielsweise in einer Analyseansicht eine Protokollansicht abgefragt wird, die sich am Speicherort global befindet, muss sich auch die Analyseansicht am Speicherort global befinden. Wenn Sie die Google Cloud Console zum Erstellen einer Analyseansicht verwenden, wird der Standort automatisch festgelegt.

Beispielanwendungsfälle

Die folgenden Beispiele veranschaulichen, wie Sie Analyseansichten verwenden können, um Abfragen zu vereinfachen und wiederzuverwenden.

Netzwerkdetails abfragen

Sie möchten die Netzwerkleistung mithilfe von VPC-Flusslogs analysieren. Sie müssen die allgemeine Netzwerkleistung analysieren und bestimmte Netzwerke, IP-Adressen und Hosts identifizieren. Diese Informationen werden in verschachtelten Feldern im Feld json_payload eines Logeintrags gespeichert.

Zur Vereinfachung Ihrer Analyseabfragen erstellen Sie die folgende Analyseansicht und geben ihr den Namen network_details:

SELECT
  -- Create a column for each network field.
  JSON_VALUE(resource.labels.subnetwork_name) subnetwork_name,
  JSON_VALUE(json_payload.src_instance.vm_name) vm_name,
  JSON_VALUE(json_payload.connection.src_ip) as src_ip,
  JSON_VALUE(json_payload.connection.src_port) as src_port,
  JSON_VALUE(json_payload.connection.dest_ip) as dest_ip,
  JSON_VALUE(json_payload.connection.dest_port) as dest_port,
  CAST(JSON_VALUE(json_payload.bytes_sent) as INT64) as bytes_sent,
  CAST(JSON_VALUE(json_payload.packets_sent) as INT64) as packets_sent
FROM
  -- Query one log view.
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Only query the VPC Flow Logs log.
  log_id = "compute.googleapis.com/vpc_flows"
  AND SEARCH(json_payload.reporter, "SRC")

Legen Sie vor der Verwendung der Abfrage die Werte der folgenden Variablen fest:

  • PROJECT_ID: Die Kennung des Projekts.
  • LOCATION: Der Speicherort der Logansicht.
  • 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.

Wenn Sie die Netzwerkleistung analysieren möchten, fragen Sie Ihre Analyseansicht ab. Wenn Sie sich beispielsweise nur für den Namen der Instanz und die Menge der gesendeten Daten interessieren, können Sie die folgende Abfrage schreiben:

SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100

Basisabfrage für die Analyse der API-Latenz

Mehrere Teams benötigen wöchentliche Leistungsdaten, um ihre Analysen abzuschließen. Anstatt dass jedes Team die wöchentlichen Daten generiert, erstellen Sie eine Analyseansicht, mit der die wöchentlichen Daten extrahiert werden. Andere Teams können die Analyseansicht abfragen und dann ihre Analyse durchführen.

Die folgende Abfrage veranschaulicht, wie Sie mit SQL die minimale, maximale und durchschnittliche Anfrage-Latenz berechnen:

SELECT week, MIN(took_ms) as min, MAX(took_ms) AS max, AVG(took_ms) AS avg
FROM (
  SELECT TIMESTAMP_TRUNC(timestamp, WEEK) AS week,
  CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64) as took_ms
  FROM
    -- Query one log view.
    `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
  WHERE json_payload IS NOT NULL
    AND SEARCH(labels,"frontend")
    AND JSON_VALUE(json_payload.message) = "request complete"
  ORDER BY took_ms DESC, timestamp ASC
)
GROUP BY week ORDER BY week

Beschränkungen

Für Analyseansichten gelten die folgenden Einschränkungen:

  • In einer Analytics-Ansicht können nur Log-Ansichten abgefragt werden.
  • Die übergeordnete Ressource einer Analyseansicht muss ein Google Cloud -Projekt sein.
  • Sie können eine Analytics-Ansicht nur über die Seite Observability Analytics abfragen und nur, wenn Sie die Abfrage-Engine Observability Analytics (Standard) verwenden.
  • Alle Ansichten, die von einer Analytics-Ansicht abgefragt werden, müssen sich am selben Standort befinden.
  • Sie müssen die Google Cloud Console verwenden, um Ihre Analyseansichten zu erstellen oder zu verwalten.
  • Pro Google Cloud -Projekt können Sie maximal 100 Analytics-Ansichten erstellen.
  • Sie können maximal 50 Analytics-Ansichten pro Region erstellen.
  • Pro Google Cloud Projekt können maximal 10 Regionen eine Analyseansicht enthalten.

Nächste Schritte