Ver registros de atividades

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 da 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 atividade do Compute Engine também não são o mesmo que registros de auditoria.

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

Antes de começar

Permissões necessárias para esta tarefa

Para executar a tarefa, você precisa ter as seguintes permissões.

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

Como ver os registros

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

Veja os registros de atividades do projeto com o Visualizador de registros no Console do Google Cloud Platform:

  1. Acesse a página Registros no Console do GCP.
  2. No visualizador de registros, selecione e filtre seu tipo de recurso no primeiro menu suspenso.
  3. Selecione activity_log no menu suspenso Todos os registros para ver os registros de atividades do Compute Engine.

Como exportar registros

Leia Como configurar a exportação de registros na documentação do Stackdriver para saber como exportar registros de atividades.

Como identificar arquivos de registros

Ao exportar registros para o Google 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 para o nome do arquivo de registros armazenado em um intervalo do Google 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 informações sobre como consultar registros de atividades no BigQuery, consulte Entradas de registros no Google 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 o valor do campo log
  • metadata, que descreve informações comuns, como carimbo de data e hora
  • structPayload, que tem o conteúdo específico da entrada do registro

Você pode obter mais detalhes sobre os campos comuns fornecidos com cada entrada de registro na descrição de LogEntry, mas o conteúdo de carga útil das entradas de registros de atividade é específico do Compute Engine e está descrito abaixo.

Conteúdo de carga útil

O conteúdo de uma entrada de registro é fornecido em formato de objetos JSON e são armazenados 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. É 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 Address 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. É o mesmo que metadata.timestamp.
event_type string Descreve o tipo geral de evento.

Pode ser:

  • 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 um exemplo de propriedade de recurso para uma máquina virtual teria 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: quando uma ação afeta vários recursos, é possível que haja muitas entradas de registros 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 executou essa solicitação. Por exemplo, para usar a biblioteca cliente Java para fazer uma solicitação, o agente do usuário é o Google-API-Java-Client.
version string A versão atual do formato de registro indica o esquema de registros 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

O exemplo de entradas de registros que descreve uma solicitação de API para criar uma máquina virtual tem esta 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"
    }
  }
}
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine