Pour analyser les données de journaux à l'aide des services BigQuery, tels que BigQuery Studio ou Data Studio, créez un ensemble de données BigQuery associé sur votre bucket de journaux. Cet ensemble de données vous permet de joindre vos données de journaux à d'autres ensembles de données. Vous pouvez également créer des règles d'alerte qui surveillent les résultats d'une requête SQL.
Un ensemble de données BigQuery associé est un pointeur en lecture seule vers votre bucket de journaux. Il vous permet d'utiliser les services BigQuery pour interroger vos données de journaux sans les dupliquer ni payer de stockage distinct dans BigQuery.
Vous ne pouvez pas créer d'ensemble de données BigQuery associé pour une vue Analytics.
Si vous ne connaissez pas Observability Analytics, consultez la présentation d'Observability Analytics .
Quand avez-vous besoin d'un ensemble de données BigQuery associé ?
Vous n'avez pas besoin d'un ensemble de données BigQuery associé lorsque vous souhaitez interroger vos données de journaux ou vos données de journaux et de trace. Dans ces cas, vous pouvez utiliser la page Observability Analytics. Vous pouvez également enregistrer et partager vos requêtes, et les enregistrer dans un tableau de bord personnalisé. Pour en savoir plus sur l'interrogation de vos données de trace, consultez Interroger et analyser des traces.
Vous avez besoin d'un ensemble de données BigQuery associé lorsque vous souhaitez effectuer l'une des opérations suivantes :
- Joindre des données d'entrée de journal à d'autres ensembles de données BigQuery.
- Interroger des données de journaux à partir d'un autre service, tel que BigQuery Studio ou Data Studio.
- Créer une règle d'alerte qui surveille le résultat d'une requête SQL. Pour en savoir plus, consultez Surveiller les résultats de vos requêtes SQL avec une règle d'alerte.
Un ensemble de données BigQuery associé à un bucket de journaux permet à BigQuery de lire les données dans le bucket de journaux.
Comment les buckets de journaux et les vues de journaux sont-ils mappés aux objets BigQuery ?
Lorsque vous créez un ensemble de données BigQuery associé pour un bucket de journaux, un nouvel ensemble de données devient disponible pour BigQuery. Vous spécifiez le nom de l'ensemble de données BigQuery associé lors du processus d'association. Toutes les vues de journaux du bucket de journaux sont automatiquement mappées à des vues virtuelles dans l'ensemble de données. Le nom d'une vue virtuelle est identique à celui de la vue de journaux correspondante.
Supposons, par exemple, que le projet my_project comporte un bucket de journaux nommé example et que ce bucket de journaux comporte une vue de journaux nommée _AllLogs. Si vous créez un ensemble de données BigQuery associé pour ce bucket de journaux avec le nom my_dataset, la page Explorateur de BigQuery affiche une entrée my_project.
Un enfant de l'entrée my_project est un ensemble de données nommé my_dataset, et cet ensemble de données répertorie une vue virtuelle nommée _AllLogs.
Implications du contrôle des accès lors de l'utilisation d'ensembles de données BigQuery associés
Lorsqu'un compte principal interroge une vue sur un ensemble de données BigQuery associé, cette requête s'exécute via la couche d'autorisation BigQuery, et non via la couche d'autorisation Cloud Logging. Par conséquent, les rôles et autorisations BigQuery accordés au compte principal sur l'ensemble de données BigQuery associé déterminent s'il peut interroger l'ensemble de données.
Vous ne pouvez pas limiter un compte principal à une vue virtuelle spécifique dans un ensemble de données associé. Lorsqu'un compte principal a accès à l'ensemble de données BigQuery associé, il peut interroger toutes les vues de cet ensemble de données.
Actions système qui se produisent lorsque vous créez un ensemble de données associé
Lorsque vous créez un lien sur un ensemble de données d'observabilité, les éléments suivants se produisent :
Google Cloud Observability peut créer les comptes de service suivants ou modifier leurs attributions de rôle IAM :
Compte de service Monitoring : requis pour créer un lien vers un ensemble de données BigQuery associé. L'API Cloud Monitoring doit être activée pour que Google Cloud Observability puisse créer ce compte de service.
Compte de service Cloud Observability: requis pour créer un lien sur un ensemble de données d'observabilité.
Compte de service Cloud Logging: requis pour créer un lien sur un bucket de journaux.
Les journaux d'audit enregistrent la requête de création d'un lien et la requête du gestionnaire d'agent de service pour accorder au compte de service Monitoring le rôle IAM d' agent de service Monitoring. Ces journaux enregistrent également la fin de l'opération de longue durée.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Pour obtenir les autorisations nécessaires pour créer un ensemble de données associé, demandez à votre administrateur de vous accorder le rôle IAM Rédacteur de configuration des journaux (
roles/logging.configWriter) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Assurez-vous que votre bucket de journaux a été mis à niveau pour utiliser Observability Analytics :
-
Dans la Google Cloud console, accédez à la page Stockage des journaux :
Accéder à 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.
- Si le bucket de journaux affiche Mettre à niveau, cliquez sur Mettre à niveau et remplissez la boîte de dialogue.
-
Créer un ensemble de données BigQuery associé
Lorsque vous souhaitez utiliser les fonctionnalités de BigQuery pour analyser vos données de journaux, mettez à niveau un bucket de journaux pour utiliser Observability Analytics, puis créez un ensemble de données associé. Avec cette configuration, Logging stocke vos données de journaux, mais BigQuery peut les lire.
Google Cloud Console
Pour créer un lien vers un ensemble de données BigQuery pour un bucket de journaux existant, procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Stockage des journaux :
Accéder à 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.
Recherchez le bucket de journaux et vérifiez que la colonne Observability Analytics disponible affiche Ouvrir.
Si cette colonne affiche Mettre à niveau, cela signifie que le bucket de journaux n'a pas été mis à niveau pour utiliser Observability Analytics. Configurez Observability Analytics :
- Cliquez sur Mettre à niveau.
- Cliquez sur Confirmer dans la boîte de dialogue.
Une fois la mise à niveau terminée, passez à l'étape suivante.
Dans le bucket de journaux, cliquez sur Plusmore_vert, puis sur Modifier le bucket.
La boîte de dialogue Modifier le bucket de journaux s'ouvre.
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 Google Cloud projet. 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.(Le nom de l'ensemble de données doit être unique dans la région sélectionnée.)Cliquez sur Terminé , puis sur Mettre à jour le bucket.
Une fois que Logging affiche le nom de l'ensemble de données associé sur la page Stockage des journaux, BigQuery peut mettre plusieurs minutes à reconnaître l'ensemble de données.
gcloud
Pour créer un ensemble de données associé pour un bucket de journaux mis à niveau
pour utiliser Observability Analytics, exécutez la
gcloud logging links create commande :
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Le LINK_ID que vous fournissez est utilisé comme nom de l'ensemble de données BigQuery, et la valeur de ce champ doit être unique pour votre Google Cloud projet.
La commande links create est asynchrone. Le retour d'une
méthode asynchrone est un Operation objet, et il
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 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é nommé mylink pour le bucket de journaux 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 Google Cloud projet. Si vous tentez 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 qui n'est pas mis à niveau pour utiliser Observability Analytics, 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é pour un bucket de journaux existant
mis à niveau pour utiliser Observability Analytics, 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 :
- Créez le corps de la requête pour la commande
create. Le corps de la requête est mis en forme en tant qu'objetLink. - Pour le paramètre de requête de la commande, utilisez
linkId=LINK_ID. Le LINK_ID que vous fournissez est utilisé comme nom de l'ensemble de données BigQuery, et la valeur de ce champ doit être unique pour votre Google Cloud projet.
La réponse aux méthodes asynchrones est un
Operation objet. 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 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 Google Cloud projet. Si vous tentez 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 qui n'est pas mis à niveau pour utiliser Observability Analytics, l'erreur suivante s'affiche :
A link can only be created for an analytics-enabled bucket.
Étape suivante
- Interroger des données de journaux avec BigQuery Studio
- Exécuter des requêtes de journaux sur le moteur BigQuery