Analytics-Datenansichten

In diesem Dokument werden Analyseansichten beschrieben und es wird erläutert, wann Sie sie erstellen sollten. Außerdem werden die Unterschiede zwischen Analyseansichten und Konzepten beschrieben, mit denen Sie möglicherweise vertraut sind, z. B. Log-Ansichten und gespeicherte Abfragen.

Informationen zum Erstellen, Abfragen und Verwalten von Analyseansichten finden Sie unter Analyseansichten erstellen und abfragen.

Übersicht

Eine Analytics-Ansicht ist eine Ressource, die abgefragt werden kann. Diese Ressource enthält eine SQL-Abfrage, mit der eine oder mehrere Log-Ansichten abgefragt werden.

Mit einer Logansicht für einen Log-Bucket wird gesteuert, welche Logeinträge im Log-Bucket Sie sehen können. Sie können die Logansicht mit dem Log-Explorer und den Loganalysen abfragen. In beiden Fällen wird das Format der abgefragten Daten durch die Datenstruktur LogEntry bestimmt.

Mit der SQL-Abfrage in einer Analyseansicht können Sie die Logdaten in einer oder mehreren Logansichten in ein benutzerdefiniertes Format umwandeln. Sie können also filtern, welche Logeinträge in der Logansicht zum Abfrageergebnis beitragen, und die Spalten des Ergebnisses definieren. Sie können beispielsweise Spalten verwerfen, Daten aus einem verschachtelten JSON-Feld in eine Spalte verschieben oder Spalten hinzufügen.

Analytics-Datenansichten sind keine materialisierten Ansichten. Eine Analyseansicht ist keine vorausberechnete Ansicht, in der Abfrageergebnisse regelmäßig im Cache gespeichert werden. Daher entspricht das Abfragen einer Analyseansicht dem Abfragen der Logansichten, die von der Analyseansicht abgefragt werden.

Sowohl eine Analyseansicht als auch eine gespeicherte Abfrage enthalten eine SQL-Abfrage. Eine Analytics-Ansicht ist jedoch eine Ressource, die abgefragt werden kann. Sie können eine gespeicherte Abfrage noch einmal ausführen, aber Sie können das Ergebnis einer gespeicherten Abfrage nicht abfragen.

Arten von Analytics-Datenansichten

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

  • Benutzerdefinierte Analytics-Datenansichten sind alle Analytics-Datenansichten, 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 Analytics-Ansichten 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 abgefragt werden. Wenn in einer Analyseansicht beispielsweise eine Logansicht am Speicherort global abgefragt wird, muss sich auch die Analyseansicht am Speicherort global befinden. Wenn Sie eine Analyseansicht über die Google Cloud -Konsole erstellen, wird der Standort automatisch festgelegt.

Vorteile von Analyseansichten

Der Hauptvorteil von Analyseansichten besteht darin, dass Sie Ihre Logdaten transformieren und ein einheitliches Schema für andere Abfragen erstellen können. Möglicherweise stellen Sie aber auch fest, dass Sie durch das Erstellen einer Analyseansicht den Aufwand für das Schreiben von Abfragen verringern oder die Struktur Ihrer Abfragen verbessern können. Da Analyseansichten keine materialisierten Ansichten sind, wird die Abfragezeit durch ihre Verwendung nicht unbedingt verkürzt.

Beispiel: Datentransformation

Angenommen, Sie analysieren die Netzwerkleistung mithilfe von VPC-Flusslogs. Sie müssen die allgemeine Netzwerkleistung analysieren und bestimmte Netzwerke, IP-Adressen oder Hosts identifizieren können. Leider sind die benötigten Informationen in verschachtelten Feldern im Feld json_payload eines Logeintrags enthalten.

Um diese Informationen aus den Logeinträgen zu extrahieren, schreiben Sie die folgende Abfrage und speichern sie dann als Analyseansicht mit dem Namen network_details:

SELECT
  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 `TABLE_NAME_OF_LOG_VIEW`
WHERE
    log_id = "compute.googleapis.com/vpc_flows"
    AND SEARCH(json_payload.reporter, "SRC")

Wenn Sie die Netzwerkleistung analysieren möchten, können Sie jetzt Ihre Analyseansicht abfragen. 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

Beispiel: Basisabfrage für die Analyse der API-Latenz

Angenommen, Sie sollen die Latenz von Anfragen für einwöchige Intervalle auswerten und zusammenfassen. Andere Teams verwenden die Daten aus der wöchentlichen Leistungsanalyse als Grundlage für weitere Analysen.

In der von Ihnen erstellten Analyseansicht, die von anderen Teams abgefragt werden kann, werden die minimale, maximale und durchschnittliche Latenz abgeschlossener Anfragen gemäß den Logeinträgen in einer bestimmten Logansicht gemeldet:

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 `TABLE_NAME_OF_LOG_VIEW`
  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

Erforderliche IAM-Rollen und ‑Berechtigungen

Da für Analyseansichten Logansichten abgefragt werden, müssen Sie mit Ihren IAM-Rollen auch Logansichten abfragen und Loganalysen verwenden können, um Analyseansichten zu erstellen und abzufragen. In diesem Abschnitt werden die IAM-Rollen aufgeführt, die zum Erstellen von Analyseansichten und zum Abfragen von Logansichten sowie zur Verwendung von Loganalysen erforderlich sind:

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Observability Analytics User (roles/observability.analyticsUser) für Ihr Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen, Verwalten und Verwenden von Analyseansichten benötigen.

    Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen, Verwalten und Verwenden von Analyseansichten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

    Erforderliche Berechtigungen

    Die folgenden Berechtigungen sind erforderlich, um Analyseansichten zu erstellen, zu verwalten und zu verwenden:

    • observability.analyticsViews.get
    • observability.analyticsViews.list
    • observability.analyticsViews.create
    • observability.analyticsViews.update
    • observability.analyticsViews.delete
  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen einer Log-Ansicht und zur Verwendung von Log Analytics benötigen:

    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.

    Informationen zu zusätzlichen Rollen, die Sie zum Abfragen von Ansichten in nutzerdefinierten Buckets oder zum Abfragen der Ansicht _AllLogs des Logbuckets _Default benötigen, finden Sie unter Cloud Logging-Rollen.

Beschränkungen

Für Analyseansichten gelten die folgenden Einschränkungen:

  • Eine Analytics-Ansicht kann keine andere Analytics-Ansicht abfragen.
  • Eine Analyseansicht kann mehrere Log-Ansichten abfragen. Die Log-Buckets, in denen die abgefragten Log-Ansichten gehostet werden, müssen sich jedoch an einem Standort befinden. Angenommen, Sie haben zwei Log-Buckets, einen in us-east1 und den anderen in asia-east1. Sie können keine Analyseansicht erstellen, mit der Logansichten in diesen Log-Buckets abgefragt werden.
  • Die übergeordnete Ressource einer Analyseansicht muss ein Google Cloud -Projekt sein. Sie können keine Analytics-Ansicht in Ordnern oder Organisationen erstellen.
  • Verknüpfte Datasets werden für Analyseansichten nicht unterstützt. Daher können Sie Analytics-Ansichten nur über die Seite Loganalyse abfragen. Außerdem müssen Sie diese Abfragen für den Standard-Cloud Logging-Dienst ausführen.
  • Es gibt keine API-Unterstützung für das Erstellen oder Verwalten von Analyseansichten.
  • Für Analyseansichten gelten die folgenden Limits:

    • Maximale Anzahl von Analyseansichten pro Google Cloud Projekt: 100
    • Pro Google Cloud Projekt beträgt die maximale Anzahl von Analyseansichten pro Region: 50
    • Pro Google Cloud Projekt beträgt die maximale Anzahl von Regionen, in denen Analyseansichten gespeichert werden können, 10.

Nächste Schritte