arrow_back

Utiliser BigQuery et Cloud Logging pour analyser l'utilisation de BigQuery

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Utiliser BigQuery et Cloud Logging pour analyser l'utilisation de BigQuery

Lab 45 minutes universal_currency_alt 1 crédit show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP617

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Cloud Logging sert de répertoire central aux journaux de divers services Google Cloud, y compris BigQuery. Cette solution est idéale pour stocker des journaux à court et à moyen terme. Dans de nombreux secteurs, il est obligatoire de conserver les journaux pendant de longues périodes. Si vous souhaitez conserver des journaux pour effectuer des analyses historiques approfondies ou des audits complexes, vous pouvez configurer un récepteur qui vous permettra d'exporter des journaux spécifiques vers BigQuery.

Au cours de cet atelier, vous allez afficher les journaux BigQuery dans Cloud Logging, configurer un récepteur pour les exporter vers BigQuery, puis les analyser à l'aide de SQL.

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. 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.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. 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 aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

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.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console 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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 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 : Ouvrir BigQuery

Ouvrir la console BigQuery

  1. Dans la console Google Cloud, sélectionnez le menu de navigation > BigQuery.

Le message Bienvenue sur BigQuery dans Cloud Console s'affiche. Il contient un lien vers le guide de démarrage rapide et les notes de version.

  1. Cliquez sur OK.

La console BigQuery s'ouvre.

Tâche 2 : Créer un ensemble de données

  1. Dans la section Explorateur, cliquez sur les trois points à côté du projet dont le nom commence par qwiklabs-gcp-.

  2. Cliquez sur Créer un ensemble de données.

  3. Définissez le champ ID de l'ensemble de données sur bq_logs.

  4. Cliquez sur CRÉER L'ENSEMBLE DE DONNÉES.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un ensemble de données

Tâche 3 : Exécuter une requête

Commencez par exécuter une requête simple qui va générer un journal. Vous utiliserez ensuite ce journal pour configurer l'exportation de journaux depuis et vers BigQuery.

  1. Copiez et collez la requête suivante dans l'éditeur de requête BigQuery :
SELECT current_date
  1. Cliquez sur EXÉCUTER.

Tâche 4 : Configurer l'exportation de journaux depuis Cloud Logging

  1. Dans la console Cloud, accédez au menu de navigation > Journalisation > Explorateur de journaux.
Remarque : Si le message "Travail non enregistré" s'affiche, cliquez sur QUITTER.
  1. Sous Ressource, sélectionnez BigQuery, puis cliquez sur Appliquer.

  2. Cliquez à présent sur le bouton Exécuter la requête en haut à droite.

Vous devriez voir plusieurs entrées de journal correspondant à la requête.

Recherchez l'entrée contenant le mot "jobcompleted".

Journaux BigQuery

  1. Cliquez sur la flèche à gauche pour développer l'entrée.

journal développé avec la flèche sur la gauche d&#39;une entrée encadrée

Cliquez ensuite sur le bouton Développer les champs imbriqués à droite.

L'entrée de journal JSON complète s'affiche. Faites défiler la page vers le bas et examinez les différents champs.

  1. Faites défiler la page vers le haut jusqu'à l'en-tête de l'entrée, puis cliquez sur jobcompleted et sélectionnez Afficher les entrées correspondantes.

journal &quot;jobcompleted&quot;

La recherche s'ouvre avec les bons termes. Vous devrez peut-être cliquer sur le bouton Afficher la requête pour l'afficher.

générateur de requêtes

Créer un récepteur

Maintenant que vous avez les journaux qu'il vous faut, il est temps de créer un récepteur.

  1. Cliquez sur Créer un récepteur dans le menu déroulant Autres actions.

Option &quot;Créer un récepteur&quot; encadrée

  1. Remplissez les champs comme suit :
  • Nom du récepteur : JobComplete, puis cliquez sur SUIVANT.
  • Sélectionner le service de récepteur : Ensemble de données BigQuery
  • Sélectionner l'ensemble de données BigQuery (destination) : bq_logs (l'ensemble de données créé précédemment)
  • Pour les autres options, laissez les paramètres par défaut.
  1. Cliquez sur CRÉER UN RÉCEPTEUR.

Les entrées de journal suivantes de BigQuery seront désormais exportées dans une table de l'ensemble de données bq_logs.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un récepteur

Tâche 5 : Exécuter des exemples de requêtes

Pour insérer des journaux dans la nouvelle table, exécutez quelques exemples de requêtes.

  • Accédez à Cloud Shell, puis ajoutez-y chacune des commandes BigQuery suivantes :
bq query --location=us --use_legacy_sql=false --use_cache=false \ 'SELECT fullName, AVG(CL.numberOfYears) avgyears FROM `qwiklabs-resources.qlbqsamples.persons_living`, UNNEST(citiesLived) as CL GROUP BY fullname' bq query --location=us --use_legacy_sql=false --use_cache=false \ 'select month, avg(mean_temp) as avgtemp from `qwiklabs-resources.qlweather_geo.gsod` where station_number = 947680 and year = 2010 group by month order by month' bq query --location=us --use_legacy_sql=false --use_cache=false \ 'select CONCAT(departure_airport, "-", arrival_airport) as route, count(*) as numberflights from `bigquery-samples.airline_ontime_data.airline_id_codes` ac, `qwiklabs-resources.qlairline_ontime_data.flights` fl where ac.code = fl.airline_code and regexp_contains(ac.airline , r"Alaska") group by 1 order by 2 desc LIMIT 10'

Le résultat de chaque requête devrait être renvoyé.

Cliquez sur Vérifier ma progression pour valider l'objectif. Exécuter des exemples de requêtes

Tâche 6 : Afficher les journaux dans BigQuery

  1. Revenez dans BigQuery (Menu de navigation > BigQuery).

  2. Développez la ressource dont le nom commence par qwiklabs-gcp- ainsi que l'ensemble de données bq_logs.

Vous devriez voir une table nommée "cloudaudit_googleapis_com_data_access" (le nom peut varier).

Remarque : Vous devrez peut-être exécuter de nouveau les exemples de requêtes pour que la table s'affiche.
  1. Cliquez sur le nom de la table et examinez son schéma. Vous verrez qu'elle contient un grand nombre de champs.

Si vous avez cliqué sur Aperçu et que les journaux des dernières requêtes exécutées ne s'affichent pas, la raison est simple : les nouveaux journaux étant diffusés en continu dans la table, les nouvelles données peuvent être interrogées, mais elles n'apparaissent pas tout de suite dans l'aperçu.

Pour faciliter l'utilisation de la table, créez une VUE qui extrait un sous-ensemble de champs et exécute des calculs pour obtenir une métrique de durée de requête.

  1. Cliquez sur Saisir une nouvelle requête. Dans l'éditeur de requête BigQuery, exécutez la commande SQL suivante après avoir remplacé par le nom de votre projet (vous pouvez facilement copier l'ID du projet à partir du panneau Détails concernant l'atelier sur la gauche de la page de l'atelier) :
CREATE OR REPLACE VIEW bq_logs.v_querylogs AS SELECT resource.labels.project_id, protopayload_auditlog.authenticationInfo.principalEmail, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobConfiguration.query.query, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobConfiguration.query.statementType, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatus.error.message, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.startTime, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.endTime, TIMESTAMP_DIFF(protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.endTime, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.startTime, MILLISECOND)/1000 AS run_seconds, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.totalProcessedBytes, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.totalSlotMs, ARRAY(SELECT as STRUCT datasetid, tableId FROM UNNEST(protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.referencedTables)) as tables_ref, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.totalTablesProcessed, protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.queryOutputRowCount, severity FROM `<YOUR-PROJECT-ID>.bq_logs.cloudaudit_googleapis_com_data_access_*` ORDER BY startTime

Cliquez sur Vérifier ma progression pour valider l'objectif. Afficher les journaux dans BigQuery

  1. À présent, interrogez la VUE. Rédigez une nouvelle requête et exécutez la commande suivante :
SELECT * FROM bq_logs.v_querylogs
  1. Passez en revue les résultats des requêtes exécutées.

Félicitations !

Vous avez exporté des journaux BigQuery de Cloud Logging vers une table BigQuery, puis vous les avez analysés à l'aide de SQL.

Étapes suivantes et informations supplémentaires

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 : 5 février 2024

Dernier test de l'atelier : 27 septembre 2023

Copyright 2024 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.