Ver o status do VM Manager da sua organização usando o Inventário de recursos do Cloud e o BigQuery

Ao exportar dados do VM Manager do Inventário de recursos do Cloud para o BigQuery, é possível executar consultas avançadas para verificar se o VM Manager está ativado, conferir as versões do agente de configuração do SO e inspecionar os detalhes do sistema operacional em todos os projetos da sua organização.

Neste documento, descrevemos como usar o VM Manager, o Inventário de recursos do Cloud e o BigQuery para ver os relatórios de ativação do VM Manager e de status do sistema operacional para instâncias do Compute Engine em toda a organização.

Antes de começar

Funções exigidas

Para ter as permissões necessárias para exportar dados de recursos e executar consultas no BigQuery, peça ao administrador para conceder a você os papéis do IAM a seguir no projeto, na pasta ou na organização:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para exportar dados de recursos e executar consultas no BigQuery. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para exportar dados de recursos e executar consultas no BigQuery:

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

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Exportar dados do VM Manager para o BigQuery

Para exportar dados de inventário e recursos do SO para o BigQuery, faça o seguinte:

  1. Identifique o ID da sua organização:

    gcloud projects get-ancestors PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto de destino.

  2. Exporte os dados do inventário do SO coletados pelo VM Manager das instâncias de 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"
    

    Substitua:

    • ORGANIZATION_ID: o ID da organização.
    • BQ_PROJECT_ID: o ID do projeto em que o conjunto de dados do BigQuery está localizado.
    • DATASET_ID: o nome do conjunto de dados do BigQuery.
  3. Exporte os metadados do recurso para uma tabela do BigQuery:

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

    Substitua:

    • ORGANIZATION_ID: o código da sua organização.
    • BQ_PROJECT_ID: o ID do projeto em que o conjunto de dados do BigQuery está localizado.
    • DATASET_ID: o ID do conjunto de dados do BigQuery.

Para saber como exportar snapshots do inventário do SO, consulte Exportar snapshot de recurso.

Gerar um relatório de status do VM Manager para sua organização

Depois de exportar os dados do inventário, você pode executar uma consulta SQL no BigQuery para gerar um relatório de status do VM Manager. Esse relatório fornece as seguintes informações:

  • Se os dados de inventário do SO do VM Manager estão sendo informados (vmm_data) para cada instância de VM.
  • O nome longo do sistema operacional (os_info_reported_by_vmm) e a versão do agente osconfig (osconfig_agent_version) informados por cada instância.
  • Se o serviço da API osconfig.googleapis.com está ativado (osconfig_enabled_in_project) em todos os projetos da sua hierarquia.

Para gerar o relatório, siga estas etapas:

  1. No console do Google Cloud , acesse a página BigQuery.

    Acessar o BigQuery

  2. No editor de consultas, cole o seguinte 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"
    

    Substitua DATASET_ID pelo nome do seu conjunto de dados do BigQuery.

  3. Clique em Executar.

Para mais informações sobre como consultar dados, consulte Executar consultas.

Depois de gerar o relatório, use o Data Studio para criar um painel personalizado. Para mais informações, consulte Analisar dados com o Data Studio.

A seguir