Ver registros de actividad


Los registros de actividad de Compute Engine están obsoletos. En su lugar, utilice registros de auditoría . Para obtener más información, consulte Migración de registros de actividad a registros de auditoría .

Los registros de actividad de Compute Engine no son lo mismo que los registros de auditoría . Los registros de auditoría contienen la misma información que los registros de actividad heredados y más. Le recomendamos utilizar registros de auditoría en lugar de registros de actividad. Si ya utiliza registros de actividad, lea Migración de registros de actividad a registros de auditoría .

Compute Engine proporciona registros de actividad que te permiten rastrear ciertos eventos que afectan tu proyecto, como llamadas API y eventos del sistema. Específicamente, los registros de actividad brindan información sobre:

  • Llamadas a la API de Compute Engine: los eventos GCE_API_CALL son llamadas a la API que cambian el estado de un recurso. Por ejemplo, las llamadas API para crear un disco, actualizar metadatos de instancia, crear un grupo de instancias, cambiar un tipo de máquina, se registran en los registros de actividad. Las llamadas API que no actualizan un recurso, como las solicitudes get y list , no se registran.
  • Registros de operaciones: los eventos GCE_OPERATION_DONE se registran cuando finaliza una llamada API que cambia el estado de un recurso, Compute Engine devuelve un evento de operación completa que se registra en sus registros de actividad.
  • Registros del sistema: los eventos GCE_SYSTEM_EVENT se registran cuando Compute Engine realiza un evento del sistema y se registra en los registros de actividad. Por ejemplo, un evento de mantenimiento transparente se registraría como un evento del sistema.

Por ejemplo, con un evento de API, un registro de actividad proporciona detalles como la hora de inicio y finalización de una solicitud de API, los detalles del cuerpo de la solicitud, el usuario autorizado que realizó la solicitud de API y el punto final de la solicitud. Puedes descargar registros de actividad para buscar solicitudes de API específicas o para revisar eventos del sistema iniciados por Compute Engine.

Los registros de actividad no brindan información de facturación o uso sobre un proyecto, como cuánto tiempo ha estado ejecutándose una instancia de máquina virtual o cuánto cuesta. Para obtener registros de facturación, consulte la función de exportación de facturación . Para obtener registros de uso, consulte Ver informes de uso .

Los registros de actividad se proporcionan como parte del servicio Cloud Logging. Para obtener más información sobre Logging en general, lea la documentación de Cloud Logging .

Antes de comenzar

  • Familiarizado con el registro en la nube .
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Permisos necesarios para esta tarea

Para realizar esta tarea, debe tener los siguientes permisos :

  • logging.logServiceIndexes.list en el proyecto
  • logging.logServices.list en el proyecto

Ver registros

El registro de actividad está habilitado de forma predeterminada para todos los proyectos de Compute Engine.

Puedes ver los registros de actividad de tu proyecto a través del Explorador de registros en la consola de Google Cloud :

  1. En la consola de Google Cloud, vaya a la página de Registro .

    Ir a la página de registro

  2. Cuando esté en el Explorador de registros, seleccione y filtre su tipo de recurso en la primera lista desplegable.
  3. En la lista desplegable Todos los registros , seleccione Compute.googleapis.com/activity_log para ver los registros de actividad de Compute Engine.

Registros de enrutamiento

Para saber cómo exportar registros de actividad, lea Configurar y administrar receptores en la documentación de Cloud Logging.

Identificar archivos de registro

Cuando exportas registros a Cloud Storage, los archivos de registro se almacenan en la estructura descrita en la documentación de Objetos de entrada de registro .

Los archivos de registro de Compute Engine se almacenan con la siguiente estructura de directorios:

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

El siguiente es un ejemplo de nombre de archivo de registro almacenado en un depósito de Cloud Storage llamado my-bucket :

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

En BigQuery, los registros de actividad se almacenan en un conjunto de tablas, una tabla para cada tipo de registro y día, y los nombres de las tablas utilizan el siguiente formato:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Para obtener información sobre cómo consultar registros de actividad en BigQuery, consulte Entradas de registro en BigQuery .

Leer registros de actividad

Los registros de actividad están estructurados como se describe en la documentación del tipo LogEntry .

Los registros de actividad de Compute Engine tienen:

  • compute.googleapis.com/activity_log como valor del campo log
  • metadata , que describen información común como la marca de tiempo
  • structPayload , que contiene el contenido específico de la entrada del registro

Puede obtener más detalles sobre los campos comunes proporcionados con cada entrada de registro en la descripción de LogEntry , pero el contenido de la carga útil de las entradas del registro de actividad es específico de Compute Engine y se describe a continuación.

Contenido de carga útil

El contenido de una entrada de registro se proporciona en formato de objeto JSON y se almacena en el campo structPayload . El campo structPayload contiene la siguiente información:

Campo Tipo Descripción
actor cadena Correo electrónico del usuario o cuenta de servicio que realiza la operación. Esto es lo mismo que user_id .
error cadena Proporciona detalles del error si se produjo un error durante este evento. Esto se omite si no hubo errores. Los errores suelen impedir que una solicitud se complete correctamente. Puede utilizar este campo para depurar una solicitud fallida.
event_subtype cadena Describe el subtipo específico como un método API.

Por ejemplo, una solicitud para insertar una nueva instancia aparece como compute.instances.insert y una solicitud para eliminar un recurso de dirección aparece como compute.addresses.delete .

Consulte la referencia de API para obtener una lista completa de métodos API.

event_timestamp_us marca de tiempo La marca de tiempo, en microsegundos, del evento registrado desde la época estándar. Esto es lo mismo que metadata.timestamp .
event_type cadena Describe el tipo de evento general.

Este puede ser uno de los siguientes valores:

  • GCE_API_CALL . Indica una llamada a la API REST que actualizó un recurso.
  • GCE_OPERATION_DONE . Una vez que se completa una solicitud de API, ya sea exitosa o no, se registra este tipo de evento.
  • GCE_SYSTEM_EVENT . Un evento del sistema iniciado por Compute Engine.
info cadena Un campo opcional con información adicional, si corresponde. Este campo se omite si no hay información adicional para mostrar.
operation cadena Cuando se realiza una solicitud de API para actualizar o cambiar algún recurso, se crea un objeto de operación correspondiente para realizar un seguimiento de la solicitud hasta su finalización. Esta propiedad describe el objeto de operación para este evento y proporciona información como el nombre de la operación, la zona o región de la operación y el ID de la operación.

Las operaciones pueden ser una operación de zona , una operación de región o una operación global , dependiendo del recurso que la operación esté modificando.

request JSON Contiene el cuerpo de solicitud de API original.

resource JSON Describe el recurso particular que está siendo modificado por este evento. Por ejemplo, una instancia de máquina virtual (VM) se considera un recurso y una propiedad de recurso de ejemplo para una VM es similar a la siguiente:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

En la referencia de API se describe detalladamente una lista de tipos de recursos.

Nota: Si una acción afecta a varios recursos, puede haber varias entradas de registro con el mismo trace_id .

trace_id cadena Un ID de seguimiento proporcionado por el sistema que se utiliza para agrupar registros relacionados que se activan mediante una única acción. Por ejemplo:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent cadena Describe el cliente que realizó esta solicitud. Por ejemplo, si utilizó las bibliotecas cliente de la nube para Java para realizar una solicitud, el agente de usuario sería Google-API-Java-Client .
version cadena La versión actual del formato de registro indica el esquema de registro de Compute Engine. La versión actual es 1.2.

Nota: El control de versiones de la API de Compute Engine es independiente del control de versiones del formato de registro.

warning cadena Proporciona detalles de advertencia si se produjo alguna advertencia durante este evento. Una advertencia es informativa y no afecta la solicitud, a diferencia de los errores.

Entrada de registro de muestra

Por ejemplo, una entrada de registro de muestra que describe una solicitud de API para crear una máquina virtual se parece a la siguiente:

{
  "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 actividad obsoletas

Las siguientes entradas del registro de actividad se suspenderán, sin reemplazo, el 1 de junio de 2020:

Tipo de recurso monitoreado 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