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 permintaanget
danlist
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.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
logging.logServiceIndexes.list
pada projectlogging.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:
- Pada konsol Google Cloud, buka halaman Logging.
- Saat berada di Logs Explorer, pilih dan filter jenis resource dari menu drop-down pertama.
- 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 kolomlog
metadata
, yang menjelaskan informasi umum seperti stempel waktustructPayload
, 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 sebagai 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:
|
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 |
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 |