Visualizzazione dei log delle attività

I log delle attività di Compute Engine sono deprecati. Invece, Utilizzare gli audit log. Per ulteriori informazioni, vedi Migrazione dai log delle attività agli audit log.

I log delle attività di Compute Engine non sono la stessa cosa log di controllo. Gli audit log contengono le stesse informazioni log delle attività legacy e altro ancora. Ti consigliamo di utilizzare gli audit log anziché log delle attività. Se utilizzi già i log delle attività, consulta Migrazione dai log delle attività agli audit log.

Compute Engine fornisce log delle attività che ti consentono di monitorare che interessano il tuo progetto, come le chiamate API e gli eventi di sistema. In particolare, i log delle attività forniscono informazioni su:

  • Chiamate API Compute Engine: GCE_API_CALL eventi sono Chiamate API che modificano lo stato di un risorsa. Ad esempio, chiamate API per creare un disco, aggiornare i metadati dell'istanza creare un gruppo di istanze, cambiare un tipo di macchina, vengono registrati logaritmi. Chiamate API che non aggiornano una risorsa, come get e list richieste non vengono registrate.
  • Log delle operazioni: gli eventi GCE_OPERATION_DONE vengono registrati quando una chiamata API cambia lo stato di una risorsa, Compute Engine restituisce un evento di operazione completata che viene registrato nei log delle attività.
  • Log di sistema: vengono registrati GCE_SYSTEM_EVENT eventi quando Compute Engine esegue un evento di sistema, questo viene registrato nell'attività logaritmi. Ad esempio, un evento di manutenzione trasparente viene registrato come evento di sistema.

Ad esempio, con un evento API, un log delle attività fornisce dettagli come l'ora di inizio e di fine di una richiesta API, le specifiche del corpo della richiesta l'utente autorizzato che ha effettuato la richiesta API e l'endpoint della richiesta. Puoi scaricare i log delle attività per cercare richieste API specifiche, oppure per esaminare gli eventi di sistema avviati da Compute Engine.

I log delle attività non forniscono informazioni sulla fatturazione o sull'utilizzo di un progetto, ad esempio da quanto tempo è stata in esecuzione un'istanza di macchina virtuale quanto costa. Per i log di fatturazione, consulta funzionalità di esportazione della fatturazione. Per log di utilizzo, consulta Visualizzazione dei report sull'utilizzo.

I log delle attività vengono forniti nell'ambito di Cloud Logging completamente gestito di Google Cloud. Per ulteriori informazioni sul logging in generale, consulta consulta la documentazione di Cloud Logging.

Prima di iniziare

  • Conosci Cloud Logging.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

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

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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Autorizzazioni richieste per questa attività

Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:

  • logging.logServiceIndexes.list nel progetto
  • logging.logServices.list nel progetto

Visualizzazione dei log

Il logging delle attività è abilitato per impostazione predefinita per tutto Compute Engine in modo programmatico a gestire i progetti.

Puoi visualizzare i log delle attività del progetto tramite Esplora log nella console Google Cloud:

  1. Nella console Google Cloud, vai alla pagina Logging.

    Vai alla pagina Logging

  2. In Esplora log, seleziona e filtra il tipo di risorsa primo elenco a discesa.
  3. Dall'elenco a discesa Tutti i log, seleziona compute.googleapis.com/activity_log per vedere Compute Engine log delle attività.

Log di routing

Per scoprire come esportare i log delle attività, consulta Configura e gestisci i sink nel documentazione di Cloud Logging.

Identificazione dei file di log

Quando esporti i log in Cloud Storage, i file di log vengono archiviati nel strutturata descritta Oggetti voce di log documentazione.

I file di log di Compute Engine sono archiviati nella seguente directory struttura:

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

Di seguito è riportato un esempio di nome file di log archiviato in Cloud Storage bucket denominato my-bucket:

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

In BigQuery, i log delle attività sono archiviati in un insieme di tabelle, un'unica tabella ogni tipo di log e giorno e le tabelle sono denominate nel seguente formato:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Per informazioni su come eseguire query sui log delle attività in BigQuery, consulta Voci di log in BigQuery.

Lettura dei log delle attività

I log delle attività sono strutturati come descritto nella sezione Tipo di LogEntry documentazione.

I log delle attività di Compute Engine includono:

  • compute.googleapis.com/activity_log come valore del campo log
  • metadata, che descrive informazioni comuni come timestamp
  • structPayload, che include i contenuti specifici della voce di log

Puoi ottenere ulteriori dettagli sui campi comuni forniti con ogni log voce dal LogEntry descrizione, ma i contenuti del payload delle voci di log delle attività sono specifici per Compute Engine e sono descritti di seguito.

Contenuti payload

I contenuti di una voce di log vengono forniti in formato oggetto JSON e vengono archiviati nel campo structPayload. Il campo structPayload contiene quanto segue informazioni:

Campo Tipo Descrizione
actor string Email dell'account utente o di servizio che esegue l'operazione. Questo è il uguale a user_id.
error string Fornisce eventuali dettagli dell'errore se si è verificato un errore durante l'evento. Questo campo viene omesso se non ci sono errori. In genere gli errori impediscono una richiesta di essere completati correttamente. Puoi utilizzare questo campo per eseguire il debug di una richiesta non riuscita.
event_subtype string Descrive il sottotipo specifico come metodo API.

Ad esempio, una richiesta a inserisci una nuova istanza compare come compute.instances.insert e una richiesta elimina una risorsa Address viene visualizzato come compute.addresses.delete.

Consulta il riferimento API per un elenco completo dei metodi dell'API.

event_timestamp_us timestamp Il timestamp, in microsecondi, dell'evento registrato dall'epoca standard. È lo stesso di metadata.timestamp.
event_type string Descrive il tipo di evento generale.

Può trattarsi di uno dei seguenti valori:

  • GCE_API_CALL. Indica una chiamata API REST che ha aggiornato un risorsa.
  • GCE_OPERATION_DONE. Dopo il completamento di una richiesta API, riuscito o meno, questo tipo di evento viene registrato.
  • GCE_SYSTEM_EVENT. Un evento di sistema avviato da in Compute Engine.
info string Un campo facoltativo con informazioni aggiuntive, se applicabile. Questo campo viene omesso se non ci sono informazioni aggiuntive da mostrare.
operation string Quando viene effettuata una richiesta API per aggiornare o modificare una risorsa, viene creato l'oggetto operazione corrispondente per tenere traccia della richiesta fino al completamento. Questa proprietà descrive l'oggetto dell'operazione per questo evento, fornendo informazioni come il nome dell'operazione, la zona o la regione dell'operazione, e l'ID operazione.

Le operazioni possono essere un'operazione di zona, operazione nella regione, o un operazioni globali, a seconda della risorsa modificata dall'operazione.

request JSON Contiene il corpo della richiesta API originale.

resource JSON Descrive la risorsa specifica modificata da questo evento. Ad esempio, un'istanza di una macchina virtuale (VM) è considerata una risorsa e di risorsa di esempio per una VM è simile alla seguente:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

Un elenco dei tipi di risorse è descritto in dettaglio nella Riferimento API.

Nota:se un'azione interessa più risorse, potrebbero esserci più voci di log con lo stesso trace_id.

trace_id string Un ID traccia fornito dal sistema utilizzato per raggruppare i log correlati che vengono attivati una singola azione. Ad esempio:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent string Descrive il client che ha eseguito la richiesta. Ad esempio: Se hai utilizzato le librerie client di Cloud per Java per effettuare una richiesta, l'utente con il quale l'agente Google-API-Java-Client.
version string L'attuale versione del formato di log indica Compute Engine schema di log. La versione attuale è la 1.2.

Nota: l'API Compute Engine il controllo delle versioni è separato da quello del formato di log.

warning string Fornisce dettagli sugli avvisi se si sono verificati avvisi durante l'evento. R è informativo e non riguarda la richiesta, a differenza degli errori.

Esempio di voce di log

Ad esempio, una voce di log di esempio che descrive una richiesta API per creare La VM ha il seguente aspetto:

{
  "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"
    }
  }
}

Voci del log delle attività obsolete

Le seguenti voci del log delle attività non saranno più disponibili, senza sostituzioni, il 1° giugno 2020:

Tipo di risorsa monitorata Sottotipo 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