Interroger un ensemble de données associé dans BigQuery

Ce document explique comment créer un ensemble de données associé à un bucket de journaux, et comment interroger et afficher les journaux de cet ensemble de données. Par exemple, vous pouvez créer un ensemble de données associé pour pouvoir exécuter des requêtes dans l'Analyse de journaux en utilisant vos emplacements BigQuery réservés. De même, vous voudrez peut-être pour pouvoir écrire des requêtes dans BigQuery dans Looker Studio qui associent vos données de journaux à d'autres données d'entreprise.

Si vous ne connaissez pas Log Analytics, consultez la présentation de Log Analytics.

Lorsque vous avez besoin d'un ensemble de données associé

Vous n'avez pas besoin d'un ensemble de données BigQuery associé. d'envoyer des requêtes à une vue de journal sur la page Analyse de journaux. Vous pouvez enregistrer et les partager, et enregistrer les résultats dans un tableau de bord personnalisé.

Vous avez besoin d'un ensemble de données BigQuery associé lorsque vous souhaitez effectuer l'une des opérations suivantes :

  • joindre les données des entrée de journal à d'autres ensembles de données BigQuery ;
  • Interroger les données des journaux d'un autre service, comme le BigQuery Studio ou Looker Studio.
  • Améliorez les performances des requêtes que vous exécutez à partir de l'Analyse de journaux en les exécutant sur vos emplacements réservés BigQuery.

Un ensemble de données BigQuery associé à un bucket de journaux permet Accès en lecture à BigQuery aux données sous-jacentes.

Si vous exécutez vos requêtes sur des emplacements BigQuery réservés, vos requêtes sont soumises tarifs du calcul de capacité. De plus, si vous interroger vos données à l'aide d'un service autre que l'Analyse de journaux, vos requêtes peuvent être soumises à d'autres en fonction de ce service. Consultez la page des tarifs du service utilisent.

Avant de commencer

Avant d'utiliser Log Analytics, procédez comme suit :

  • Pour obtenir les autorisations nécessaires pour utiliser Log Analytics, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

    Vous pouvez limiter un compte principal à une vue de journal spécifique en ajoutant à l'attribution du rôle Accesseur de vues de journaux effectuée à l'adresse au niveau du projet, ou en ajoutant une liaison IAM au de stratégie de la vue de journal. Pour en savoir plus, consultez Contrôlez l'accès à une vue de journal.

    Il s'agit des mêmes autorisations dont vous avez besoin pour afficher les entrées de journal sur la page Explorateur de journaux. Pour en savoir plus sur les rôles supplémentaires dont vous avez besoin pour interroger des vues sur des buckets définis par l'utilisateur ou pour interroger la vue _AllLogs du bucket de journaux _Default, consultez la section Rôles Cloud Logging.

  • Pour obtenir les autorisations nécessaires pour créer et interroger des ensembles de données associés, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur le projet qui stocke le bucket de journaux:

    • Pour créer et afficher des ensembles de données associés: Rédacteur de configuration des journaux (roles/logging.configWriter)
    • Pour exécuter des requêtes sur des ensembles de données associés à l'aide d'emplacements BigQuery réservés :
    • Pour afficher les ensembles de données associés dans BigQuery Studio, accordez tous les rôles mentionnés à cette étape, ainsi que le rôle suivant. Vous pouvez attribuer ce rôle à un ensemble de données ou à votre projet: Lecteur de données BigQuery (roles/bigquery.dataViewer)

  • Assurez-vous que vos buckets de journaux ont été mis à niveau pour utiliser l'Analyse de journaux :

    1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

      Accéder à la page Stockage des journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Pour chaque bucket de journaux comportant une vue de journal que vous souhaitez interroger, vous assurer que La colonne Analyse de journaux disponible affiche Ouvrir. Si l'option Mettre à niveau s'affiche, cliquez sur Mettre à niveau et terminez la boîte de dialogue.
  • Si vous souhaitez interroger les données de vos journaux depuis la page Analyse de journaux en utilisant des emplacements BigQuery réservés et, si vous utilisez des projets avec Virtual Private Cloud (VPC) Service Controls, assurez-vous d'utiliser l'édition Enterprise de BigQuery. Pour en savoir plus, consultez Découvrir les éditions BigQuery

Lorsque vous souhaitez utiliser les fonctionnalités de BigQuery pour analyser votre les données de journaux, mettre à niveau un bucket de journaux pour utiliser l'Analyse de journaux, puis créer une ensemble de données associé. Avec cette configuration, Logging stocke les données de journaux, BigQuery peut lire les données des journaux.

console Google Cloud

Pour associer un ensemble de données BigQuery bucket de journaux, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Localisez le bucket de journaux et vérifiez que l'option Analyse de journaux est disponible. affiche Open (Ouvrir).

    Si cette colonne affiche Mettre à niveau, cela signifie que le bucket de journaux n'a pas été pour utiliser l'Analyse de journaux. Configurez l'Analyse de journaux :

    1. Cliquez sur Mettre à jour.
    2. Cliquez sur Confirmer dans la boîte de dialogue.

    Une fois la mise à niveau terminée, passez à l'étape suivante.

  3. Dans le bucket de journaux, cliquez sur Plus. puis cliquez sur Modifier le bucket.

    La boîte de dialogue Modifier le bucket de journaux s'ouvre.

  4. Sélectionnez Créer un ensemble de données BigQuery associé à ce bucket, puis saisissez le nom du nouvel ensemble de données.

    Le nom de l'ensemble de données doit être unique pour chaque projet Google Cloud. Si vous saisissez le nom d'un ensemble de données existant, l'erreur suivante s'affiche : Dataset name must be unique in the selected region.

  5. Cliquez sur OK, puis sur Mettre à jour le bucket.

    Une fois que Logging affiche le nom de l'ensemble de données associé sur la Stockage des journaux, plusieurs minutes peuvent être nécessaires BigQuery reconnaît l'ensemble de données.

gcloud

Créer un ensemble de données associé à un bucket de journaux mis à niveau pour utiliser l'Analyse de journaux, exécutez la Commande gcloud logging links create:

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

L'LINK_ID que vous fournissez est utilisé comme nom de l'ensemble de données BigQuery. La valeur de ce champ doit être unique pour votre projet Google Cloud.

La commande links create est asynchrone. Le retour d'une la méthode asynchrone est un objet Operation. contient des informations sur la progression de la méthode. Lorsque est terminée, l'objet Operation contient l'état. Pour en savoir plus, consultez la page Méthodes d'API asynchrones.

L'exécution de la commande links create prend plusieurs minutes.

Par exemple, la commande suivante crée un ensemble de données associé au bucket nommé my-bucket :

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

Le nom de l'ensemble de données doit être unique pour chaque projet Google Cloud. Si vous essayez pour créer un ensemble de données portant le même nom qu'un ensemble de données existant, recevez l'erreur suivante:

BigQuery dataset with name "LINK_ID" already exists.

Si vous tentez de créer un ensemble de données associé pour un bucket de journaux qui n'a pas été mis à niveau pour utiliser l'Analyse de journaux, l'erreur suivante s'affiche :

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

REST

Pour créer un ensemble de données BigQuery associé à un bucket de journaux existant mis à niveau à l'aide de l'Analyse de journaux, appelez la méthode asynchrone projects.locations.buckets.links.create de l'API Cloud Logging.

Préparez les arguments de la méthode comme suit :

  1. Créez le corps de la requête pour la commande create. Le corps de la requête est au format d'un objet Link.
  2. Pour le paramètre de requête de la commande, utilisez linkId=LINK_ID. Le LINK_ID que vous fournissez est utilisé comme de l'ensemble de données BigQuery. La valeur de ce champ doit être unique pour votre projet Google Cloud.

La réponse aux méthodes asynchrones est un objet Operation. Cet objet contient des informations sur la progression de la méthode. Une fois la méthode terminée, l'objet Operation contient l'état. Pour en savoir plus, consultez la page Méthodes d'API asynchrones.

L'exécution de la méthode links.create prend plusieurs minutes.

Le nom de l'ensemble de données doit être unique pour chaque projet Google Cloud. Si vous essayez de créer un ensemble de données portant le même nom qu'un ensemble de données existant, l'erreur suivante s'affiche :

BigQuery dataset with name "LINK_ID" already exists.

Si vous tentez de créer un ensemble de données associé pour un bucket de journaux pour utiliser l'Analyse de journaux, l'erreur suivante est signalée:

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

Exécuter des requêtes depuis BigQuery

Si votre bucket de journaux utilise l'Analyse de journaux et les ensembles de données associés, vous pouvez afficher et interroger vos ensembles de données associés à l'aide de BigQuery Studio. . Cette configuration vous permet d'analyser ensembles de données à l'aide de commandes, de workflows et d'ensembles de données est disponible uniquement dans BigQuery Studio.

Pour ouvrir BigQuery à partir de l'Analyse de journaux, puis interroger l'ensemble de données associé, procédez comme suit :

  1. Assurez-vous qu'un ensemble de données associé existe pour le bucket de journaux qui héberge le que vous souhaitez interroger:

    1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

      Accéder à la page Stockage des journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Localisez le bucket de journaux et vérifiez que l'ensemble de données associé à BigQuery affiche une URL. Si l'entrée est vide, vous devez créer un ensemble de données associé. Pour en savoir plus sur ces étapes, consultez Créer un ensemble de données BigQuery associé

  2. Dans la console Google Cloud, accédez à la page Analyse de journaux :

    Accéder à l'Analyse de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  3. Dans la liste Vues des journaux, recherchez la vue de journal, puis sélectionnez Requête. La Le volet Requête contient une requête par défaut. Vous pouvez également saisir une requête dans le volet Requête ou modifier une requête affichée.

  4. Dans la barre d'outils, développez le bouton Exécuter la requête ou Exécuter sur BigQuery, puis sélectionnez Ouvrir dans BigQuery.

    La page BigQuery Studio s'ouvre. FROM de la requête est modifiée pour spécifier le chemin d'accès à la vue de journal sur la ensemble de données associé à l'aide Syntaxe du chemin d'accès aux tables

    Vous pouvez également modifier la requête affichée.

  5. Sur la page BigQuery Studio, cliquez sur Exécuter la requête.

Exécuter des requêtes Log Analytics sur vos emplacements BigQuery réservés

Lorsque vous souhaitez réduire le temps d'exécution de vos requêtes Log Analytics, exécutez-les sur vos emplacements BigQuery réservés. La page Log Analytics est préconfigurée pour utiliser le service Log Analytics par défaut, ce qui signifie que vos requêtes doivent se battre pour un espace d'emplacement limité avec d'autres requêtes. Lorsque des emplacements ne sont pas disponibles, l'exécution de votre requête est retardée. Vous pouvez éliminer ces retards en exécutant vos requêtes sur des emplacements BigQuery réservés.

Pour envoyer une requête SQL à une vue de journal, procédez comme suit:

  1. Assurez-vous qu'un ensemble de données associé existe pour le bucket de journaux qui héberge le que vous souhaitez interroger:

    1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

      Accéder à la page Stockage des journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Localisez le bucket de journaux et vérifiez que l'ensemble de données associé à BigQuery affiche une URL. Si l'entrée est vide, vous devez créer un ensemble de données associé. Pour en savoir plus sur ces étapes, consultez Créer un ensemble de données BigQuery associé

  2. Assurez-vous d'avoir configuré vos emplacements BigQuery réservés :

    1. Créer une réservation avec des emplacements dédiés
    2. Créer des attributions de réservation
  3. Configurez Log Analytics pour exécuter vos requêtes sur vos emplacements BigQuery réservés :

    1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

      Accéder à l'Analyse de journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Dans la liste Vues des journaux, recherchez la vue, puis sélectionnez Requête ou saisissez une requête.

      Si le volet de requête affiche un message d'erreur faisant référence au FROM, la table ne peut pas être résolue en une vue de journal spécifique. Pour savoir comment résoudre ce problème, consultez la section Erreur FROM clause must contain exactly one log view.

    3. Accédez à la barre d'outils et vérifiez qu'un bouton intitulé Run on BigQuery (Exécuter sur BigQuery) s'affiche.

      Si la barre d'outils affiche Run Query (Exécuter une requête), cliquez sur Settings (Paramètres) et sélectionnez BigQuery.

      Si le bouton Exécuter dans BigQuery est désactivé, vous devez créer un ensemble de données associé.

    4. Exécutez votre requête.

      Utilisez les options de la barre d'outils pour mettre en forme ou effacer la requête, et ouvrir la documentation de référence SQL BigQuery.

Étape suivante