Ver registros de actividad


Los registros de actividad de Compute Engine están obsoletos. En su lugar, usa los registros de auditoría. Para obtener más información, consulta el artículo Migrar 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 antiguos y más. Te recomendamos que uses registros de auditoría en lugar de registros de actividad. Si ya usas registros de actividad, consulta el artículo Migrar de registros de actividad a registros de auditoría.

Compute Engine proporciona registros de actividad que te permiten monitorizar determinados eventos que afectan a tu proyecto, como llamadas a la API y eventos del sistema. En concreto, los registros de actividad proporcionan información sobre lo siguiente:

  • 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 a la API para crear un disco, actualizar los metadatos de una instancia, crear un grupo de instancias o cambiar un tipo de máquina se registran en los registros de actividad. Las llamadas a la 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 una llamada a la API cambia el estado de un recurso. Cuando se completa, Compute Engine devuelve un evento de operación completada que se registra en tus registros de actividad.
  • Registros del sistema: se registran eventos GCE_SYSTEM_EVENT cuando Compute Engine realiza un evento del sistema, que se registra en los registros de actividad. Por ejemplo, un evento de mantenimiento transparente se registraría como un evento del sistema.

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

Los registros de actividad no proporcionan información de facturación ni de uso sobre un proyecto, como el tiempo que ha estado en ejecución una instancia de máquina virtual o cuánto cuesta. Para consultar los registros de facturación, consulta la función de exportación de facturación. Para ver los registros de uso, consulta 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, consulta la documentación de Cloud Logging.

Antes de empezar

  • Conocimientos de Cloud Logging.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

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

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Permisos que se necesitan para completar esta tarea

Para realizar esta tarea, debes 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 en todos los proyectos de Compute Engine.

Puedes ver los registros de actividad de tu proyecto en el Explorador de registros de la Google Cloud console:

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

    Ir a la página Logging

  2. En el Explorador de registros, selecciona y filtra el tipo de recurso en la primera lista desplegable.
  3. En la lista desplegable Todos los registros, selecciona 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, consulta el artículo Configurar y gestionar sinks de 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>

A continuación, se muestra un ejemplo de nombre de archivo de registro almacenado en un segmento 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 por cada tipo de registro y día. Las tablas se denominan con el siguiente formato:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

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

Leer registros de actividad

Los registros de actividad se estructuran tal como se describe en la documentación del tipo LogEntry.

Los registros de actividad de Compute Engine tienen las siguientes características:

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

Puedes obtener más información sobre los campos comunes que se proporcionan con cada entrada de registro en la descripción de LogEntry. Sin embargo, el contenido de la carga útil de las entradas de registro de actividad es específico de Compute Engine y se describe a continuación.

Contenido de la 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 del usuario o de la cuenta de servicio que realiza la operación. Es lo mismo que user_id.
error cadena Proporciona los detalles de cualquier error que se haya producido durante este evento. Se omite si no ha habido errores. Los errores suelen impedir que una solicitud se complete correctamente. Puede usar este campo para depurar una solicitud fallida.
event_subtype cadena Describe el subtipo específico como un método de API.

Por ejemplo, una solicitud para insertar una instancia nueva se muestra como compute.instances.insert, y una solicitud para eliminar un recurso Address se muestra como compute.addresses.delete.

Consulta la referencia de la API para ver una lista completa de los métodos de la API.

event_timestamp_us timestamp Marca de tiempo, en microsegundos, del evento registrado desde el inicio del registro de tiempo estándar. Es lo mismo que metadata.timestamp.
event_type cadena Describe el tipo de evento general.

Puede tener uno de los siguientes valores:

  • GCE_API_CALL. Indica una llamada a la API REST que ha actualizado un recurso.
  • GCE_OPERATION_DONE. Una vez completada una solicitud a la API, tanto si se ha realizado correctamente como si 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 procede. Este campo se omite si no hay información adicional que mostrar.
operation cadena Cuando se hace una solicitud a la API para actualizar o cambiar algún recurso, se crea un objeto de operación correspondiente para hacer un seguimiento de la solicitud hasta que se complete. Esta propiedad describe el objeto de operación de este evento y proporciona información como el nombre de la operación, la zona o la región de la operación y el ID de la operación.

Las operaciones pueden ser operaciones de zona, operaciones de región u operaciones globales, según el recurso que modifiquen.

request JSON Contiene el cuerpo de la solicitud de la API original.

resource JSON Describe el recurso concreto que se está modificando con este evento. Por ejemplo, una instancia de máquina virtual (VM) se considera un recurso y una propiedad de recurso de ejemplo de una VM tiene el siguiente aspecto:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

En la referencia de la API se incluye una lista de tipos de recursos con descripciones detalladas.

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

trace_id cadena ID de traza proporcionado por el sistema que se usa para agrupar registros relacionados que se activan mediante una sola acción. Por ejemplo:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent cadena Describe el cliente que ha realizado esta solicitud. Por ejemplo, si has usado las bibliotecas de cliente de Cloud para Java para hacer una solicitud, el user-agent 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 la 1.2.

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

warning cadena Proporciona los detalles de las advertencias que se hayan producido durante este evento. Una advertencia es informativa y no afecta a la solicitud, a diferencia de los errores.

Entrada de registro de ejemplo

Por ejemplo, una entrada de registro de muestra que describe una solicitud de API para crear una VM tiene el siguiente aspecto:

{
  "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 de registro de actividad dejarán de estar disponibles el 1 de junio del 2020 y no se sustituirán:

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