VM Manager-Status für Ihre Organisation mit Cloud Asset Inventory und BigQuery ansehen

Wenn Sie VM Manager-Daten aus Cloud Asset Inventory nach BigQuery exportieren, können Sie erweiterte Abfragen ausführen, um zu prüfen, ob VM Manager aktiviert ist, OS Config-Agent-Versionen aufzurufen und Betriebssystemdetails für alle Projekte in Ihrer Organisation zu prüfen.

In diesem Dokument wird beschrieben, wie Sie mit VM Manager, Cloud Asset Inventory und BigQuery Berichte zum Aktivierungs- und Betriebssystemstatus von VM Manager für Compute Engine-Instanzen in Ihrer Organisation aufrufen.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Exportieren von Ressourcendaten und zum Ausführen von Abfragen in BigQuery benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Exportieren von Ressourcendaten und zum Ausführen von Abfragen in BigQuery erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Ressourcendaten zu exportieren und Abfragen in BigQuery auszuführen:

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

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

VM Manager-Daten nach BigQuery exportieren

So exportieren Sie Betriebssysteminventar- und Ressourcendaten nach BigQuery:

  1. So ermitteln Sie Ihre Organisations-ID:

    gcloud projects get-ancestors PROJECT_ID
    

    Ersetzen Sie dabei PROJECT_ID durch die Projekt-ID Ihres Zielprojekts.

  2. Exportieren Sie die von VM Manager erfassten Betriebssysteminventardaten aus den VM-Instanzen:

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

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Ihre Organisations-ID.
    • BQ_PROJECT_ID: die Projekt-ID, unter der sich Ihr BigQuery-Dataset befindet.
    • DATASET_ID: der Name Ihres BigQuery-Datasets.
  3. Ressourcenmetadaten in eine BigQuery-Tabelle exportieren:

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

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Ihre Organisations-ID.
    • BQ_PROJECT_ID: die Projekt-ID, unter der sich Ihr BigQuery-Dataset befindet.
    • DATASET_ID: Die ID Ihres BigQuery-Datasets.

Informationen zum Exportieren von OS Inventory-Snapshots finden Sie unter Asset-Snapshot exportieren.

VM Manager-Statusbericht für Ihre Organisation erstellen

Nachdem Sie die Inventardaten exportiert haben, können Sie in BigQuery eine SQL-Abfrage ausführen, um einen VM Manager-Statusbericht zu erstellen. Dieser Bericht enthält die folgenden Informationen:

  • Ob VM Manager-Betriebssysteminventardaten (vmm_data) für jede VM-Instanz gemeldet werden.
  • Der lange Name des Betriebssystems (os_info_reported_by_vmm) und die osconfig-Agent-Version (osconfig_agent_version), die von jeder Instanz gemeldet werden.
  • Ob der osconfig.googleapis.com-API-Dienst in allen Projekten in Ihrer Hierarchie aktiviert ist (osconfig_enabled_in_project).

So generieren Sie den Bericht:

  1. Rufen Sie in der Cloud de Confiance Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Fügen Sie das folgende SQL-Script in den Abfrageeditor ein:

    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"
    

    Ersetzen Sie DATASET_ID durch den Namen Ihres BigQuery-Datasets.

  3. Klicken Sie auf Ausführen.

Weitere Informationen zum Abfragen von Daten finden Sie unter Abfragen ausführen.

Nachdem Sie den Bericht erstellt haben, können Sie mit Data Studio ein benutzerdefiniertes Dashboard erstellen. Weitere Informationen finden Sie unter Daten mit Data Studio analysieren.

Nächste Schritte