Como visualizar registros de atividades


O uso dos registros de atividades do Compute Engine foi suspenso. No lugar deles, use os registros de auditoria. Para mais informações, consulte Como migrar dos registros de atividades para os registros de auditoria.

Os registros de atividade do Compute Engine não são a mesma coisa que registros de auditoria. Os registros de auditoria contêm as mesmas informações que os registros de atividades herdadas e muito mais. Recomendamos que você use registros de auditoria em vez de registros de atividades. Se você já estiver usando registros de atividades, leia Como migrar de registros de atividades para registros de auditoria.

O Compute Engine fornece registros de atividade que permitem rastrear certos eventos que afetam o projeto, como chamadas de API e eventos de sistema. Os registros de atividades fornecem informações específicas sobre:

  • Chamadas de API Compute Engine: os eventos GCE_API_CALL são chamadas de API que alteram o estado de um recurso. Por exemplo, as chamadas de API para criar um disco, atualizar metadados de instância, criar um grupo de instâncias, alterar um tipo de máquina, são gravadas nos registros de atividades. As chamadas de API que não atualizam um recurso, como solicitações get e list não são registradas.
  • Registros de operação: os eventos GCE_OPERATION_DONE são registrados quando uma chamada de API que altera o estado de um recurso termina e o Compute Engine retorna um evento de operação concluído, gravado nos registros de atividades.
  • Registros do sistema: os eventos GCE_SYSTEM_EVENT são registrados quando o Compute Engine executa um evento do sistema. Ele é gravado nos registros de atividades. Por exemplo, um evento de manutenção transparente seria registrado como um evento de sistema.

Por exemplo, com um evento de API, um registro de atividade fornece detalhes, como o horário de início e de término de uma solicitação de API, os detalhes do corpo da solicitação, o usuário autorizado que fez a solicitação de API e o ponto final da solicitação. É possível baixar os registros de atividade para pesquisar solicitações específicas de API ou revisar eventos de sistema iniciados pelo Compute Engine.

Registros de atividade não fornecem informações de faturamento nem de uso sobre um projeto, como o tempo de execução de uma instância de máquina virtual ou quanto ela custa. Para registros de cobrança, veja o recurso exportação de faturamento. Para registros de uso, veja Como ver relatórios de uso.

Os registros de atividades são fornecidos como parte do serviço Cloud Logging. Para mais informações gerais sobre o Logging, leia a documentação do Cloud Logging.

Antes de começar

  • Familiarize-se com o Cloud Logging.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Permissões exigidas para a tarefa

Para executar esta tarefa, é preciso ter a permissão a seguir:

  • logging.logServiceIndexes.list no projeto
  • logging.logServices.list no projeto

Como visualizar registros

O registro de atividades é ativado por padrão para todos os projetos do Compute Engine.

Veja os registros de atividades de seu projeto por meio do Explorador de registros no console do Google Cloud:

  1. No Console do Google Cloud, acesse a página Logging.

    Acesse a página "Logging"

  2. No Explorador de registros, selecione e filtre o tipo de recurso na primeira lista suspensa.
  3. Na lista suspensa Todos os registros, selecione compute.googleapis.com/activity_log para ver os registros de atividade do Compute Engine.

Registros de roteamento

Para saber como exportar registros de atividades, leia Configurar e gerenciar coletores na documentação do Cloud Logging.

Como identificar arquivos de registros

Ao exportar registros para o Cloud Storage, os arquivos de registros são armazenados na estrutura descrita pela documentação dos objetos de entrada de registros.

Os arquivos de registros do Compute Engine são armazenados com a estrutura de diretório abaixo:

<bucket>/compute.googleapis.com/activity_log/<year>/<month>/<day>

Veja a seguir um exemplo de nome de arquivo de registro armazenado em um bucket do Cloud Storage chamado my-bucket:

my-bucket/compute.googleapis.com/activity_log/2014/10/31/20:00:00_20:59:59_S0.json

No BigQuery, os registros de atividades são armazenados em um conjunto de tabelas, uma para cada tipo de registro e dia, nomeadas com o seguinte formato:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Para obter informações sobre como consultar registros de atividades no BigQuery, consulte Entradas de registro no BigQuery.

Como ler registros de atividades

Os registros de atividades são estruturados conforme descrito na documentação do tipo LogEntry.

Nos registros de atividade do Compute Engine, constam:

  • compute.googleapis.com/activity_log como valor do campo log
  • metadata, que descreve informações comuns, como timestamp
  • structPayload, que inclui o conteúdo específico da entrada de registro

É possível obter mais detalhes sobre os campos comuns fornecidos com cada entrada de registro da descrição LogEntry, mas o conteúdo do payload das entradas do registro de atividades é específico do Compute Engine e é descrito abaixo.

Conteúdo de carga útil

O conteúdo de uma entrada de registro é fornecido no formato de objeto JSON e armazenado no campo structPayload. O campo structPayload contém as seguintes informações:

Campo Tipo Descrição
actor string E-mail da conta de usuário ou de serviço realizando a operação. Este é o mesmo que o user_id.
error string São fornecidos detalhes de erro, caso ocorra algum durante esse evento. Isso é omitido quando não há erros. Erros geralmente impedem que uma solicitação seja concluída com êxito. Use esse campo para depurar uma solicitação com falha.
event_subtype string Descreve o subtipo específico como um método de API.

Por exemplo, uma solicitação para inserir uma nova instância aparece como compute.instances.insert e uma solicitação para excluir um recurso Endereço aparece como compute.addresses.delete.

Consulte a referência da API para ter acesso a uma lista abrangente de métodos da API.

event_timestamp_us timestamp O timestamp do evento registrado em microssegundos desde a época padrão. Este é o mesmo que metadata.timestamp.
event_type string Descreve o tipo geral de evento.

Pode ser um dos seguintes valores:

  • GCE_API_CALL. indica uma chamada da REST API que atualizou um recurso.
  • GCE_OPERATION_DONE. quando uma solicitação de APi é concluída, com sucesso ou não, este tipo de evento é registrado.
  • GCE_SYSTEM_EVENT. um evento de sistema iniciado pelo Compute Engine.
info string Um campo opcional com informações adicionais, se aplicável. Este campo é omitido se não há informações adicionais a exibir.
operation string Quando uma solicitação de API é feita para atualizar ou alterar quaisquer recursos, um objeto de operação correspondente é criado para rastrear a solicitação até a conclusão. Esta propriedade descreve o objeto da operação deste evento, fornecendo informações como o nome da operação, a zona ou a região da operação e o código da operação.

As operações são zonais, regionais ou globais, dependendo do recurso a ser modificado.

request JSON Contém o corpo da solicitação original da API.

resource JSON Descreve o recurso particular que está sendo modificado por este evento. Por exemplo, uma instância de máquina virtual é considerada um recurso, e uma propriedade de recurso de exemplo para uma VM tem a seguinte aparência:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

Uma lista de tipos de recursos é descrita detalhadamente na referência da API.

Observação: se uma ação afetar vários recursos, pode haver várias entradas de registro com o mesmo trace_id.

trace_id string Um código de rastreamento fornecido pelo sistema, usado para agrupar registros relacionados, e acionados por uma única ação. Por exemplo:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent string Descreve o cliente que realizou essa solicitação. Por exemplo, se você usou as bibliotecas de cliente do Cloud para Java para fazer uma solicitação, o user agent Google-API-Java-Client.
version string A versão do formato de registro atual indica o esquema do registro do Compute Engine. A versão atual é 1.2.

Observação: o controle de versão da Compute Engine API é separado do controle de versão do formato de registro.

warning string Fornece detalhes de aviso caso ocorra algum durante esse evento. Um aviso é informativo e não afeta a solicitação, diferentemente dos erros.

Exemplo de entrada de registros

Por exemplo, um exemplo de entrada de registro que descreve uma solicitação de API para criar uma VM tem a seguinte aparência:

{
  "log": "compute.googleapis.com/activity_log",
  "insertId": "2015-09-16|13:49:42.532185-07|10.106.9.208|335899593",
  "metadata": {
    "severity": "INFO",
    "projectId": "835469197146",
    "serviceName": "compute.googleapis.com",
    "zone": "us-central1-f",
    "labels":{
      "compute.googleapis.com/resource_id":"0",
      "compute.googleapis.com/resource_name":"example-instance",
      "compute.googleapis.com/resource_type":"instance",
      "compute.googleapis.com/resource_zone":"us-central1-f"
    },
    "timestamp": "2015-09-16T20:49:42.423637Z"
  },
  "structPayload": {
    "version": "1.2",
    "trace_id": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
    "event_timestamp_us": "1442436582423637",
    "event_type": "GCE_API_CALL",
    "event_subtype": "compute.instances.insert",
    "resource": {
      "type": "instance",
      "name": "example-instance",
      "id": "0",
      "zone": "us-central1-f"
    },
    "actor": {
      "user": "user@example.com"
    },
    "ip_address": "",
    "user_agent": "apitools-client/1.0",
    "request": {
      "url": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances",
      "body": "{
        \"canIpForward\":false,
        \"description\":\"\",
        \"disks\":[{
          \"autoDelete\":true,
          \"boot\":true,
          \"deviceName\":\"example-instance\",
          \"initializeParams\":{
            \"diskSizeGb\":\"10\",
            \"diskType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/diskTypes/pd-standard\",
            \"sourceImage\":\"https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20150818\"
          },
          \"mode\":\"READ_WRITE\",
          \"type\":\"PERSISTENT\"
        }],
        \"machineType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/n1-standard-1\",
        \"metadata\":{
          \"items\":[]
        },
        \"name\":\"example-instance\",
        \"networkInterfaces\":[{
            \"accessConfigs\":[{
              \"name\":\"External NAT\",
              \"type\":\"ONE_TO_ONE_NAT\"

            }],
            \"network\":\"https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\"
          }],
        \"scheduling\":{
          \"automaticRestart\":true,
          \"onHostMaintenance\":\"MIGRATE\",
          \"preemptible\":false
        },
        \"serviceAccounts\":[{
          \"email\":\"default\",
          \"scopes\":[
            \"https://www.googleapis.com/auth/devstorage.read_only\",
            \"https://www.googleapis.com/auth/logging.write\"
          ]
        }],
        \"tags\":{
          \"items\":[]
        },
        \"zone\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f\"
      }"
    },
    "operation": {
      "type": "operation",
      "name": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
      "id": "291347737657178184",
      "zone": "us-central1-f"
    }
  }
}

Entradas de registro de atividades descontinuadas

As seguintes entradas de registro de atividades serão desativadas, sem substituição, em 1º de junho de 2020:

Tipo de recurso monitorado Subtipo de evento
gce_backend_service BackendServiceConfigProgramming
gce_instance RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_instance addFirewallRuleToSecurityPolicy
gce_instance attachCloudLink
gce_instance attachFirewallSecurityPolicy
gce_instance compute.instanceGroupManagers.updateHealth
gce_instance compute.instanceGroups.detachHealthCheck
gce_instance compute.instanceNetworkConfig.updateName
gce_instance compute.regionInstanceGroups.attachHealthCheck
gce_instance compute.regionInstanceGroups.detachHealthCheck
gce_instance createFirewallSecurityPolicy
gce_instance deleteFirewallSecurityPolicy
gce_instance detachFirewallSecurityPolicy
gce_instance patchFirewallRuleInSecurityPolicy
gce_instance removeCloudLink
gce_instance removeFirewallRuleFromSecurityPolicy
gce_instance updateFirewallSecurityPolicy
gce_instance updateVpnTunnel
gce_instance_group compute.instanceGroups.attachHealthCheck
gce_instance_group compute.instanceGroups.attachNetworkInterfaces
gce_instance_group compute.instanceGroups.detachHealthCheck
gce_instance_group compute.regionInstanceGroups.attachHealthCheck
gce_instance_group compute.regionInstanceGroups.detachHealthCheck
gce_instance_template compute.zoneInstanceTemplates.insert
gce_network compute.networks.switchLegacyToCustomMode
gce_project compute.projects.moveProjectNetworking
gce_reserved_address compute.addresses.insertDnsForwarding
gce_reserved_address compute.addresses.insertNatAddress
gce_ssl_certificate RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_ssl_certificate SslCertificateAddManagedCertificateChallenge
gce_ssl_certificate SslCertificateProvisionManagedCertificate
gce_ssl_certificate SslCertificateRemoveManagedCertificateChallenge
gce_subnetwork compute.subnetworks.createOrUpdateVirtualSubnetwork
vpn_tunnel updateVpnTunnel