Monitora l'utilizzo di Data Boost

Questa pagina descrive come utilizzare i log di controllo di Cloud Monitoring e Spanner per monitorare e analizzare l'utilizzo di Spanner Data Boost.

Cloud Monitoring consente di monitorare l'utilizzo totale nel tempo e di suddividerlo per utente. Gli audit log di Spanner consentono di analisi dell'utilizzo flessibile, che include la fornitura di metriche per utente ID job BigQuery.

Usa Cloud Monitoring per monitorare l'utilizzo di Data Boost

Per monitorare l'utilizzo complessivo di Data Boost:

  1. Nella console Google Cloud, vai a Monitoring.
    Vai a Monitoring
  2. Se nel menu di navigazione è visualizzato Esplora metriche, selezionalo. In caso contrario, fai clic su Risorse e seleziona Esplora metriche.
  3. Nella parte superiore della pagina, seleziona un intervallo di tempo.
  4. Nell'elenco a discesa Metrica, in Filtra per risorsa o metrica name, inserisci spanner e premi Enter per restringere la ricerca.
  5. Nell'elenco Metrica, seleziona Inistanza Cloud Spanner > Instanzia > Unità di elaborazione al secondo e poi fai clic su Applica.

    Viene creato un grafico a linee dell'utilizzo aggregato di Data Boost su tutte le istanze Spanner.

  6. Per visualizzare l'utilizzo per una determinata istanza:

    1. Utilizza il campo Filtro per aggiungere filtri, ad esempio l'ID istanza.
    2. Fai clic su + per aggiungere altri attributi.
  7. Per visualizzare un'analisi dettagliata dell'utilizzo da parte di tutte le istanze:

    1. Per eliminare tutti i filtri, fai clic sull'icona X accanto ai campi del filtro.
    2. Nell'elenco a discesa dell'operatore Aggregazione, seleziona Somma, quindi seleziona in base a instance_id.
  8. Per suddividere l'utilizzo per entità, nel menu a discesa dell'operatore Aggregazione, selezionare Somma e poi credential_id.

Utilizzare i log di controllo per analizzare l'utilizzo di Data Boost

I log di controllo di Spanner consentono un'analisi più flessibile dell'utilizzo di Data Boost. Oltre alla possibilità di suddividere l'utilizzo nel tempo per istanza o entità, come con Cloud Monitoring, Gli audit log di Spanner, se abilitati e disponibili, consentono la suddivisione Utilizzo nel tempo per database o ID job BigQuery.

L'attivazione degli audit log può comportare costi aggiuntivi. Per informazioni su Prezzi di Logging, consulta Prezzi di Google Cloud Observability: Cloud Logging.

Abilita gli audit log di utilizzo di Data Boost

Per poter raccogliere i dati di utilizzo di Data Boost, devi attivare gli audit log di accesso ai dati per Spanner. Per farlo, segui questi passaggi:

  1. Segui le istruzioni in Configura gli audit log di accesso ai dati con la console Google Cloud.
  2. Abilita il tipo di log Lettura dati per il servizio API Spanner.
  3. Per ottenere l'utilizzo di Data Boost dal testo SQL del job BigQuery, assicurati che siano attivati anche i log di controllo per BigQuery.

Visualizzare l'utilizzo per entità

Per eseguire query sui log di controllo in modo da visualizzare l'utilizzo di Data Boost per utente, segui questi passaggi:

  1. Vai a Esplora log nella console Google Cloud.

    Vai a Esplora log

  2. Nel menu di navigazione, fai clic su Log Analytics.

  3. Per mostrare l'utilizzo per utente e database negli ultimi 7 giorni, esegui la seguente query. Per cambiare l'intervallo di tempo per cui viene visualizzato l'utilizzo, modifica Espressione timestamp nella clausola 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;
    

    Sostituisci PROJECT_NAME con il nome del progetto.

L'esempio seguente mostra l'utilizzo in unità di elaborazione per 4 principali.

Utilizzo di Data Boost per utente proveniente dagli audit log

Visualizza utilizzo per ID job BigQuery

Per eseguire query sugli audit log per visualizzare l'utilizzo di Data Boost suddiviso per database, utente e ID job BigQuery, segui questi passaggi:

  1. Vai a Esplora log nella console Google Cloud.

    Vai a Esplora log

  2. Nel menu di navigazione, fai clic su Analisi dei log.

  3. Esegui questa query:

    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;
    

    Sostituisci PROJECT_NAME con il nome del progetto.

L'esempio seguente mostra l'utilizzo in base all'ID job BigQuery.

Utilizzo di Data Boost per ID job

Visualizza l'utilizzo in base al testo SQL di BigQuery

Per visualizzare l'utilizzo di Data Boost per più job BigQuery aggregati dal testo SQL di questi job:

  1. Vai a Esplora log nella console Google Cloud.

    Vai a Esplora log

  2. Nel menu di navigazione, fai clic su Analisi dei log.

  3. Esegui questa query:

    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
    

    Sostituisci PROJECT_NAME con il nome del tuo progetto.

L'esempio seguente mostra l'utilizzo di Data Boost dal testo SQL.

Utilizzo di Data Boost per testo SQL

Crea un avviso Data Boost

Per creare un avviso che viene inviato quando l'utilizzo di Data Boost supera una soglia predefinita, Imposta un avviso per l'utilizzo di Data Boost.

Passaggi successivi