Surveiller l'utilisation de Data Boost

Cette page explique comment utiliser les audits Cloud Monitoring et Spanner. des journaux pour surveiller et analyser l'utilisation de Spanner Data Boost.

Cloud Monitoring permet de suivre l'utilisation totale au fil du temps et de la répartir par utilisateur. Les journaux d'audit Spanner permettent une analyse flexible de l'utilisation, y compris en fournissant des métriques par utilisateur ou par ID de la tâche BigQuery.

Utiliser Cloud Monitoring pour suivre l'utilisation de l'option Data Boost

Pour suivre l'utilisation globale de Data Boost:

  1. Dans Google Cloud Console, accédez à Monitoring.
    Accéder à Monitoring
  2. Si l'explorateur de métriques s'affiche dans le menu de navigation, sélectionnez-le. Sinon, cliquez sur Ressources, puis sélectionnez Explorateur de métriques.
  3. En haut de la page, sélectionnez un intervalle de temps.
  4. Dans la liste déroulante Métrique, dans la section Filtrer par ressource ou par métrique nom, saisissez spanner et appuyez sur Enter pour affiner la recherche.
  5. Dans la liste Métrique, sélectionnez Instance Cloud Spanner > Instance > Ensuite, cliquez sur l'unité de traitement, puis sur Appliquer.

    Cela crée un graphique en courbes de l'utilisation agrégée de Data Boost sur toutes les instances Spanner.

  6. Pour afficher l'utilisation d'une instance particulière, procédez comme suit:

    1. Utilisez le champ Filtre pour ajouter des filtres, tels que l'ID d'instance.
    2. Cliquez sur + pour ajouter d'autres attributs.
  7. Pour afficher la répartition de l'utilisation par instance, procédez comme suit:

    1. Pour supprimer tous les filtres, cliquez sur l'icône X à côté des champs de filtre.
    2. Dans la liste déroulante de l'opérateur Agrégation, sélectionnez Sum (Somme), puis par instance_id.
  8. Pour ventiler l'utilisation par principal, sélectionnez Somme dans le menu déroulant de l'opérateur Agrégation, puis par credential_id.

Utiliser les journaux d'audit pour analyser l'utilisation de Data Boost

Les journaux d'audit Spanner permettent une analyse plus flexible Utilisation de Data Boost. En plus de pouvoir ventiler l'utilisation au fil du temps par instance ou par principal, comme avec Cloud Monitoring, les journaux d'audit Spanner, s'ils sont activés et disponibles, permettent de ventiler l'utilisation au fil du temps par base de données ou par ID de tâche BigQuery.

L'activation des journaux d'audit peut entraîner des frais supplémentaires. Pour en savoir plus sur la tarification de Logging, consultez la section Tarifs de Google Cloud Observability : Cloud Logging.

Activer les journaux d'audit de l'utilisation de Data Boost

Vous devez activer les journaux d'audit pour l'accès aux données pour Spanner avant de pouvoir collecter des données d'utilisation pour Data Boost. Pour cela, procédez comme suit :

  1. Suivez les instructions fournies dans l'article Configurez les journaux d'audit des accès aux données à l'aide de la console Google Cloud.
  2. Activez le type de journal Data Read (Lecture des données) pour le service API Spanner.
  3. Pour obtenir l'utilisation de Data Boost par le texte SQL de la tâche BigQuery, assurez-vous que les journaux d'audit de BigQuery sont également activés.

Afficher l'utilisation par compte principal

Pour interroger les journaux d'audit et consulter l'utilisation de Data Boost par utilisateur, suivez procédez comme suit:

  1. Accédez à l'explorateur de journaux dans la console Google Cloud.

    Accéder à l'explorateur de journaux

  2. Dans le menu de navigation, cliquez sur Log Analytics.

  3. Pour afficher l'utilisation par utilisateur et par base de données au cours des sept derniers jours, exécutez la requête suivante. Pour modifier la période d'affichage de l'utilisation, modifiez la Expression timestamp dans la clause WHERE.

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email;
    

    Remplacez PROJECT_NAME par le nom de votre projet.

L'exemple suivant illustre l'utilisation en unités de traitement pour quatre comptes principaux.

Utilisation de l'option Data Boost par utilisateur à partir des journaux d'audit

Afficher l'utilisation par ID de tâche BigQuery

À interroger les journaux d'audit pour afficher l'utilisation de Data Boost ventilée par l'utilisateur et l'ID de la tâche BigQuery, procédez comme suit:

  1. Accédez à l'explorateur de journaux dans la console Google Cloud.

    Accéder à l'explorateur de journaux

  2. Dans le menu de navigation, cliquez sur Analyse de journaux.

  3. Exécutez la requête suivante :

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email,
      IFNULL(JSON_VALUE(labels.data_boost_workload_id), 'not from BQ') AS job_id
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email, job_id;
    

    Remplacez PROJECT_NAME par le nom de votre projet.

L'exemple suivant montre l'utilisation par ID de tâche BigQuery.

Consommation de Data Boost par ID de tâche

Afficher l'utilisation par texte SQL BigQuery

Pour afficher l'utilisation de Data Boost pour plusieurs jobs BigQuery agrégées par le texte SQL de ces jobs, procédez comme suit :

  1. Accédez à l'explorateur de journaux dans la console Google Cloud.

    Accéder à l'explorateur de journaux

  2. Dans le menu de navigation, cliquez sur Log Analytics.

  3. Exécutez la requête suivante :

    SELECT
      SUM(
        CAST(
          JSON_VALUE(db.labels.data_boost_usage)
          AS INT64)) AS usage,
      JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        AS bq_query
    FROM
      `PROJECT_NAME.global._Default._AllLogs` db,
      `PROJECT_NAME.global._Default._AllLogs` bq
    WHERE
      db.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND db.resource.type = 'spanner_instance'
      AND JSON_VALUE(db.labels.data_boost_usage) != ''
      AND db.operation.last IS NULL
      AND bq.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND bq.proto_payload.audit_log.method_name
        = 'google.cloud.bigquery.v2.JobService.InsertJob'
      AND bq.resource.type = 'bigquery_project'
      AND JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        IS NOT NULL
      AND JSON_VALUE(db.labels.data_boost_workload_id)
        = REGEXP_EXTRACT(bq.proto_payload.audit_log.resource_name, '[^/]*$')
    GROUP BY bq_query
    ORDER BY usage DESC
    

    Remplacez PROJECT_NAME par le nom de votre projet.

L'exemple suivant montre l'utilisation du boost de données par texte SQL.

Utilisation de Data Boost par texte SQL

Créer une alerte Data Boost

Pour créer une alerte qui est émise lorsque l'utilisation de Data Boost dépasse un seuil prédéfini, consultez la section Définir une alerte pour l'utilisation de Data Boost.

Étape suivante