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 in allen Projekten Ihrer Organisation zu prüfen.
In diesem Dokument wird beschrieben, wie Sie mit VM Manager, Cloud Asset Inventory und BigQuery Berichte zum Aktivierungsstatus von VM Manager und zum Betriebssystemstatus für Compute Engine-Instanzen in Ihrer Organisation aufrufen.
Hinweis
- VM Manager einrichten.
- Cloud Asset Inventory API aktivieren
- Erstellen Sie ein BigQuery-Dataset zum Speichern der exportierten Daten.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Aufrufen von VM Manager-Statusberichten in der gesamten Organisation haben.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich bei
Compute Engine authentifizieren, indem Sie eine der folgenden Optionen auswählen:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie nach der Installation, initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
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 Ausführen von Abfragen in BigQuery benötigen:
- Cloud-Asset-Betrachter (
roles/cloudasset.viewer) - BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor) - BigQuery-Jobnutzer (
roles/bigquery.jobUser)
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 Ausführen von Abfragen in BigQuery erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
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 OS Inventory- und Ressourcendaten nach BigQuery:
Ermitteln Sie Ihre Organisations-ID:
gcloud projects get-ancestors PROJECT_IDErsetzen Sie
PROJECT_IDdurch die Projekt-ID Ihres Projekts.Exportieren Sie die von VM Manager erfassten OS Inventory-Daten 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, in der sich Ihr BigQuery-Dataset befindet.DATASET_ID: Der Name Ihres BigQuery-Datasets.
Exportieren Sie die Ressourcenmetadaten in eine BigQuery-Tabelle:
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, in der sich Ihr BigQuery-Dataset befindet.DATASET_ID: Die ID Ihres BigQuery-Datasets.
Informationen zum Exportieren von OS Inventory-Momentaufnahmen finden Sie unter Asset-Momentaufnahme 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 für jede VM-Instanz OS Inventory-Daten von VM Manager (
vmm_data) gemeldet werden. - Der lange Name des Betriebssystems (
os_info_reported_by_vmm) und dieosconfig-Agent-Version (osconfig_agent_version), die von jeder Instanz gemeldet werden. - Ob der API-Dienst
osconfig.googleapis.comin Projekten in Ihrer Hierarchie aktiviert ist (osconfig_enabled_in_project).
So erstellen Sie den Bericht:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Fügen Sie im Abfrageeditor das folgende SQL-Skript 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_IDdurch den Namen Ihres BigQuery-Datasets.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
- VM Manager-Ressourcen mit Terraform bereitstellen
- Weitere Informationen zu OS Inventory in VM Manager
- Informationen zum Exportieren von Asset-Metadaten nach BigQuery
- BigQuery-Daten mit Data Studio visualisieren