Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como visualizar dados do VM Manager

Este tópico mostra como configurar o Cloud Asset Inventory e o inventário do SO do VM Manager para que você possa visualizar as informações de ambiente de execução das suas VMs.

Antes de começar

Antes de começar, conclua as etapas a seguir.

  1. Ative a API Cloud Asset Inventory no projeto em que você executará os comandos da API.
    Ativar a API Cloud Asset Inventory

  2. Configure as permissões necessárias para chamar a API Cloud Asset Inventory usando a ferramenta gcloud ou a API.

  3. Conclua as etapas a seguir para configurar seu ambiente.

    gcloud

    Para configurar seu ambiente para usar a ferramenta gcloud para chamar a API Cloud Asset Inventory, instale o SDK do Cloud no cliente local.

    API

    Para configurar seu ambiente para chamar a API Cloud Asset Inventory com o comando curl do Unix, conclua as etapas a seguir.

    1. Instale o oauth2l na sua máquina local para interagir com o sistema do Google OAuth.
    2. Confirme se você tem acesso ao comando curl do Unix.
    3. Certifique-se de conceder à conta um dos papéis a seguir no projeto, na pasta ou na organização.

      • Papel Leitor de recursos do Cloud (roles/cloudasset.viewer)
      • Papel básico do proprietário (roles/owner)

Como ativar o inventário do SO

Para ativar o inventário do SO, que faz parte do pacote do VM Manager, conclua as etapas relevantes em Como configurar o VM Manager.

Como definir permissões

Certifique-se de que sua conta tenha a permissão cloudasset.assets.exportOSInventories no recurso raiz que contém os recursos que você quer exportar. Conceda essa permissão individualmente ou um dos papéis a seguir no recurso raiz.

  • Papel do Visualizador de recursos do Cloud (roles/cloudasset.viewer)
  • Papel de Proprietário do recurso do Cloud (roles/cloudasset.owner)

Saiba mais sobre como configurar permissões e papéis de IAM de inventários de recursos do Cloud.

Como exportar dados do VM Manager para o BigQuery

Para exportar o snapshot do inventário do SO em um determinado carimbo de data/hora, conclua as etapas a seguir.

gcloud

BIGQUERY_TABLE

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

Em que:

  • PROJECT_ID é o ID do projeto com os metadados que estão sendo exportados. O projeto pode ser aquele do qual você está executando a exportação ou outro projeto.
  • SNAPSHOT_TIME (opcional) é o momento em que você quer tirar um snapshot dos seus recursos. O valor precisa ser a hora atual ou um horário no passado. Por padrão, um snapshot é capturado no horário atual. Para informações sobre formatos de tempo, consulte gcloud topic datetimes.
  • BIGQUERY_TABLE é a tabela para a qual você está exportando seus metadados, no formato projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME.
  • --output-bigquery-force substitui a tabela de destino, se ela existir.

Para exportar os recursos de uma organização ou pasta, use uma das seguintes sinalizações no lugar de --project.

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

Saiba mais sobre o método exportAssets.

Como exportar dados do VM Manager para o Cloud Storage

Para exportar o inventário de instâncias de VM das instâncias de VM, execute o comando de ferramenta gcloud a seguir.

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

Saiba mais sobre o método exportAssets.

Como conseguir o histórico de dados do VM Manager

Para acessar o histórico de criação, exclusão e atualização de recursos especificados em um projeto em um determinado período usando a API Cloud Asset, siga o processo abaixo.

gcloud

Para ver o histórico de todo o inventário do SO dos recursos especificados em um projeto, execute o comando a seguir.

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

Os comandos mostrados nesta seção recebem o histórico de um projeto. Para receber o histórico de uma organização, use o método REST https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:batchGetAssetsHistory no comando gcurl.

  1. Verifique se é possível chamar a API Cloud Asset concluindo a configuração em Configurar uma conta.
  2. Determine o nome completo do recurso para buscar o histórico. Veja uma lista de nomes formatados da API Cloud Asset aqui. O exemplo a seguir usa //compute.googleapis.com/projects/my_project_number/global/instances/instancel.
  3. Determine os horários de início e de término do seu período de tempo que esteja no formato RFC 3339 UTC. É necessária apenas a hora de início. Consulte TimeWindow para mais informações.
  4. Determine em qual nível você quer ter o histórico dos recursos. Os comandos de exemplo a seguir demonstram como acessar o histórico de vários tipos de recursos.

Para conseguir o token de acesso, execute o seguinte comando com o arquivo ~/credentials.json.

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

Você verá uma saída semelhante à seguinte, com y29.xxxxxx como token de acesso:

Authorization: Bearer y29.xxxxxxx

Defina a variável TOKEN como o token de acesso:

TOKEN=y29.xxxxxxx

Para ver o histórico de todo o inventário do SO dos recursos especificados em um projeto, execute o comando a seguir.

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

Saiba mais sobre o método batchGetAssetsHistory.

Como monitorar alterações de dados do VM Manager

gcloud

Para criar um feed usando o comando gcloud asset feeds create para monitorar VMs com o Windows OS instalado:

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

Para criar um feed usando a API feeds.create() para monitorar VMs com o SO Windows instalado:

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

Veja mais detalhes neste link.