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
- VM Manager einrichten
- Aktivieren Sie die Cloud Asset Inventory API.
- Erstellen Sie ein BigQuery-Dataset zum Speichern der exportierten Daten.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben, um VM Manager-Statusberichte in der gesamten Organisation aufzurufen.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Cloud de Confiance by S3NS Dienste und APIs überprüft. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:
Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Cloud de Confiance Console auf Dienste und APIs von Cloud de Confiance by S3NS zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:
gcloud init
-
- 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 zum Ausführen von Abfragen in BigQuery benötigen:
- Cloud Asset Viewer (
roles/cloudasset.viewer) - BigQuery Data Editor (
roles/bigquery.dataEditor) - BigQuery Job User (
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 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:
So ermitteln Sie Ihre Organisations-ID:
gcloud projects get-ancestors PROJECT_IDErsetzen Sie dabei
PROJECT_IDdurch die Projekt-ID Ihres Zielprojekts.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.
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 dieosconfig-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:
Rufen Sie in der Cloud de Confiance Console die Seite BigQuery auf.
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_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.