Monitorare l'utilizzo di Data Boost

Questa pagina descrive come utilizzare Cloud Monitoring e i log di controllo di 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. I log di controllo di Spanner consentono un'analisi dell'utilizzo più flessibile, inclusa la fornitura di metriche per utente o per ID job BigQuery.

Utilizzare 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 è mostrato Esplora metriche, selezionalo. In caso contrario, fai clic su Risorse e poi seleziona Esplora metriche.
  3. Nella parte superiore della pagina, seleziona un intervallo di tempo.
  4. Nell'elenco a discesa Metrica, nel campo Filtra per risorsa o nome metrica, inserisci spanner e premi Enter per restringere la ricerca.
  5. Nell'elenco Metrica, seleziona Istanza Cloud Spanner > Istanza > Secondo unità di elaborazione, quindi fai clic su Applica.

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

  6. Per visualizzare l'utilizzo di 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 una suddivisione dell'utilizzo per tutte le istanze:

    1. Cancella tutti i filtri facendo clic sull'icona X accanto ai campi dei filtri.
    2. Nell'elenco a discesa dell'operatore Aggregazione, seleziona Somma, quindi seleziona per instance_id.
  8. Per analizzare l'utilizzo per entità, nel menu a discesa dell'operatore Aggregazione, seleziona Somma e poi seleziona 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 analizzare l'utilizzo nel tempo per istanza o entità, come con Cloud Monitoring, gli audit log di Spanner, se abilitati e disponibili, consentono di analizzare l'utilizzo nel tempo per database o ID job BigQuery.

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

Abilita gli audit log di utilizzo di Data Boost

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

  1. Segui le istruzioni riportate in Configurare 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 in base al 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 per visualizzare l'utilizzo di Data Boost per utente, segui questa procedura:

  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 query seguente. Per modificare l'intervallo di tempo per cui viene mostrato l'utilizzo, modifica l'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 tuo progetto.

Il seguente esempio mostra l'utilizzo in unità di elaborazione per 4 entità.

Utilizzo di Data Boost per utente dai log di controllo

Visualizza l'utilizzo per ID job BigQuery

Per eseguire query sui log di controllo 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 Log Analytics.

  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 tuo progetto.

Il seguente esempio mostra l'utilizzo per ID job BigQuery.

Utilizzo di Data Boost per ID job

Visualizzare l'utilizzo in base al testo SQL di BigQuery

Per visualizzare l'utilizzo di Data Boost per più job BigQuery aggregati in base al 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 Log Analytics.

  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 in base al testo SQL.

Utilizzo di Data Boost per testo SQL

Creare un avviso Data Boost

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

Passaggi successivi