Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

VM Manager-Daten aufrufen

In diesem Thema wird beschrieben, wie Sie Cloud Asset Inventory und das OS-Inventar des VM-Managers so konfigurieren, dass die Laufzeitinformationen Ihrer VMs angezeigt werden.

Hinweis

Führen Sie zuerst die folgenden Schritte aus.

  1. Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie die API-Befehle ausführen werden.
    Cloud Asset Inventory API aktivieren

  2. Konfigurieren Sie die Berechtigungen, die zum Aufrufen der Cloud Asset Inventory API erforderlich sind. Verwenden Sie dazu entweder das gcloud-Tool oder die API.

  3. Führen Sie die folgenden Schritte aus, um Ihre Umgebung einzurichten:

    gcloud

    Installieren Sie das Cloud SDK auf Ihrem lokalen Client, um Ihre Umgebung so einzurichten, dass die Cloud Asset Inventory API mit dem gcloud-Tool aufgerufen wird.

    API

    Führen Sie die folgenden Schritte aus, um Ihre Umgebung zum Aufrufen der Cloud Asset Inventory API mit dem Unix-Befehl curl einzurichten.

    1. Installieren Sie oauth2l auf Ihrem lokalen Gerät, um mit dem Google OAuth-System zu interagieren.
    2. Prüfen Sie, ob Sie Zugriff auf den Unix-Befehl curl haben.
    3. Sie müssen Ihrem Konto eine der folgenden Rollen für Ihr Projekt, Ihren Ordner oder Ihre Organisation zuweisen.

      • Rolle „Cloud-Asset-Betrachter“ (roles/cloudasset.viewer)
      • Einfache Inhaberrolle (roles/owner)

OS Inventory aktivieren

Zum Aktivieren von OS Inventory, das Teil der Suite VM-Manager ist, müssen Sie die relevanten Schritte unter VM-Manager einrichten ausführen.

Berechtigungen festlegen

Sorgen Sie dafür, dass Ihr Konto die Berechtigung cloudasset.assets.exportOSInventories für die Root-Ressource hat, die die zu exportierenden Assets enthält. Sie können diese Berechtigung einzeln gewähren oder eine der folgenden Rollen für die Stammressource zuweisen.

  • Rolle "Cloud-Asset-Betrachter" (roles/cloudasset.viewer)
  • Rolle "Cloud-Asset-Inhaber" (roles/cloudasset.owner)

Weitere Informationen zum Konfigurieren von Berechtigungen und IAM-Rollen von Cloud Asset Inventory

VM Manager-Daten nach BigQuery exportieren

Führen Sie die folgenden Schritte aus, um OS Inventory-Snapshot zu einem bestimmten Zeitstempel zu exportieren.

gcloud

BIGQUERY_TABLE.

  gcloud asset export \
     --content-type os-inventory \
     --project 'PROJECT_ID' \
     --snapshot-time 'SNAPSHOT_TIME' \
     --bigquery-table 'BIGQUERY_TABLE' \
     --output-bigquery-force

Wobei:

  • PROJECT_ID ist die ID des Projekts, dessen Metadaten exportiert werden. Dieses Projekt kann das Projekt sein, in dem Sie den Export ausführen, oder ein anderes Projekt.
  • SNAPSHOT_TIME (Optional) ist die Zeit, zu der Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder eine Zeit in der Vergangenheit sein. Standardmäßig wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Weitere Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.
  • BIGQUERY_TABLE ist der Name der Tabelle, in die Sie Ihre Metadaten im Format projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME exportieren.
  • --output-bigquery-force überschreibt die Zieltabelle, falls sie vorhanden ist.

Wenn Sie die Assets einer Organisation oder eines Ordners exportieren möchten, können Sie anstelle von --project eines der folgenden Flags verwenden.

API

gcurl -d '{"contentType":"OS_INVENTORY", \
  "outputConfig":{ \
    "bigqueryDestination": { \
      "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",\
      "table": "TABLE_NAME", \
      "force": true \
    } \
  }}' \
  https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Weitere Informationen zur Methode "exportAssets"

VM Manager-Daten nach Cloud Storage exportieren

Führen Sie den folgenden Befehl des gcloud-Tools aus, um das Inventar der VM-Instanz von VM-Instanzen zu exportieren.

gcloud

gcloud asset export \
 --content-type os-inventory \
 --project PROJECT_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"OS_INVENTORY", "outputConfig":{ \
          "gcsDestination": {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Weitere Informationen zur Methode "exportAssets"

VM Manager-Datenverlauf abrufen

Führen Sie die folgenden Schritte aus, um über die Cloud Asset API den Verlauf der Erstell-, Lösch- und Aktualisierungsereignisse bestimmter Assets in einem Projekt innerhalb eines bestimmten Zeitraums abzurufen.

gcloud

Führen Sie den folgenden Befehl aus, um den Verlauf des gesamten Betriebssysteminventars der angegebenen Assets in einem Projekt abzurufen.

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
gcloud asset get-history --project='PROJECT_ID' \
  --asset-names='//compute.googleapis.com/projects/my_project_number/global/instances/instancel' --start-time=$YESTERDAY \
  --end-time=$NOW \
  --content-type='os-inventory'
 

API

Mit den in diesem Abschnitt dargestellten Befehlen wird der Verlauf eines Projekts abgerufen. Wenn Sie den Verlauf einer Organisation abrufen möchten, verwenden Sie die REST-Methode https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:batchGetAssetsHistory im Befehl gcurl.

  1. Prüfen Sie, ob Sie die Cloud Asset API aufrufen können. Führen Sie dafür die Schritte unter Konto konfigurieren aus.
  2. Bestimmen Sie den vollständigen Ressourcennamen des Assets, dessen Verlauf Sie abrufen möchten. Eine Liste der mit der Cloud Asset API formatierten Namen finden Sie hier. Im folgenden Beispiel wird //compute.googleapis.com/projects/my_project_number/global/instances/instancel verwendet.
  3. Legen Sie den Start und das Ende des Zeitraums im Format "RFC 3339 UTC" fest. Erforderlich ist nur die Startzeit. Weitere Informationen finden Sie unter TimeWindow.
  4. Legen Sie fest, auf welcher Ebene Sie den Verlauf von Assets abrufen möchten. Die folgenden Beispielbefehle zeigen, wie Sie den Verlauf unterschiedlicher Arten von Assets abrufen.

Führen Sie den folgenden Befehl mit der Datei ~/credentials.json aus, um das Zugriffstoken abzurufen.

oauth2l header --json ~/credentials.json cloud-platform

Die Ausgabe sollte in etwa so aussehen, wobei y29.xxxxxx als Zugriffstoken verwendet wird:

Authorization: Bearer y29.xxxxxxx

Legen Sie die Variable TOKEN auf das Zugriffstoken fest:

TOKEN=y29.xxxxxxx

Führen Sie den folgenden Befehl aus, um den Verlauf des gesamten Betriebssysteminventars der angegebenen Assets in einem Projekt abzurufen.

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
curl -X POST  -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"contentType":"OS_INVENTORY", \
          "assetNames": \
            "//compute.googleapis.com/projects/my_project_number/global/instances/instancel", \
          "readTimeWindow": {"startTime": "'$YESTERDAY'"}}' \
     https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

batchGetAssetsHistory

Änderungen von VM Manager-Daten überwachen

gcloud

So erstellen Sie einen Feed mit dem Befehl gcloud asset feeds create zum Überwachen von VMs mit installiertem Windows-Betriebssystem:

gcloud asset feeds create FEED_ID --project=PROJECT_ID \
--content-type=os-inventory --asset-types="compute.googleapis.com/Instance" \
--pubsub-topic="TOPIC_NAME" --condition-title="CONDITION_TITLE" \
--condition-description="CONDITION_DESCRIPTION" \
--condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == 'windows'"

API

So erstellen Sie einen Feed mit der feeds.create() API für das Monitoring von VMs mit installiertem Windows-Betriebssystem:

curl -H "Authorization: Bearer $TOKEN" \\
    -H "Content-Type: application/json" -X POST \\
    -d '{"feedId": "FEED_ID",
         "feed": { "assetTypes": ["compute.googleapis.com/Instance"],
         "contentType": "OS_INVENTORY",
         "feedOutputConfig": {"pubsubDestination": {"topic":"TOPIC_NAME"}},
         "condition": {"title": "CONDITION_TITLE",
         "description": "CONDITION_DESCRIPTION",
         "expression": "temporal_asset.asset.os_inventory.os_info.short_name == 'windows'"}}}' \\
    https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/feeds

Weitere Informationen