GSP1250

Présentation
Bien que BigQuery offre des fonctionnalités d'observabilité intégrées, comme les vues INFORMATION_SCHEMA
, la journalisation détaillée reste essentielle pour effectuer une analyse approfondie de l'utilisation, l'audit et le dépannage des problèmes potentiels. En activant l'Analyse de journaux, vous pouvez interroger et analyser les données de vos journaux à l'aide de requêtes SQL que vous connaissez bien, puis afficher les résultats de la requête ou les représenter sous forme de graphique.
BigQuery est l'entrepôt de données d'entreprise entièrement géré de Google Cloud. Il vous permet de gérer et d'analyser vos données grâce à des fonctionnalités intégrées telles que le machine learning, l'analyse géospatiale et l'informatique décisionnelle.
Dans cet atelier, vous allez activer l'Analyse de journaux sur les buckets de stockage de journaux, puis afficher les journaux BigQuery dans Cloud Logging. Vous utiliserez également SQL pour analyser les journaux à l'aide de l'Analyse de journaux.
Objectifs
Dans cet atelier, vous allez apprendre à :
- Utiliser Cloud Logging efficacement pour obtenir des informations détaillées sur l'utilisation de BigQuery
- Créer et exécuter efficacement des requêtes SQL à l'aide de l'Analyse de journaux
- Afficher les résultats et les représenter sous forme de graphique
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Configurer des buckets de journaux
Dans cette tâche, vous allez configurer Cloud Logging pour mettre à niveau les buckets de journaux existants en activant l'Analyse de journaux.
Pour mettre à niveau des buckets existants afin qu'ils utilisent l'Analyse de journaux :
- Dans la barre de titre de la console Google Cloud, saisissez Stockage des journaux dans le champ Rechercher, puis cliquez sur Stockage des journaux dans les résultats de recherche.
La page "Stockage des journaux" s'ouvre. Deux buckets, _Default et _Required, sont répertoriés dans la liste Buckets de journaux.
- Pour le bucket de journaux _Required, cliquez sur Mettre à niveau dans la colonne Analyse de journaux disponible.
- Cliquez de nouveau sur Mettre à niveau pour confirmer la mise à niveau afin d'utiliser l'Analyse de journaux.
- Procédez de la même façon pour le bucket de journaux _Default. Cliquez sur Mettre à niveau dans la colonne Analyse de journaux disponible.
- Cliquez de nouveau sur Mettre à niveau pour confirmer la mise à niveau afin d'utiliser l'Analyse de journaux.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Mettre à niveau les buckets de journaux
Tâche 2 : Effectuer des activités BigQuery
Dans cette tâche, vous allez générer des journaux BigQuery. Pour cela, vous utiliserez l'outil de ligne de commande BigQuery bq.
- Dans Cloud Shell, saisissez la commande
bq mk
pour créer les ensembles de données bq_logs et bq_logs_test dans votre projet :
bq mk bq_logs
bq mk bq_logs_test
- Saisissez la commande
bq ls
pour répertorier les ensembles de données :
bq ls
- Saisissez la commande
bq rm
pour supprimer l'ensemble de données (sélectionnez "Y" lorsque vous y êtes invité) :
bq rm bq_logs_test
- Créez une table :
bq mk \
--table \
--expiration 3600 \
--description "This is a test table" \
bq_logs.test_table \
id:STRING,name:STRING,address:STRING
Un message de confirmation doit s'afficher pour indiquer qu'une table vide nommée test_table a été créée pour votre ensemble de données.
Exécutez maintenant quelques requêtes pour générer des journaux.
- Saisissez la requête suivante dans Cloud Shell :
bq query --use_legacy_sql=false 'SELECT current_date'
- Saisissez la commande suivante dans Cloud Shell :
bq query --use_legacy_sql=false \
'SELECT
gsod2021.date,
stations.usaf,
stations.wban,
stations.name,
stations.country,
stations.state,
stations.lat,
stations.lon,
stations.elev,
gsod2021.temp,
gsod2021.max,
gsod2021.min,
gsod2021.mxpsd,
gsod2021.gust,
gsod2021.fog,
gsod2021.hail
FROM
`bigquery-public-data.noaa_gsod.gsod2021` gsod2021
INNER JOIN
`bigquery-public-data.noaa_gsod.stations` stations
ON
gsod2021.stn = stations.usaf
AND gsod2021.wban = stations.wban
WHERE
stations.country = "US"
AND gsod2021.date = "2021-12-15"
AND stations.state IS NOT NULL
AND gsod2021.max != 9999.9
ORDER BY
gsod2021.min;'
(Cette requête utilise les données météorologiques de la National Oceanic and Atmospheric Administration (NOAA).)
Cliquez sur Vérifier ma progression pour valider l'objectif.
Effectuer des activités BigQuery
Tâche 3 : Effectuer une analyse des journaux
Dans cette tâche, vous allez analyser les données des journaux que vous avez créés lors de la tâche précédente.
Défi (facultatif) : Avant d'exécuter une requête, pouvez-vous prédire le résultat ?
Rechercher une opération spécifique
Lors de l'analyse de l'utilisation de BigQuery, il est courant de rechercher des opérations spécifiques réalisées sur les ensembles de données. Dans cette tâche, vous allez rechercher les opérations de création et de suppression.
-
Dans le volet de gauche, cliquez sur Analyse de journaux et recherchez le champ Requête dans la section Analyse de journaux.
-
Pour trouver les opérations de création et de suppression, saisissez ou collez la requête suivante dans le champ Requête, puis cliquez sur Exécuter la requête :
SELECT
timestamp,
severity,
resource.type,
proto_payload.audit_log.authentication_info.principal_email,
proto_payload.audit_log.method_name,
proto_payload.audit_log.resource_name,
FROM
`{{{ project_0.project_id | "Project ID" }}}.global._Required._AllLogs`
WHERE
log_id = 'cloudaudit.googleapis.com/activity'
AND proto_payload.audit_log.method_name LIKE 'datasetservice%'
LIMIT
100
Votre requête doit renvoyer trois résultats.
Vous pouvez également limiter votre recherche avec des critères plus spécifiques, comme method_name = 'datasetservice.delete'.
Rechercher des opérations dans les tables BigQuery
- Pour trouver des opérations réalisées dans les tables BigQuery, modifiez la condition de requête pour les services des tables. Exécutez cette requête pour trouver les opérations de création ou de suppression dans les tables :
SELECT
timestamp,
severity,
resource.type,
proto_payload.audit_log.authentication_info.principal_email,
proto_payload.audit_log.method_name,
proto_payload.audit_log.resource_name,
FROM
`{{{ project_0.project_id | "Project ID" }}}.global._Required._AllLogs`
WHERE
log_id = 'cloudaudit.googleapis.com/activity'
AND proto_payload.audit_log.method_name LIKE '%TableService%'
LIMIT
100
Cette requête renvoie un seul résultat.
- Pour afficher les requêtes BigQuery terminées, recherchez le journal
data_access
basé sur l'événement jobCompletedEvent
. Par exemple, exécutez la requête SQL suivante :
SELECT
timestamp,
resource.labels.project_id,
proto_payload.audit_log.authentication_info.principal_email,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobConfiguration.query.query) AS query,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobConfiguration.query.statementType) AS statementType,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatus.error.message) AS message,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.startTime) AS startTime,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.endTime) AS endTime,
CAST(TIMESTAMP_DIFF( CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.endTime) AS TIMESTAMP), CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.startTime) AS TIMESTAMP), MILLISECOND)/1000 AS INT64) AS run_seconds,
CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalProcessedBytes) AS INT64) AS totalProcessedBytes,
CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalSlotMs) AS INT64) AS totalSlotMs,
JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.referencedTables) AS tables_ref,
CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalTablesProcessed) AS INT64) AS totalTablesProcessed,
CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.queryOutputRowCount) AS INT64) AS queryOutputRowCount,
severity
FROM
`{{{ project_0.project_id | "Project ID" }}}.global._Default._AllLogs`
WHERE
log_id = "cloudaudit.googleapis.com/data_access"
AND proto_payload.audit_log.service_data.jobCompletedEvent IS NOT NULL
ORDER BY
startTime
Parcourez les deux résultats et examinez la colonne requête. Elle donne la liste des requêtes BigQuery terminées. Comme les chaînes de requête sont incluses dans la requête SQL, les résultats peuvent être volumineux.
Tâche 4 : Créer un graphique
Au lieu d'utiliser une table pour afficher les résultats, l'Analyse de journaux permet de créer des graphiques pour visualiser les résultats.
- Cliquez sur le bouton Graphique dans la vue des résultats.
- Sélectionnez Graphique à secteurs comme type de graphique et requête comme colonne.
- Le graphique doit ressembler à ceci :

Félicitations !
Vous avez maintenant une expérience pratique de l'utilisation de Cloud Logging et de l'Analyse de journaux pour créer des requêtes, présenter les résultats sous forme graphique et obtenir des informations détaillées sur l'utilisation de BigQuery.
Étapes suivantes et informations supplémentaires
- Documentation sur l'Analyse de journaux
- Pour en savoir plus sur la visualisation des résultats de l'Analyse de journaux, consultez la documentation sur les graphiques.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 02 mai 2025
Dernier test de l'atelier : 02 mai 2025
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.