Melihat status VM Manager untuk organisasi Anda menggunakan Inventaris Aset Cloud dan BigQuery

Dengan mengekspor data VM Manager dari Inventaris Aset Cloud ke BigQuery, Anda dapat menjalankan kueri lanjutan untuk memeriksa apakah VM Manager diaktifkan, melihat versi agen OS Config, dan memeriksa detail sistem operasi di semua project dalam organisasi Anda.

Dokumen ini menjelaskan cara menggunakan VM Manager, Inventaris Aset Cloud, dan BigQuery untuk melihat laporan status pengaktifan VM Manager dan sistem operasi untuk instance Compute Engine di seluruh organisasi Anda.

Sebelum memulai

  • Siapkan VM Manager.
  • Aktifkan Cloud Asset Inventory API.
  • Buat set data BigQuery untuk menyimpan data yang diekspor.
  • Pastikan Anda memiliki izin yang diperlukan untuk melihat laporan status VM Manager di seluruh organisasi.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  • Tetapkan region dan zona default.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna mengekspor data resource dan menjalankan kueri di BigQuery, minta administrator Anda untuk memberi Anda peran IAM berikut pada project, folder, atau organisasi:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengekspor data resource dan menjalankan kueri di BigQuery. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengekspor data resource dan menjalankan kueri di BigQuery:

  • cloudasset.assets.exportOSInventories
  • cloudasset.assets.exportResource
  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.update
  • bigquery.tables.get
  • bigquery.jobs.create

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengekspor data VM Manager ke BigQuery

Untuk mengekspor data inventaris dan resource OS ke BigQuery, lakukan hal berikut:

  1. Identifikasi ID organisasi Anda:

    gcloud projects get-ancestors PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID project Anda.

  2. Mengekspor data inventaris OS yang dikumpulkan oleh VM Manager dari instance VM:

    gcloud asset export \
        --content-type=os-inventory \
        --organization=ORGANIZATION_ID \
        --per-asset-type \
        --bigquery-table="projects/BQ_PROJECT_ID/datasets/DATASET_ID/tables/os"
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda.
    • BQ_PROJECT_ID: ID project tempat set data BigQuery Anda berada.
    • DATASET_ID: nama set data BigQuery Anda.
  3. Mengekspor metadata resource ke tabel BigQuery:

    gcloud asset export \
        --content-type=resource \
        --organization=ORGANIZATION_ID \
        --per-asset-type \
        --bigquery-table="projects/BQ_PROJECT_ID/datasets/DATASET_ID/tables/res"
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda.
    • BQ_PROJECT_ID: ID project tempat set data BigQuery Anda berada.
    • DATASET_ID: ID set data BigQuery Anda.

Untuk mempelajari cara mengekspor snapshot inventaris OS, lihat Mengekspor snapshot aset.

Membuat laporan status VM Manager untuk organisasi Anda

Setelah mengekspor data inventaris, Anda dapat menjalankan kueri SQL di BigQuery untuk membuat laporan status VM Manager. Laporan ini memberikan informasi berikut:

  • Apakah data inventaris OS VM Manager dilaporkan (vmm_data) untuk setiap instance VM.
  • Nama panjang sistem operasi (os_info_reported_by_vmm) dan versi agen osconfig (osconfig_agent_version) yang dilaporkan oleh setiap instance.
  • Apakah layanan API osconfig.googleapis.com diaktifkan (osconfig_enabled_in_project) di seluruh project dalam hierarki Anda.

Untuk membuat laporan, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, tempel skrip SQL berikut:

    SELECT
      vms.project,
      vms.zone,
      vms.instance_name,
      vms.instance_status,
      vms.vmm_data,
      vms.instance_creation_time,
      vms.vmm_info_update_time,
      --  vms.gce_image,
      vms.os_info_reported_by_vmm,
      vms.service_account,
      service.resource.data.state AS osconfig_enabled_in_project,
      vms.osconfig_agent_version
      --  "INFO N/A" as enable_osconfig_metadata_set_in_project,
      --  "INFO N/A" as enable_osconfig_metadata_set_in_instance,
    FROM
    (
      SELECT
        SPLIT(name, '/')[OFFSET(8)] AS instance_name,
        SPLIT(name, '/')[OFFSET(4)] AS project,
        SPLIT(name, '/')[OFFSET(6)] AS zone,
        instances.ancestors,
        instances.resource.data.creationTimestamp AS instance_creation_time,
        instances.resource.data.serviceAccounts[SAFE_OFFSET(0)].email AS service_account,
        CASE WHEN inventory.os_inventory IS NOT NULL THEN TRUE ELSE FALSE END AS vmm_data,
        /*  SPLIT(resource.data.disks[OFFSET(0)].licenses[OFFSET(0)], '/')[OFFSET(9)] as gce_image, */
        inventory.os_inventory.os_info.long_name AS os_info_reported_by_vmm,
        inventory.os_inventory.update_time AS vmm_info_update_time,
        instances.resource.data.status AS instance_status,
        inventory.os_inventory.os_info.osconfig_agent_version
      FROM
        DATASET_ID.res_compute_googleapis_com_Instance AS instances
        LEFT JOIN DATASET_ID.os_compute_googleapis_com_Instance AS inventory
      USING (name)
      --  WHERE instances.resource.data.status = "RUNNING"
    ) AS vms
    LEFT JOIN DATASET_ID.res_serviceusage_googleapis_com_Service AS service
      ON vms.ancestors[OFFSET(0)] = service.resource.data.parent
    WHERE service.resource.data.name = "osconfig.googleapis.com"
    

    Ganti DATASET_ID dengan nama set data BigQuery Anda.

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang pembuatan kueri data, lihat Menjalankan kueri.

Setelah membuat laporan, Anda dapat menggunakan Data Studio untuk membuat dasbor kustom. Untuk mengetahui informasi selengkapnya, lihat Menganalisis data dengan Data Studio.

Langkah berikutnya