Verknüpftes BigQuery-Dataset abfragen

In diesem Dokument wird beschrieben, wie Sie ein verknüpftes Dataset für einen Log-Bucket erstellen und wie Sie Logs in diesem Dataset abfragen und ansehen. Sie können beispielsweise ein verknüpftes Dataset erstellen, um Loganalysen mit Ihren reservierten BigQuery-Slots abzufragen. Möglicherweise möchten Sie auch ein verknüpftes Dataset, damit Sie in BigQuery oder Looker Studio Abfragen schreiben können, mit denen Ihre Logdaten mit anderen Geschäftsdaten verknüpft werden.

Sie können kein verknüpftes BigQuery-Dataset für eine Analytics-Ansicht erstellen.

Wenn Sie mit Loganalysen nicht vertraut sind, lesen Sie die Übersicht über Loganalysen.

Wann Sie ein verknüpftes Dataset benötigen

Sie benötigen kein verknüpftes BigQuery-Dataset, um Abfragen für eine Logansicht auf der Seite Loganalysen auszugeben, wenn Sie den Standard-Cloud Logging-Dienst verwenden. Sie können Ihre Abfragen speichern und freigeben und die Ergebnisse in einem benutzerdefinierten Dashboard speichern.

Sie benötigen ein verknüpftes BigQuery-Dataset, wenn Sie eine der folgenden Aktionen ausführen möchten:

Mit einem verknüpften BigQuery-Dataset für einen Log-Bucket kann BigQuery die Daten im Log-Bucket lesen.

Wenn Sie Ihre Abfragen in reservierten BigQuery-Slots ausführen, gelten für Ihre Abfragen die Preise für die Berechnung der Kapazität. Wenn Sie Ihre Daten mit einem anderen Dienst als Loganalysen abfragen, können für Ihre Abfragen je nach Dienst zusätzliche Gebühren anfallen. Weitere Informationen finden Sie auf der Preisseite des von Ihnen verwendeten Dienstes.

Zuordnung von Log-Buckets und Logansichten zu BigQuery-Objekten

Wenn Sie ein verknüpftes BigQuery-Dataset für einen Log-Bucket erstellen, wird ein neues Dataset in BigQuery verfügbar. Sie geben den Namen des verknüpften Datasets während des Verknüpfungsvorgangs an. Alle Logansichten im Log-Bucket werden automatisch virtuellen Ansichten im Dataset zugeordnet. Der Name einer virtuellen Ansicht ist derselbe wie der Name der entsprechenden Logansicht.

Angenommen, das Projekt my_project hat einen Log-Bucket mit dem Namen example und dieser Log-Bucket hat eine Logansicht mit dem Namen _AllLogs. Wenn Sie ein verknüpftes Dataset für diesen Log-Bucket mit dem Namen my_dataset erstellen, wird auf der Seite Explorer von BigQuery ein Eintrag my_project angezeigt. Ein untergeordnetes Element des Eintrags my_project ist ein Dataset mit dem Namen my_dataset. In diesem Dataset ist eine virtuelle Ansicht mit dem Namen _AllLogs aufgeführt.

Auswirkungen der Zugriffssteuerung bei Verwendung verknüpfter Datasets

Wenn ein Hauptkonto eine Ansicht für ein verknüpftes BigQuery-Dataset abfragt, wird diese Abfrage über die BigQuery-Berechtigungsebene und nicht über die Cloud Logging-Berechtigungsebene ausgeführt. Daher hängt es von den BigQuery-Rollen und -Berechtigungen ab, die dem Hauptkonto für das verknüpfte Dataset gewährt wurden, ob es das Dataset abfragen kann.

Sie können ein Hauptkonto nicht auf eine bestimmte virtuelle Ansicht in einem verknüpften Dataset beschränken. Wenn einem Hauptkonto Zugriff auf das verknüpfte Dataset gewährt wurde, kann es jede Ansicht in diesem Dataset abfragen.

Hinweis

In diesem Abschnitt werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie Loganalysen verwenden können.

Log-Buckets konfigurieren

Prüfen Sie, ob für Ihre Log-Buckets ein Upgrade zur Verwendung von Loganalysen durchgeführt wurde:

  1. Rufen Sie in der Google Cloud -Console die Seite Logspeicher auf.

    Zum Logspeicher

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. 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.

IAM-Rollen und ‑Berechtigungen konfigurieren

In diesem Abschnitt werden die IAM-Rollen oder -Berechtigungen beschrieben, die für die Verwendung von Loganalysen 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 Loganalysen und zum Abfragen von Logansichten 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.

    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-Log-Buckets benötigen, finden Sie unter Cloud Logging-Rollen.

  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, in dem der Log-Bucket gespeichert ist, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Abfragen verknüpfter Datasets benötigen:

    • So erstellen und rufen Sie verknüpfte Datasets auf: Autor von Logkonfigurationen (roles/logging.configWriter)
    • So führen Sie Abfragen für verknüpfte Datasets mit reservierten BigQuery-Slots aus:
    • Wenn Sie verknüpfte Datasets in BigQuery Studio aufrufen möchten, müssen Sie alle in diesem Schritt genannten Rollen und die folgende Rolle zuweisen. Sie können diese Rolle einem Dataset oder Ihrem Projekt zuweisen: BigQuery-Datenbetrachter (roles/bigquery.dataViewer)

BigQuery-Version prüfen

Wenn Sie Ihre Logdaten auf der Seite Loganalysen mit reservierten BigQuery-Slots abfragen möchten und Projekte mit VPC Service Controls verwenden, müssen Sie die Enterprise Edition von BigQuery verwenden. Weitere Informationen finden Sie unter Informationen zu BigQuery-Versionen.

Wenn Sie die Funktionen von BigQuery zum Analysieren Ihrer Logdaten nutzen möchten, führen Sie ein Upgrade eines Log-Buckets durch, um Loganalysen zu verwenden, und erstellen Sie dann ein verknüpftes Dataset. Bei dieser Konfiguration werden Ihre Logdaten in Logging gespeichert, BigQuery kann sie aber lesen.

Google Cloud Console

So erstellen Sie einen Link zu einem BigQuery-Dataset für einen vorhandenen Log-Bucket:

  1. Rufen Sie in der Google Cloud -Console die Seite Logspeicher auf.

    Zum Logspeicher

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Suchen Sie den Log-Bucket und prüfen Sie, ob in der Spalte Loganalysen verfügbar die Option Öffnen angezeigt wird.

    Wenn in dieser Spalte Upgrade angezeigt wird, wurde für den Log-Bucket noch kein Upgrade für die Verwendung von Loganalysen durchgeführt. So konfigurieren Sie Loganalysen:

    1. Klicken Sie auf Upgrade.
    2. Klicken Sie im Dialogfeld auf Bestätigen.

    Fahren Sie nach Abschluss des Upgrades mit dem nächsten Schritt fort.

  3. Klicken Sie im Log-Bucket auf Mehr und dann auf Bucket bearbeiten.

    Das Dialogfeld Log-Bucket bearbeiten wird geöffnet.

  4. Wählen Sie Neues BigQuery-Dataset erstellen, das mit diesem Bucket verknüpft ist aus und geben Sie den Namen für das neue Dataset ein.

    Der Dataset-Name muss für jedes Google Cloud -Projekt eindeutig sein. Wenn Sie den Namen eines vorhandenen Datasets eingeben, wird der folgende Fehler angezeigt: Dataset name must be unique in the selected region.

  5. Klicken Sie auf Fertig und anschließend auf Bucket aktualisieren.

    Nachdem der Name des verknüpften Datasets auf der Seite Logs Storage (Logs-Speicher) angezeigt wird, kann es einige Minuten dauern, bis BigQuery das Dataset erkennt.

gcloud

Führen Sie den Befehl gcloud logging links create aus, um ein verknüpftes Dataset für einen Log-Bucket zu erstellen, der für die Verwendung von Loganalysen aktualisiert wurde:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

Der von Ihnen angegebene LINK_ID wird als Name des BigQuery-Datasets verwendet. Der Wert dieses Felds muss für Ihr Google Cloud -Projekt eindeutig sein.

Der Befehl links create ist asynchron. Der Rückgabewert einer asynchronen Methode ist ein Operation-Objekt, das Informationen zum Fortschritt der Methode enthält. Wenn die Methode abgeschlossen ist, enthält das Operation-Objekt den Status. Weitere Informationen finden Sie unter Asynchrone API-Methoden.

Der Befehl links create kann einige Minuten in Anspruch nehmen.

Mit dem folgenden Befehl wird beispielsweise ein verknüpftes Dataset mit dem Namen mylink für den Log-Bucket mit dem Namen my-bucket erstellt:

gcloud logging links create mylink --bucket=my-bucket --location=global

Der Dataset-Name muss für jedes Google Cloud -Projekt eindeutig sein. Wenn Sie versuchen, ein Dataset mit demselben Namen wie ein vorhandenes Dataset zu erstellen, wird der folgende Fehler angezeigt:

BigQuery dataset with name "LINK_ID" already exists.

Wenn Sie versuchen, ein verknüpftes Dataset für einen Log-Bucket zu erstellen, für den kein Upgrade auf Loganalysen durchgeführt wurde, wird der folgende Fehler gemeldet:

A link can only be created for an analytics-enabled bucket.

REST

Wenn Sie ein verknüpftes BigQuery-Dataset für einen vorhandenen Log-Bucket erstellen möchten, für den ein Upgrade auf Loganalysen durchgeführt wurde, rufen Sie die asynchrone Methode projects.locations.buckets.links.create der Cloud Logging API auf.

Bereiten Sie die Argumente für die Methode so vor:

  1. Erstellen Sie den Anfragetext für den Befehl create. Der Anfragetext ist als Link-Objekt formatiert.
  2. Verwenden Sie für den Abfrageparameter des Befehls linkId=LINK_ID. Die von Ihnen angegebene LINK_ID wird als Name des BigQuery-Datasets verwendet. Der Wert dieses Felds muss für Ihr Google Cloud -Projekt eindeutig sein.

Die Antwort auf die asynchronen Methoden ist ein Operation-Objekt. Dieses Objekt enthält Informationen zum Fortschritt der Methode. Wenn die Methode abgeschlossen ist, enthält das Operation-Objekt den Status. Weitere Informationen finden Sie unter Asynchrone API-Methoden.

Die Methode links.create kann mehrere Minuten dauern.

Der Dataset-Name muss für jedes Google Cloud -Projekt eindeutig sein. Wenn Sie versuchen, ein Dataset mit demselben Namen wie ein vorhandenes Dataset zu erstellen, wird der folgende Fehler angezeigt:

BigQuery dataset with name "LINK_ID" already exists.

Wenn Sie versuchen, ein verknüpftes Dataset für einen Log-Bucket zu erstellen, für den kein Upgrade auf Loganalysen durchgeführt wurde, wird der folgende Fehler gemeldet:

A link can only be created for an analytics-enabled bucket.

Abfragen aus BigQuery ausführen

Wenn Sie einen Log-Bucket mit Loganalysen und verknüpften Datasets haben, können Sie Ihre verknüpften Datasets auf der Seite BigQuery Studio ansehen und abfragen. Mit dieser Konfiguration können Sie Ihre Datasets mit Befehlen, Workflows und Datasets analysieren, die nur in BigQuery Studio verfügbar sind.

So öffnen Sie BigQuery über Loganalysen und fragen dann ein verknüpftes Dataset ab:

  1. Prüfen Sie, ob für den Log-Bucket, in dem sich die Logansicht befindet, die Sie abfragen möchten, ein verknüpftes Dataset vorhanden ist:

    1. Rufen Sie in der Google Cloud -Console die Seite Logspeicher auf.

      Zum Logspeicher

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

    2. Suchen Sie den Log-Bucket und prüfen Sie, ob in der Spalte Verknüpftes BigQuery-Dataset eine URL angezeigt wird. Wenn der Eintrag leer ist, müssen Sie ein verknüpftes Dataset erstellen. Informationen zu diesen Schritten finden Sie unter Verknüpftes BigQuery-Dataset erstellen.

  2. Rufen Sie in der Google Cloud -Console die Seite Loganalysen auf.

    Zu Loganalysen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  3. Suchen Sie in der Liste Logansichten nach der Logansicht und wählen Sie sie aus.

  4. Wählen Sie im Bereich Schema die Option Abfrage aus.

    Der Bereich Abfrage wird mit einer Standardabfrage gefüllt. Sie können auch eine Abfrage im Bereich Abfrage eingeben oder eine angezeigte Abfrage bearbeiten.

  5. Maximieren Sie in der Symbolleiste den Button Abfrage ausführen oder In BigQuery ausführen und wählen Sie In BigQuery öffnen aus.

    Die Seite BigQuery Studio wird geöffnet. Die FROM-Anweisung der Abfrage wird so geändert, dass der Pfad zur Logansicht im verknüpften Dataset mit der BigQuery-Tabellenpfadsyntax angegeben wird.

    Sie können die angezeigte Abfrage auch bearbeiten.

  6. Klicken Sie auf der Seite BigQuery Studio auf Abfrage ausführen.

Loganalyse-Abfragen für Ihre reservierten BigQuery-Slots ausführen

Wenn Sie die Ausführungszeit Ihrer Loganalyse-Abfragen minimieren möchten, führen Sie sie in Ihren reservierten BigQuery-Slots aus. Die Seite Loganalysen ist für die Verwendung des Standarddienstes der Loganalysen vorkonfiguriert. Das bedeutet, dass Ihre Abfragen mit anderen Abfragen um den begrenzten Slot-Speicher konkurrieren müssen. Wenn keine Slots verfügbar sind, verzögert sich die Ausführung Ihrer Abfrage. Sie können diese Verzögerungen vermeiden, indem Sie Ihre Abfragen in reservierten BigQuery-Slots ausführen.

So führen Sie eine SQL-Abfrage für eine Logansicht aus:

  1. Prüfen Sie, ob für den Log-Bucket, in dem sich die Logansicht befindet, die Sie abfragen möchten, ein verknüpftes Dataset vorhanden ist:

    1. Rufen Sie in der Google Cloud -Console die Seite Logspeicher auf.

      Zum Logspeicher

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

    2. Suchen Sie den Log-Bucket und prüfen Sie, ob in der Spalte Verknüpftes BigQuery-Dataset eine URL angezeigt wird. Wenn der Eintrag leer ist, müssen Sie ein verknüpftes Dataset erstellen. Informationen zu diesen Schritten finden Sie unter Verknüpftes BigQuery-Dataset erstellen.

  2. Prüfen Sie, ob Sie Ihre reservierten BigQuery-Slots konfiguriert haben:

    1. Reservierung mit dedizierten Slots erstellen
    2. Reservierungszuweisungen erstellen
  3. Konfigurieren Sie Loganalysen, um Ihre Abfragen in Ihren reservierten BigQuery-Slots auszuführen:

    1. Rufen Sie in der Google Cloud -Console die Seite Loganalysen auf.

      Zu Loganalysen

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

    2. Suchen Sie in der Liste Logansichten nach der Ansicht und wählen Sie dann Abfrage aus oder geben Sie eine Abfrage ein.

      Wenn im Bereich „Abfrage“ eine Fehlermeldung angezeigt wird, in der auf die FROM-Anweisung verwiesen wird, kann die Tabelle nicht in eine bestimmte Logansicht aufgelöst werden. Informationen zur Behebung dieses Fehlers finden Sie unter Fehler FROM clause must contain exactly one log view.

    3. Rufen Sie die Symbolleiste auf und prüfen Sie, ob ein Button mit dem Label In BigQuery ausführen angezeigt wird.

      Wenn in der Symbolleiste Abfrage ausführen angezeigt wird, klicken Sie auf  Einstellungen und wählen Sie BigQuery aus.

      Wenn der Button In BigQuery ausführen deaktiviert ist, müssen Sie ein verknüpftes Dataset erstellen.

    4. Abfrage ausführen.

      Mit den Symbolleistenoptionen können Sie Ihre Abfrage formatieren, sie löschen und die BigQuery SQL-Referenzdokumentation aufrufen.

Nächste Schritte