Visualizar registos de atividade


Os registos de atividade do Compute Engine foram descontinuados. Em alternativa, use os registos de auditoria. Para mais informações, consulte o artigo Migrar dos registos de atividade para os registos de auditoria.

Os registos de atividade do Compute Engine não são o mesmo que os registos de auditoria. Os registos de auditoria contêm as mesmas informações que os registos de atividade antigos e muito mais. Recomendamos que use registos de auditoria em vez de registos de atividade. Se já estiver a usar registos de atividade, leia o artigo Migrar de registos de atividade para registos de auditoria.

O Compute Engine fornece registos de atividade que lhe permitem monitorizar determinados eventos que afetam o seu projeto, como chamadas API e eventos do sistema. Especificamente, os registos de atividade fornecem informações sobre:

  • Chamadas API do Compute Engine: os eventos GCE_API_CALL são chamadas API que alteram o estado de um recurso. Por exemplo, as chamadas API para criar um disco, atualizar os metadados da instância, criar um grupo de instâncias ou alterar um tipo de máquina são registadas nos registos de atividade. As chamadas API que não atualizam um recurso, como os pedidos get e list, não são registadas.
  • Registos de operações: os eventos GCE_OPERATION_DONE são registados quando uma chamada API altera o estado de um recurso. Quando uma operação termina, o Compute Engine devolve um evento de operação concluída que é registado nos seus registos de atividade.
  • Registos do sistema: os eventos GCE_SYSTEM_EVENT são registados quando o Compute Engine realiza um evento do sistema, que é registado nos registos de atividade. Por exemplo, um evento de manutenção transparente seria registado como um evento do sistema.

Por exemplo, com um evento de API, um registo de atividade fornece detalhes como a hora de início e de fim de um pedido de API, os detalhes do corpo do pedido, o utilizador autorizado que fez o pedido de API e o ponto final do pedido. Pode transferir registos de atividade para pesquisar pedidos de API específicos ou para rever eventos do sistema iniciados pelo Compute Engine.

Os registos de atividade não fornecem informações de faturação nem de utilização sobre um projeto, como o tempo de execução de uma instância de máquina virtual ou o respetivo custo. Para registos de faturação, consulte a funcionalidade de exportação da faturação. Para ver registos de utilização, consulte o artigo Ver relatórios de utilização.

Os registos de atividade são fornecidos como parte do serviço Cloud Logging. Para mais informações sobre o registo em geral, leia a documentação do Cloud Logging.

Antes de começar

  • Ter conhecimentos do Cloud Logging.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

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

Autorizações necessárias para esta tarefa

Para realizar esta tarefa, tem de ter as seguintes autorizações:

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

Ver registos

O registo de atividade está ativado por predefinição para todos os projetos do Compute Engine.

Pode ver os registos de atividade do seu projeto através do Explorador de registos no Google Cloud console:

  1. Na Google Cloud consola, aceda à página Registo.

    Aceda à página Registo

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

Registos de encaminhamento

Para saber como exportar registos de atividade, leia o artigo Configurar e gerir despesas na documentação do Cloud Logging.

Identificar ficheiros de registo

Quando exporta registos para o Cloud Storage, os ficheiros de registo são armazenados na estrutura descrita na documentação de objetos de entrada de registo.

Os ficheiros de registo do Compute Engine são armazenados com a seguinte estrutura de diretórios:

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

Segue-se um exemplo de um nome de ficheiro de registo armazenado num contentor do Cloud Storage denominado my-bucket:

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

No BigQuery, os registos de atividade são armazenados num conjunto de tabelas, uma tabela para cada tipo de registo e dia, e as tabelas são denominadas com o seguinte formato:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Para obter informações sobre como consultar registos de atividade no BigQuery, consulte o artigo Entradas de registo no BigQuery.

Ler registos de atividade

Os registos de atividade estão estruturados conforme descrito na documentação do tipo LogEntry.

Os registos de atividade do Compute Engine têm:

  • compute.googleapis.com/activity_log como valor do campo log
  • metadata, que descreve informações comuns, como a indicação de tempo
  • structPayload, que contém os conteúdos específicos da entrada do registo

Pode obter mais detalhes sobre os campos comuns fornecidos com cada entrada de registo a partir da descrição de LogEntry, mas o conteúdo do payload das entradas de registo de atividade é específico do Compute Engine e é descrito abaixo.

Conteúdos da carga útil

O conteúdo de uma entrada de registo é 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 de string Email do utilizador ou da conta de serviço que está a realizar a operação. Isto é o mesmo que user_id.
error de string Fornece detalhes de erros, se tiver ocorrido um erro durante este evento. É omitido se não existirem erros. Normalmente, os erros impedem que um pedido seja concluído com êxito. Pode usar este campo para depurar um pedido com falha.
event_subtype de string Descreve o subtipo específico como um método de API.

Por exemplo, um pedido para inserir uma nova instância é apresentado como compute.instances.insert e um pedido para eliminar um recurso Address é apresentado como compute.addresses.delete.

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

event_timestamp_us timestamp A data/hora, em microssegundos, do evento registado desde a época padrão. Isto é igual a metadata.timestamp.
event_type de string Descreve o tipo de evento geral.

Pode ter um dos seguintes valores:

  • GCE_API_CALL. Indica uma chamada API REST que atualizou um recurso.
  • GCE_OPERATION_DONE. Após a conclusão de um pedido de API, quer seja bem-sucedido ou não, este tipo de evento é registado.
  • GCE_SYSTEM_EVENT. Um evento do sistema iniciado pelo Compute Engine.
info de string Um campo opcional com informações adicionais, se aplicável. Este campo é omitido se não existirem informações adicionais para apresentar.
operation de string Quando é feito um pedido de API para atualizar ou alterar recursos, é criado um objeto de operação correspondente para acompanhar o pedido até à conclusão. Esta propriedade descreve o objeto de operação para este evento, fornecendo informações como o nome da operação, a zona ou a região da operação e o ID da operação.

As operações podem ser uma operação de zona, uma operação de região ou uma operação global, consoante o recurso que a operação está a modificar.

request JSON Contém o corpo do pedido da API original.

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

A referência da API descreve detalhadamente uma lista de tipos de recursos.

Nota: se uma ação afetar vários recursos, podem existir várias entradas de registo com o mesmo trace_id.

trace_id de string Um ID de rastreio fornecido pelo sistema usado para agrupar registos relacionados acionados por uma única ação. Por exemplo:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent de string Descreve o cliente que realizou este pedido. Por exemplo, se usou as bibliotecas cliente da Google Cloud para Java para fazer um pedido, o agente do utilizador seria Google-API-Java-Client.
version de string A versão atual do formato de registo indica o esquema de registo do Compute Engine. A versão atual é a 1.2.

Nota: o controlo de versões da API Compute Engine é independente do controlo de versões do formato de registo.

warning de string Fornece detalhes de avisos, se tiverem ocorrido avisos durante este evento. Um aviso é informativo e não afeta o pedido, ao contrário dos erros.

Exemplo de entrada do registo

Por exemplo, uma entrada de registo de amostra que descreve um pedido de API para criar uma VM tem o seguinte aspeto:

{
  "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 do Registo de atividade descontinuadas

As seguintes entradas do registo de atividade vão ser descontinuadas, sem substituição, a 1 de junho de 2020:

Tipo de recurso monitorizado Event SubType
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