Memantau penggunaan Data Boost

Halaman ini menjelaskan cara menggunakan log audit Cloud Monitoring dan Spanner untuk memantau dan menganalisis penggunaan Spanner Data Boost.

Cloud Monitoring memberikan kemampuan untuk melacak total penggunaan dari waktu ke waktu dan memecah penggunaan tersebut menurut pengguna. Log audit Spanner memungkinkan analisis penggunaan yang lebih fleksibel, termasuk memberikan metrik menurut pengguna atau menurut ID tugas BigQuery.

Menggunakan Cloud Monitoring untuk melacak penggunaan Data Boost

Ikuti langkah-langkah berikut untuk melacak penggunaan Data Boost secara keseluruhan:

  1. Di konsol Google Cloud, buka Dasbor Monitoring
    Buka Monitoring
  2. Jika Metrics Explorer ditampilkan di menu navigasi, pilih metrik tersebut. Jika tidak, klik Resources, lalu pilih Metrics Explorer.
  3. Di bagian atas halaman, pilih interval waktu.
  4. Di menu drop-down Metric, di kolom Filter by resource or metric name, masukkan spanner dan tekan Enter untuk mempersempit penelusuran.
  5. Dalam daftar Metric, pilih Cloud Spanner Instance > Instance > Processing unit second, lalu klik Apply.

    Tindakan ini akan membuat diagram garis penggunaan Data Boost gabungan di semua instance Spanner.

  6. Untuk melihat penggunaan untuk instance tertentu, ikuti langkah-langkah berikut:

    1. Gunakan kolom Filter untuk menambahkan filter, seperti ID instance.
    2. Klik + untuk menambahkan atribut lainnya.
  7. Untuk melihat perincian penggunaan menurut semua instance, ikuti langkah-langkah berikut:

    1. Hapus filter apa pun dengan mengklik ikon X di samping kolom filter.
    2. Di menu drop-down operator Aggregation, pilih Sum, lalu pilih berdasarkan instance_id.
  8. Untuk mengelompokkan penggunaan menurut akun utama, di menu drop-down operator Aggregation, pilih Sum, lalu pilih berdasarkan credential_id.

Menggunakan log audit untuk menganalisis penggunaan Data Boost

Log audit Spanner memungkinkan analisis penggunaan Data Boost yang lebih fleksibel. Selain kemampuan untuk mengelompokkan penggunaan seiring waktu menurut instance atau akun utama seperti dengan Cloud Monitoring, log audit Spanner, jika diaktifkan dan tersedia, memungkinkan pengelompokan penggunaan seiring waktu menurut database atau ID tugas BigQuery.

Mengaktifkan log audit dapat menimbulkan biaya tambahan. Untuk mengetahui informasi tentang harga Logging, lihat harga Google Cloud Observability: Cloud Logging.

Mengaktifkan log audit penggunaan Data Boost

Anda harus mengaktifkan log audit akses data untuk Spanner sebelum dapat mengumpulkan data penggunaan untuk Data Boost. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Ikuti petunjuk di artikel Mengonfigurasi log audit Akses Data dengan Konsol Google Cloud.
  2. Aktifkan jenis log Pembacaan Data untuk layanan Spanner API.
  3. Untuk mendapatkan penggunaan Data Boost berdasarkan teks SQL tugas BigQuery, pastikan log audit untuk BigQuery juga diaktifkan.

Melihat penggunaan menurut akun utama

Untuk membuat kueri log audit guna melihat penggunaan Data Boost menurut pengguna, ikuti langkah-langkah berikut:

  1. Buka Logs Explorer di konsol Google Cloud.

    Buka Logs Explorer

  2. Di menu navigasi, klik Log Analytics.

  3. Untuk menampilkan penggunaan menurut pengguna dan database selama 7 hari terakhir, jalankan kueri berikut. Untuk mengubah rentang waktu penggunaan yang ditampilkan, ubah ekspresi timestamp dalam klausa 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;
    

    Ganti PROJECT_NAME dengan nama project Anda.

Contoh berikut menunjukkan penggunaan dalam unit pemrosesan untuk 4 akun utama.

Penggunaan Data Boost oleh pengguna dari log audit

Melihat penggunaan berdasarkan ID tugas BigQuery

Untuk membuat kueri log audit guna melihat penggunaan Data Boost yang dikelompokkan menurut database, pengguna, dan ID tugas BigQuery, ikuti langkah-langkah berikut:

  1. Buka Logs Explorer di konsol Google Cloud.

    Buka Logs Explorer

  2. Di menu navigasi, klik Log Analytics.

  3. Jalankan kueri berikut:

    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;
    

    Ganti PROJECT_NAME dengan nama project Anda.

Contoh berikut menunjukkan penggunaan berdasarkan ID tugas BigQuery.

Penggunaan Data Boost menurut ID tugas

Melihat penggunaan berdasarkan teks SQL BigQuery

Untuk melihat penggunaan Data Boost untuk beberapa tugas BigQuery yang digabungkan oleh teks SQL tugas tersebut, ikuti langkah-langkah berikut:

  1. Buka Logs Explorer di konsol Google Cloud.

    Buka Logs Explorer

  2. Di menu navigasi, klik Log Analytics.

  3. Jalankan kueri berikut:

    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
    

    Ganti PROJECT_NAME dengan nama project Anda.

Contoh berikut menunjukkan penggunaan Data Boost berdasarkan teks SQL.

Penggunaan Data Boost menurut teks SQL

Membuat pemberitahuan Data Boost

Untuk membuat pemberitahuan yang dikeluarkan saat penggunaan Data Boost melebihi batas yang telah ditentukan, lihat Menetapkan pemberitahuan untuk penggunaan Data Boost.

Langkah selanjutnya