Verknüpftes BigQuery-Dataset abfragen

In diesem Dokument wird beschrieben, wie Sie ein verknüpftes Dataset für einen Log-Bucket erstellen und Logs in diesem Dataset abfragen und aufrufen. Sie können beispielsweise ein verknüpftes Dataset erstellen, damit Sie Abfragen in Log Analytics ausführen können, indem Sie Ihre reservierten BigQuery-Slots verwenden. Ebenso können Sie einen verknüpften Datensatz verwenden, um Abfragen in BigQuery oder Looker Studio zu schreiben, mit denen Ihre Logdaten mit anderen Geschäftsdaten zusammengeführt werden.

Wenn Sie mit Log Analytics nicht vertraut sind, lesen Sie den Hilfeartikel Log Analytics – Übersicht.

Wann Sie ein verknüpftes Dataset benötigen

Wenn Sie den standardmäßigen Cloud Logging-Dienst verwenden, benötigen Sie kein verknüpftes BigQuery-Dataset, um Abfragen an eine Protokollansicht auf der Seite Log Analytics zu senden. Sie können Abfragen speichern und freigeben sowie die Ergebnisse in einem benutzerdefinierten Dashboard speichern.

Sie benötigen ein verknüpftes BigQuery-Dataset, wenn Sie Folgendes tun möchten:

Über ein verknüpftes BigQuery-Dataset für einen Log-Bucket können die Daten im Log-Bucket in BigQuery gelesen werden.

Wenn Sie Ihre Abfragen in reservierten BigQuery-Slots ausführen, gelten für Ihre Abfragen die Kapazitätsrechenpreise. Wenn Sie Ihre Daten mit einem anderen Dienst als Log Analytics abfragen, können für Ihre Abfragen möglicherweise zusätzliche Kosten anfallen, die sich auf diesen Dienst beziehen. Weitere Informationen finden Sie auf der Preisseite des von Ihnen verwendeten Dienstes.

Hinweise

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

Log-Buckets konfigurieren

Prüfen Sie, ob Ihre Log-Buckets für die Verwendung von Log Analytics aktualisiert wurden:

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

    Zum Log-Speicher

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

  2. Achten Sie für jeden Log-Bucket, der eine Logansicht enthält, die Sie abfragen möchten, darauf, dass in der Spalte Log Analytics verfügbar der Wert Offen angezeigt wird. Wenn Upgrade durchführen angezeigt wird, klicken Sie auf Upgrade durchführen und schließen Sie das Dialogfeld ab.

IAM-Rollen und -Berechtigungen konfigurieren

In diesem Abschnitt werden die IAM-Rollen oder -Berechtigungen beschrieben, die für die Verwendung von Log 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 Log Analytics und zum Abfragen von Protokollansichten benötigen:

    Sie können ein Hauptkonto auf eine bestimmte Protokollansicht beschränken, indem Sie der Rolle „Zugriffsberechtigter für Protokollansicht“ auf Projektebene eine IAM-Bedingung hinzufügen oder der Richtliniendatei der Protokollansicht eine IAM-Bindung hinzufügen. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

    Dies sind dieselben Berechtigungen, die Sie zum Aufrufen von Logeinträgen auf der Seite Log-Explorer benötigen. Informationen zu zusätzlichen Rollen, die Sie benötigen, um Ansichten in benutzerdefinierten Buckets abzufragen oder die _AllLogs-Ansicht des _Default-Log-Buckets abzufragen, 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 Datensätze benötigen:

    • So erstellen und rufen Sie verknüpfte Datensätze auf: Autor von Log-Konfigurationen (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, gewähren Sie alle in diesem Schritt genannten Rollen und die folgende Rolle. Sie können diese Rolle einem Datensatz oder Ihrem Projekt gewähren: BigQuery-Datenbetrachter (roles/bigquery.dataViewer)

BigQuery-Version prüfen

Wenn Sie Ihre Protokolldaten über die Seite Log Analytics mithilfe von reservierten BigQuery-Slots abfragen möchten und Projekte mit VPC Service Controls (Virtual Private Cloud) verwenden, müssen Sie die Enterprise-Version von BigQuery verwenden. Weitere Informationen finden Sie unter BigQuery-Versionen.

Wenn Sie Ihre Protokolldaten mit BigQuery analysieren möchten, müssen Sie einen Log-Bucket auf Log Analytics umstellen und dann ein verknüpftes Dataset erstellen. Bei dieser Konfiguration werden Ihre Protokolldaten in Logging gespeichert, können aber von BigQuery gelesen werden.

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 Log-Speicher

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

  2. Suchen Sie den Protokoll-Bucket und prüfen Sie, ob in der Spalte Log Analytics verfügbar der Wert Offen angezeigt wird.

    Wenn in dieser Spalte Upgrade angezeigt wird, wurde der Log-Bucket nicht für die Verwendung von Log Analytics aktualisiert. So konfigurieren Sie Log Analytics:

    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 beim Log-Bucket auf das Dreipunkt-Menü und dann auf Bucket bearbeiten.

    Das Dialogfeld Protokoll-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 Datensatzes eingeben, wird die folgende Fehlermeldung angezeigt: Dataset name must be unique in the selected region.

  5. Klicken Sie auf Fertig und dann auf Bucket aktualisieren.

    Nachdem der Name des verknüpften Datasets in Logging auf der Seite Logs Storage 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 auf Log Analytics umgestellt wurde:

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

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.

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

Die Ausführung des Befehls links create kann mehrere Minuten dauern.

Mit dem folgenden Befehl wird beispielsweise ein verknüpftes Dataset mit dem Namen mylink für den Protokoll-Bucket 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, einen Datensatz mit demselben Namen wie ein vorhandener Datensatz zu erstellen, erhalten Sie die folgende Fehlermeldung:

BigQuery dataset with name "LINK_ID" already exists.

Wenn Sie versuchen, ein verknüpftes Dataset für einen Log-Bucket zu erstellen, der nicht auf Log Analytics umgestellt wurde, wird der folgende Fehler ausgegeben:

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, der mit Log Analytics aktualisiert wird, 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. Nach Abschluss der Methode enthält das Operation-Objekt den Status. Weitere Informationen finden Sie unter Asynchrone API-Methoden.

Die links.create-Methode kann mehrere Minuten dauern.

Der Dataset-Name muss für jedes Google Cloud-Projekt eindeutig sein. Wenn Sie versuchen, einen Datensatz mit demselben Namen wie ein vorhandener Datensatz zu erstellen, erhalten Sie die folgende Fehlermeldung:

BigQuery dataset with name "LINK_ID" already exists.

Wenn Sie versuchen, ein verknüpftes Dataset für einen Log-Bucket zu erstellen, der nicht auf Log Analytics umgestellt wurde, wird der folgende Fehler ausgegeben:

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

Abfragen aus BigQuery ausführen

Wenn Sie einen Log-Bucket haben, in dem Log Analytics und verknüpfte Datasets verwendet werden, können Sie Ihre verknüpften Datasets auf der Seite BigQuery Studio aufrufen und abfragen. Mit dieser Konfiguration können Sie Ihre Datensätze mit Befehlen, Workflows und Datensätzen analysieren, die nur in BigQuery Studio verfügbar sind.

So öffnen Sie BigQuery über Log Analytics und führen dann eine Abfrage für das verknüpfte Dataset aus:

  1. Prüfen Sie, ob für den Protokoll-Bucket, in dem die Protokollansicht gehostet wird, die Sie abfragen möchten, ein verknüpftes Dataset vorhanden ist:

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

      Zum Log-Speicher

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

    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. Weitere Informationen zu diesen Schritten finden Sie unter Verknüpftes BigQuery-Dataset erstellen.

  2. Rufen Sie in der Google Cloud Console die Seite Log Analytics auf.

    Zu Log Analytics

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

  3. Suchen Sie in der Liste Protokollansichten nach der gewünschten Protokollansicht und wählen Sie Abfragen aus. Der Bereich Abfrage enthält eine Standardabfrage. Sie können auch im Bereich Abfrage eine Abfrage eingeben oder eine angezeigte Abfrage bearbeiten.

  4. Maximieren Sie in der Symbolleiste die Schaltfläche 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 geändert, um den Pfad zur Protokollansicht im verknüpften Datenpool anzugeben. Dazu wird die BigQuery-Syntax für Tabellenpfade verwendet.

    Sie können auch die angezeigte Abfrage bearbeiten.

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

Log Analytics-Abfragen für Ihre reservierten BigQuery-Slots ausführen

Wenn Sie die Ausführungszeit Ihrer Log Analytics-Abfragen minimieren möchten, führen Sie sie auf Ihren reservierten BigQuery-Slots aus. Die Seite Log Analytics ist für die Verwendung des Standard-Log Analytics-Dienstes vorkonfiguriert. Das bedeutet, dass Ihre Abfragen mit anderen Abfragen um den begrenzten Speicherplatz konkurrieren müssen. Wenn keine Slots verfügbar sind, wird die Ausführung der Abfrage verzögert. 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 Protokollansicht aus:

  1. Prüfen Sie, ob für den Protokoll-Bucket, in dem die Protokollansicht gehostet wird, die Sie abfragen möchten, ein verknüpftes Dataset vorhanden ist:

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

      Zum Log-Speicher

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

    2. Suchen Sie den Log-Bucket und prüfen Sie, ob in der Spalte Mit BigQuery verknüpftes Dataset eine URL angezeigt wird. Wenn der Eintrag leer ist, müssen Sie ein verknüpftes Dataset erstellen. Weitere 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 Log Analytics so, dass Ihre Abfragen auf Ihren reservierten BigQuery-Slots ausgeführt werden:

    1. Rufen Sie in der Google Cloud Console die Seite Log Analytics auf.

      Zu Log Analytics

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

    2. Suchen Sie in der Liste Protokollansichten nach der gewünschten Ansicht und wählen Sie Abfragen aus oder geben Sie eine Abfrage ein.

      Wenn im Abfragebereich eine Fehlermeldung angezeigt wird, die auf die FROM-Anweisung verweist, kann die Tabelle nicht in eine bestimmte Protokollansicht aufgelöst werden. Informationen zum Beheben dieses Fehlers finden Sie unter Fehler FROM clause must contain exactly one log view.

    3. Sehen Sie in der Symbolleiste nach, ob die Schaltfläche 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 die Schaltfläche In BigQuery ausführen deaktiviert ist, müssen Sie ein verknüpftes Dataset erstellen.

    4. Führen Sie die Abfrage aus.

      Mit den Optionen in der Symbolleiste können Sie Ihre Abfrage formatieren, löschen und die BigQuery SQL-Referenzdokumentation öffnen.

Nächste Schritte