Esportando i dati di VM Manager da Cloud Asset Inventory a BigQuery, puoi eseguire query avanzate per verificare se VM Manager è abilitato, visualizzare le versioni dell'agente OS Config e ispezionare i dettagli del sistema operativo in tutti i progetti della tua organizzazione.
Questo documento descrive come utilizzare VM Manager, Cloud Asset Inventory e BigQuery per visualizzare i report sullo stato di abilitazione e del sistema operativo di VM Manager per le istanze Compute Engine nella tua organizzazione.
Prima di iniziare
- Configura VM Manager.
- Abilita l'API Cloud Asset Inventory.
- Crea un set di dati BigQuery per archiviare i dati esportati.
- Verifica di disporre delle autorizzazioni necessarie per visualizzare i report sullo stato di VM Manager nell'organizzazione.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
Console
Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per esportare i dati delle risorse ed eseguire query in BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione:
- Visualizzatore asset Cloud (
roles/cloudasset.viewer) - Editor dati BigQuery (
roles/bigquery.dataEditor) - Utente job BigQuery (
roles/bigquery.jobUser)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per esportare i dati delle risorse ed eseguire query in BigQuery. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per esportare i dati delle risorse ed eseguire query in BigQuery sono necessarie le seguenti autorizzazioni:
-
cloudasset.assets.exportOSInventories -
cloudasset.assets.exportResource -
bigquery.datasets.get -
bigquery.tables.create -
bigquery.tables.update -
bigquery.tables.get -
bigquery.jobs.create
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Esporta i dati di VM Manager in BigQuery
Per esportare i dati dell'inventario del sistema operativo e delle risorse in BigQuery:
Identifica l'ID organizzazione:
gcloud projects get-ancestors PROJECT_IDSostituisci
PROJECT_IDcon l'ID progetto del tuo progetto.Esporta i dati dell'inventario del sistema operativo raccolti da VM Manager dalle istanze 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"Sostituisci quanto segue:
ORGANIZATION_ID: il tuo ID organizzazione.BQ_PROJECT_ID: l'ID progetto in cui si trova il set di dati BigQuery.DATASET_ID: il nome del set di dati BigQuery.
Esporta i metadati delle risorse in una tabella BigQuery:
gcloud asset export \ --content-type=resource \ --organization=ORGANIZATION_ID \ --per-asset-type \ --bigquery-table="projects/BQ_PROJECT_ID/datasets/DATASET_ID/tables/res"Sostituisci quanto segue:
ORGANIZATION_ID: l'ID organizzazione.BQ_PROJECT_ID: l'ID progetto in cui si trova il set di dati BigQuery.DATASET_ID: l'ID del set di dati BigQuery.
Per scoprire come esportare gli snapshot dell'inventario del sistema operativo, consulta Esportare lo snapshot degli asset.
Genera un report sullo stato di VM Manager per la tua organizzazione
Dopo aver esportato i dati dell'inventario, puoi eseguire una query SQL in BigQuery per generare un report sullo stato di VM Manager. Questo report fornisce le seguenti informazioni:
- Se i dati dell'inventario del sistema operativo di VM Manager vengono segnalati (
vmm_data) per ogni istanza VM. - Il nome completo del sistema operativo (
os_info_reported_by_vmm) e la versione dell'agenteosconfig(osconfig_agent_version) segnalati da ogni istanza. - Se il servizio API
osconfig.googleapis.comè abilitato (osconfig_enabled_in_project) nei progetti della gerarchia.
Per generare il report:
Nella Google Cloud console, vai alla pagina BigQuery.
Nell'editor di query, incolla il seguente script SQL:
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"Sostituisci
DATASET_IDcon il nome del set di dati BigQuery.Fai clic su Esegui.
Per saperne di più sull'esecuzione di query sui dati, consulta Eseguire query.
Dopo aver generato il report, puoi utilizzare Data Studio per creare una dashboard personalizzata. Per saperne di più, consulta Analizzare i dati con Data Studio.
Passaggi successivi
- Esegui il provisioning delle risorse di VM Manager utilizzando Terraform.
- Scopri di più sull'inventario del sistema operativo in VM Manager.
- Scopri come esportare i metadati degli asset in BigQuery.
- Utilizza Data Studio per visualizzare i dati di BigQuery.