Melihat log aktivitas


Log aktivitas Compute Engine tidak digunakan lagi. Sebagai gantinya, gunakan log audit. Untuk informasi selengkapnya, lihat Bermigrasi dari log aktivitas ke log audit.

Log aktivitas Compute Engine tidak sama dengan log audit. Log audit berisi informasi yang sama dengan log aktivitas lama dan lainnya. Sebaiknya gunakan log audit, bukan log aktivitas. Jika Anda sudah menggunakan log aktivitas, baca Bermigrasi dari log aktivitas ke log audit.

Compute Engine menyediakan log aktivitas agar Anda dapat melacak peristiwa tertentu yang mempengaruhi project Anda, seperti panggilan API dan peristiwa sistem. Secara khusus, log aktivitas memberikan informasi tentang:

  • Panggilan Compute Engine API: Peristiwa GCE_API_CALL adalah panggilan API yang mengubah status resource. Misalnya, panggilan API untuk membuat disk, mengupdate metadata instance, membuat grup instance, mengubah jenis mesin, direkam dalam log aktivitas. Panggilan API yang tidak memperbarui resource, seperti permintaan get dan list tidak akan direkam.
  • Log operasi: Peristiwa GCE_OPERATION_DONE dicatat saat panggilan API mengubah status penyelesaian resource, Compute Engine menampilkan peristiwa operasi selesai yang dicatat dalam log aktivitas Anda.
  • Log sistem: Peristiwa GCE_SYSTEM_EVENT dicatat saat Compute Engine melakukan peristiwa sistem, dan dicatat dalam log aktivitas. Misalnya, peristiwa pemeliharaan yang transparan akan dicatat ke dalam log sebagai peristiwa sistem.

Misalnya, dengan peristiwa API, log aktivitas memberikan detail seperti waktu mulai dan berakhir permintaan API, detail isi permintaan, pengguna yang diberi otorisasi yang membuat permintaan API, dan permintaan tersebut titik akhir. Anda dapat mendownload log aktivitas untuk menelusuri permintaan API tertentu, atau untuk meninjau peristiwa sistem yang dimulai oleh Compute Engine.

Log aktivitas tidak memberikan informasi penagihan atau penggunaan tentang project, seperti berapa lama instance virtual machine telah berjalan atau berapa biayanya. Untuk log penagihan, lihat fitur ekspor penagihan. Untuk log penggunaan, lihat Melihat laporan penggunaan.

Log aktivitas disediakan sebagai bagian dari layanan Cloud Logging. Untuk informasi selengkapnya tentang Logging secara umum, baca dokumentasi Cloud Logging.

Sebelum memulai

  • Memahami Cloud Logging.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    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

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

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

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Izin yang diperlukan untuk langkah ini

Untuk melakukan tugas ini, Anda harus memiliki izin berikut:

  • logging.logServiceIndexes.list pada project
  • logging.logServices.list pada project

Melihat log

Logging aktivitas diaktifkan secara default untuk semua project Compute Engine.

Anda dapat melihat log aktivitas project melalui Logs Explorer di Konsol Google Cloud:

  1. Di Konsol Google Cloud, buka halaman Logging.

    Buka halaman Logging

  2. Saat berada di Logs Explorer, pilih dan filter jenis resource dari menu drop-down pertama.
  3. Dari menu drop-down All logs, pilih compute.googleapis.com/activity_log untuk melihat log aktivitas Compute Engine.

Log perutean

Untuk mempelajari cara mengekspor log aktivitas, baca Mengonfigurasi dan mengelola sink di dokumentasi Cloud Logging.

Mengidentifikasi file log

Saat Anda mengekspor log ke Cloud Storage, file log akan disimpan dalam struktur yang dijelaskan dalam dokumentasi Objek entri log.

File log Compute Engine disimpan dengan struktur direktori berikut:

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

Berikut ini contoh nama file log yang disimpan dalam bucket Cloud Storage bernama my-bucket:

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

Di BigQuery, log aktivitas disimpan dalam sekumpulan tabel, satu tabel untuk setiap jenis log dan hari, dan tabel tersebut diberi nama menggunakan format berikut:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Untuk informasi tentang cara mengkueri log aktivitas di BigQuery, lihat Entri log di BigQuery.

Membaca log aktivitas

Log aktivitas disusun seperti yang dijelaskan dalam dokumentasi Jenis LogEntry.

Log aktivitas Compute Engine memiliki:

  • compute.googleapis.com/activity_log sebagai nilai kolom log
  • metadata, yang menjelaskan informasi umum seperti stempel waktu
  • structPayload, yang berisi konten spesifik entri log

Anda bisa mendapatkan detail lebih lanjut tentang kolom umum yang disediakan dengan setiap entri log dari deskripsi LogEntry, tetapi isi payload entri log aktivitas khusus untuk Compute Mesin telusur tersebut dan dijelaskan di bawah.

Konten payload

Konten entri log disediakan dalam format objek JSON, dan disimpan di kolom structPayload. Kolom structPayload berisi informasi berikut:

Kolom Jenis Deskripsi
actor string Email pengguna atau akun layanan yang menjalankan operasi. Ini sama dengan user_id.
error string Memberikan detail error jika terjadi error selama peristiwa ini. Chapter ini dihilangkan jika tidak ada error. Error biasanya mencegah permintaan agar berhasil diselesaikan. Anda dapat menggunakan kolom ini untuk men-debug permintaan yang gagal.
event_subtype string Menjelaskan subjenis tertentu sebagai metode API.

Misalnya, permintaan untuk sisipkan instance baru muncul sebagaicompute.instances.insert, dan permintaan untukmenghapus resource Address muncul sebagaicompute.addresses.delete singkat ini.

Baca referensi API untuk mengetahui daftar lengkap metode API.

event_timestamp_us timestamp Stempel waktu, dalam mikrodetik, dari peristiwa yang dicatat sejak epoch standar. Sama dengan metadata.timestamp.
event_type string Menjelaskan jenis acara umum.

Ini dapat berupa salah satu dari nilai berikut ini:

  • GCE_API_CALL. Menunjukkan panggilan REST API yang memperbarui resource.
  • GCE_OPERATION_DONE. Setelah permintaan API selesai, baik berhasil maupun tidak, jenis peristiwa ini akan dicatat dalam log.
  • GCE_SYSTEM_EVENT. Peristiwa sistem yang dimulai oleh Compute Engine.
info string Kolom opsional dengan informasi tambahan, jika berlaku. Kolom ini dihilangkan jika tidak ada informasi tambahan untuk ditampilkan.
operation string Saat permintaan API dibuat untuk memperbarui atau mengubah resource, objek operasi yang sesuai akan dibuat untuk melacak permintaan hingga selesai. Properti ini menjelaskan objek operasi untuk peristiwa ini, yang memberikan informasi seperti nama operasi, zona atau region operasi, dan ID operasi.

Operasi dapat berupa operasi zona, operasi region , atau operasi global , bergantung pada resource yang diubah oleh operasi tersebut.

request JSON Berisi isi permintaan API asli.

resource JSON Menjelaskan resource tertentu yang diubah oleh event ini. Misalnya, instance mesin virtual (VM) dianggap sebagai resource, dan properti resource contoh untuk VM akan terlihat seperti berikut:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

Daftar jenis resource dijelaskan secara mendetail dalam referensi API.

Catatan: Jika sebuah tindakan mempengaruhi beberapa resource, mungkin ada beberapa entri log dengan trace_id yang sama.

trace_id string ID rekaman aktivitas yang disediakan sistem yang digunakan untuk mengelompokkan log terkait yang dipicu oleh satu tindakan. Contoh:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent string Menjelaskan klien yang melakukan permintaan ini. Misalnya, jika Anda menggunakan Library Klien Cloud untuk Java untuk membuat permintaan, agen penggunanya adalah Google-API-Java-Client.
version string Versi format log saat ini menunjukkan skema log Compute Engine. Versi saat ini adalah 1.2.

Catatan: Pembuatan versi Compute Engine API terpisah dari pembuatan versi format log.

warning string Memberikan detail peringatan jika ada peringatan yang terjadi selama peristiwa ini. Peringatan bersifat informatif dan tidak memengaruhi permintaan, tidak seperti error.

Contoh entri log

Misalnya, contoh entri log yang menjelaskan permintaan API untuk membuat VM akan terlihat seperti berikut:

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

Entri log aktivitas yang tidak digunakan lagi

Entri log aktivitas berikut akan dihentikan, tanpa penggantian, pada 1 Juni 2020:

Jenis Resource yang Dimonitor Subjenis Peristiwa
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