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. Te recomendamos que uses registros de auditoría en lugar de registros de actividad. Si ya usas registros de actividad, consulta cómo migrar de registros de actividad a registros de auditoría.
Compute Engine proporciona registros de actividad que te permiten realizar un seguimiento de ciertos eventos que afectan a tu proyecto, como las llamadas a la API y los eventos del sistema. En específico, 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 la instancia, crear un grupo de instancias y 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 solicitudesget
ylist
, no se registran. - Registros de operaciones: Los eventos
GCE_OPERATION_DONE
se registran cuando finaliza una llamada a la API que cambia el estado de un recurso. Compute Engine muestra que se completó un evento de operación que se registra en tus 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 la API, un registro de actividad proporciona detalles como la hora de inicio y de finalización de una solicitud a la API, los detalles del cuerpo de la solicitud, el usuario autorizado que realizó la solicitud a la API y el extremo de la solicitud. Puedes descargar los registros de actividad para buscar solicitudes específicas a la API o revisar eventos del sistema que inició Compute Engine.
Los registros de actividad no proporcionan información sobre el uso o la facturación de un proyecto, como hace cuánto tiempo se ejecuta una instancia de máquina virtual o cuánto cuesta. Para obtener los registros de facturación, consulta la característica de exportación de facturación. Para obtener los registros de uso, consulta Ve informes de uso.
Los registros de actividad se proporcionan como parte del servicio de Cloud Logging. Para obtener más información acerca de Logging en general, lee la documentación de Cloud Logging.
Antes de comenzar
- Obtén información sobre Cloud Logging.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
logging.logServiceIndexes.list
en el proyectologging.logServices.list
en el proyecto- En la consola de Google Cloud, ve a la página Logging.
- En el Explorador de registros, elige y filtra el tipo de recurso en la primera lista desplegable.
- En la lista desplegable Todos los registros, elige compute.googleapis.com/activity_log para ver los registros de actividad de Compute Engine.
compute.googleapis.com/activity_log
como valor del campolog
metadata
, que describe la información común como la marca de tiempostructPayload
, que contiene los contenidos específicos de la entrada de registroGCE_API_CALL
: Indica una llamada a la API de REST que actualizó un recurso.GCE_OPERATION_DONE
: Una vez que se completa una solicitud a la API, ya sea exitosa o no, se registra este tipo de evento.GCE_SYSTEM_EVENT
: Un evento del sistema que inició Compute Engine.
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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas 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, debes tener los siguientes permisos:
Visualiza registros
El registro de actividad está habilitado de forma predeterminada para todos los proyectos de Compute Engine.
Para ver los registros de actividad de tu proyecto a través del Explorador de registros en la consola de Google Cloud, haz lo siguiente:
Enruta registros
Para obtener información sobre cómo exportar registros de actividad, consulta Configura y administra receptores en la documentación de Cloud Logging.
Identifica archivos de registro
Cuando exportas registros a Cloud Storage, los archivos de registro se almacenan en la estructura descrita en la documentación Objetos de entrada de registros.
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 nombre de archivo de registro de ejemplo almacenado en un bucket 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, en el que hay una tabla para cada día y tipo de registro, y las tablas se nombran con el siguiente formato:
<dataset>.compute_googleapis_com_activity_log_YYYYMMDD
Para obtener información sobre cómo consultar los registros de actividad en BigQuery, consulta la página sobre entradas de registro en BigQuery.
Lee los registros de actividad
Los registros de actividad se estructuran como se describe en la documentación sobre el tipo LogEntry.
Los registros de actividad de Compute Engine tienen lo siguiente:
Puedes obtener más detalles acerca de 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 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 campostructPayload
contiene la siguiente información:Campo Tipo Descripción actor
string El correo electrónico de la cuenta de usuario o servicio que realiza la operación. Es igual a user_id
.error
string Proporciona detalles de cualquier error que se haya producido durante este evento. Se omite si no hay errores. En general, los errores evitan que una solicitud se complete con éxito. Puedes usar este campo para depurar una solicitud con errores. event_subtype
string Describe el subtipo específico como un método de la API. Por ejemplo, una solicitud para insertar una nueva instancia se muestra como
compute.instances.insert
, y una solicitud para borrar un recurso de dirección se muestra comocompute.addresses.delete
.Consulta la referencia de la API para obtener una lista completa de los métodos de la API.
event_timestamp_us
marca de tiempo La marca de tiempo, en microsegundos, del evento registrado desde el ciclo de entrenamiento estándar. Es igual a metadata.timestamp
.event_type
string Describe el tipo de evento general. Puede ser uno de los siguientes valores:
info
string Un campo opcional con información adicional, si corresponde. Este campo se omite si no hay información adicional para mostrar. operation
string Cuando se realiza una solicitud a la API para actualizar o cambiar algún recurso, se crea un objeto de operación correspondiente a fin de realizar el seguimiento de la solicitud. En esta propiedad, se describe el objeto de operación de este evento y se proporciona información como el nombre, la zona o regió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, en función del recurso que la operación modifica.
request
JSON Contiene el cuerpo de solicitud a la API original. resource
JSON Describe el recurso específico que modifica 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 tiene el siguiente aspecto: "resource": { "type": "instance", "name": "example-instance", "id": "0", "zone": "us-central1-f" }
En la referencia de la API, se describe en detalle una lista de los 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
string Un ID de seguimiento proporcionado por el sistema que se usa para agrupar los registros relacionados que se activan con una sola acción. Por ejemplo: trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent
string Describe al cliente que realizó esta solicitud. Por ejemplo, si usaste las bibliotecas cliente de Cloud para Java a fin de realizar una solicitud, el usuario-agente sería Google-API-Java-Client
.version
string 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
string Proporciona detalles de cualquier advertencia que se haya producido durante este evento. A diferencia de los errores, una advertencia es informativa y no afecta a la solicitud. Entrada de registro de muestra
Por ejemplo, una entrada de registro de muestra en la que se describe una solicitud a la 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 del registro de actividad se suspenderán, sin reemplazo, el 1 de junio de 2020:
Tipo de recurso supervisado 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
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-20 (UTC)
-