Les journaux d'activité Compute Engine ne sont pas la même chose que les journaux d'audit . Les journaux d'audit contiennent les mêmes informations que les anciens journaux d'activité, et d'autres informations. Nous vous recommandons d'utiliser les journaux d'audit à la place des journaux d'activité. Si vous utilisez déjà des journaux d'activité, lisez Passer des journaux d'activité aux journaux d'audit.
Compute Engine fournit des journaux d'activité qui vous permettent d'effectuer le suivi de certains événements ayant une incidence sur votre projet, tels que les appels d'API et les événements système. Plus précisément, les journaux d'activité fournissent des informations sur les éléments suivants :
- Appels d'API de Compute Engine : les événements
GCE_API_CALL
sont des appels d'API qui modifient l'état d'une ressource. Par exemple, les appels d'API pour créer un disque, mettre à jour les métadonnées d'une instance, créer un groupe d'instances ou modifier un type de machine sont enregistrés dans les journaux d'activité. Les appels d'API qui ne mettent pas à jour une ressource, tels que les demandesget
etlist
, ne sont pas enregistrés. - Journaux des opérations : les événements
GCE_OPERATION_DONE
sont consignés lorsqu'un appel d'API modifie l'état d'une ressource. Une fois la modification effectuée, Compute Engine renvoie un événement d'opération terminée qui est enregistré dans les journaux d'activité. - Journaux système : les événements
GCE_SYSTEM_EVENT
sont consignés lorsque Compute Engine initie un événement système qui est ensuite enregistré dans les journaux d'activité. Par exemple, un événement de maintenance transparente est consigné en tant qu'événement système.
Par exemple, dans le cadre d'un événement API, un journal d'activité fournit des informations telles que l'heure de début et de fin d'une requête API, les détails du corps de la requête, l'utilisateur autorisé ayant effectué la requête API et le point de terminaison de la requête. Vous pouvez télécharger des journaux d'activité pour rechercher des requêtes API spécifiques ou pour examiner les événements système lancés par Compute Engine.
Les journaux d'activité ne fournissent pas d'informations de facturation ou d'utilisation sur un projet, telles que la durée d'exécution d'une instance de machine virtuelle ou son coût. Pour en savoir plus sur les journaux de facturation, consultez la section sur la fonctionnalité d'exportation de la facturation. Pour en savoir plus sur les journaux d'utilisation, consultez la section Afficher les rapports d'utilisation.
Les journaux d'activité sont fournis dans le cadre du service Cloud Logging. Pour en savoir plus sur Logging en général, consultez la documentation Cloud Logging.
Avant de commencer
- Familiarisez-vous avec Cloud Logging.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
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
sur le projetlogging.logServices.list
sur le projet- Dans la console Google Cloud, accédez à la page Logging.
- Dans l'explorateur de journaux, sélectionnez et filtrez votre type de ressource dans la première liste déroulante.
- Dans la liste déroulante Tous les journaux, sélectionnez compute.googleapis.com/activity_log pour consulter les journaux d'activité de Compute Engine.
compute.googleapis.com/activity_log
en tant que valeur du champlog
metadata
, qui décrit des informations courantes, telles que l'horodatagestructPayload
, qui contient le contenu spécifique de l'entrée de journalGCE_API_CALL
: Indique un appel d'API REST qui a mis à jour une ressource.GCE_OPERATION_DONE
: Une fois la requête API terminée, qu'elle soit réussie ou non, ce type d'événement est enregistré.GCE_SYSTEM_EVENT
: Un événement système lancé par Compute Engine.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
Afficher les journaux
La journalisation des activités est activée par défaut pour tous les projets Compute Engine.
Vous pouvez afficher les journaux d'activité de votre projet via l'explorateur de journaux dans Google Cloud Console :
Router les journaux
Pour savoir comment exporter des journaux d'activité, consultez la page Configurer et gérer des récepteurs de la documentation de Cloud Logging.
Identifier les fichiers journaux
Lorsque vous exportez des journaux dans Google Cloud Storage, les fichiers journaux sont stockés dans la structure décrite dans la section Objets d'entrées de journal de la documentation.
Les fichiers journaux de Compute Engine sont stockés dans la structure de répertoires suivante :
<bucket>/compute.googleapis.com/activity_log/<year>/<month>/<day>
Vous trouverez ci-dessous un exemple de nom de fichier journal stocké dans un bucket Cloud Storage nommé
my-bucket
:my-bucket/compute.googleapis.com/activity_log/2014/10/31/20:00:00_20:59:59_S0.json
Dans BigQuery, les journaux d'activité sont stockés dans un ensemble de tables, une table pour chaque type de journal et chaque jour. Les tables sont nommées selon le format suivant :
<dataset>.compute_googleapis_com_activity_log_YYYYMMDD
Pour plus d'informations sur l'interrogation des journaux d'activité dans BigQuery, consultezEntrées de journal dans BigQuery.
Lire les journaux d'activité
La structure des journaux d'activité est décrite dans la section type LogEntry.
Les journaux d'activité de Compute Engine incluent les éléments suivants :
Vous pouvez obtenir plus de détails sur les champs communs à chaque entrée de journal de la description LogEntry, mais le contenu de la charge utile est spécifique à Compute Engine, tel que décrit ci-dessous.
Contenu de la charge utile
Le contenu d'une entrée de journal est fourni au format d'objet JSON et stocké dans le champ
structPayload
. Le champstructPayload
contient les informations suivantes :Champ Type Description actor
chaîne Adresse e-mail de l'utilisateur ou du compte de service effectuant l'opération. Cette valeur est identique à user_id
.error
chaîne Fournit tous les détails de l'erreur si une erreur s'est produite lors de cet événement. Ce champ est omis si aucune erreur ne s'est produite. Les erreurs empêchent généralement une requête de se terminer correctement. Vous pouvez utiliser ce champ pour déboguer une requête ayant échoué. event_subtype
chaîne Décrit le sous-type spécifique en tant que méthode API. Par exemple, une requête visant à insérer une nouvelle instance apparaît sous la forme
compute.instances.insert
, et une requête visant à supprimer une ressource d'adresse apparaît sous la formecompute.addresses.delete
.Consultez la documentation de référence sur les API pour obtenir la liste complète des méthodes API.
event_timestamp_us
timestamp Horodatage de l'événement enregistré en microsecondes depuis l'époque standard. Cette valeur est identique à metadata.timestamp
.event_type
chaîne Décrit le type d'événement général. Il peut s'agir de l'une des valeurs suivantes :
info
chaîne Un champ facultatif contenant des informations supplémentaires, le cas échéant. Ce champ est omis s'il n'y a pas d'informations supplémentaires à afficher. operation
chaîne Lorsqu'une requête API est effectuée pour mettre à jour ou modifier des ressources, un objet d'opération correspondant est créé pour effectuer le suivi de la requête jusqu'à son terme. Cette propriété décrit l'objet d'opération pour cet événement et fournit des informations telles que le nom, la zone ou la région et l'ID de l'opération. Une opération peut être zonale, régionale ou globale, en fonction de la ressource modifiée.
request
JSON Contient le corps de la requête API d'origine. resource
JSON Décrit la ressource particulière en cours de modification par cet événement. Par exemple, une instance de machine virtuelle (VM) est considérée comme une ressource et un exemple de propriété de ressource pour une VM se présente comme suit : "resource": { "type": "instance", "name": "example-instance", "id": "0", "zone": "us-central1-f" }
La liste des types de ressources est décrite en détail dans la documentation de référence sur les API.
Remarque : Si une action affecte plusieurs ressources, il peut exister plusieurs entrées de journal avec le même
trace_id
.trace_id
chaîne ID de trace fourni par le système utilisé pour regrouper les journaux associés déclenchés par une action unique. Par exemple : trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent
chaîne Décrit le client qui a exécuté cette requête. Par exemple, si vous avez utilisé des bibliothèques clientes Cloud pour Java afin d'exécuter une requête, le programme user-agent serait Google-API-Java-Client
.version
chaîne La version actuelle du format de journal indique le schéma de journal de Compute Engine. La version actuelle est 1.2. Remarque : La gestion des versions de l'API Compute Engine est distincte de la gestion des versions du format de journal.
warning
chaîne Fournit tous les détails des avertissements qui se sont produits pendant cet événement. Un avertissement est informatif et n'affecte pas la requête, contrairement aux erreurs. Exemple d'entrée de journal
Par exemple, un exemple d'entrée de journal décrivant une requête d'API pour créer une VM se présente comme suit :
{ "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" } } }
Les entrées de journal d'activités obsolètes
Les entrées de journal d'activité suivantes ne seront plus disponibles à compter du 1er juin 2020 et ne seront pas remplacées :
Type de ressource surveillée Sous-type d'événement 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
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-