Instance virtual machine (VM) memiliki empat port serial virtual. Sistem operasi instance, BIOS, dan entitas level sistem lainnya sering menulis output ke port serial, sehingga output port serial berguna untuk memecahkan masalah error, booting gagal, masalah startup, atau masalah shutdown.
Halaman ini menjelaskan metode untuk melihat output port serial, termasuk menggunakan Cloud Logging untuk mempertahankan output port serial bahkan setelah instance dihentikan atau dihapus. Jika Anda perlu mengirim perintah ke port serial saat instance sedang berjalan, lihat Berinteraksi dengan konsol serial.
Output port serial dapat diakses melalui konsol Google Cloud, gcloud CLI, dan REST, tetapi hanya saat instance VM berjalan. Log dibatasi hingga 1 MB output terbaru per port.
Jika Anda mengaktifkan logging output port serial, Cloud Logging akan menyediakan logging 50 gigabyte (GiB) pertama per bulan secara gratis dan mempertahankan log selama 30 hari.
Sebelum memulai
- Jika ingin mencatat output port serial ke dalam log di Cloud Logging, pahami 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Di Konsol Google Cloud, buka halaman VM instances.
Pilih instance VM yang ingin Anda lihat output port serialnya.
Di bagian Log, klik Port serial 1, 2, 3, atau 4. Entitas level sistem biasanya menggunakan port serial pertama (port 1), yang juga dikenal sebagai konsol serial.
INSTANCE_NAME
: nama instance.PORT
: jumlah port (1
,2
,3
, atau4
) yang ingin Anda lihat output-nya. Entity level sistem biasanya menggunakan port serial pertama (port 1), yang juga dikenal sebagai konsol serial. Secara default, output port serial pertama akan ditampilkan.START
: indeks byte (berbasis nol) dari byte pertama yang ingin Anda tampilkan. Gunakan flag ini jika Anda ingin terus mendapatkan output dari permintaan sebelumnya yang terlalu panjang untuk ditampilkan dalam satu kali percobaan.ZONE
: zona instance Anda.- Aktifkan logging port serial ke Cloud Logging.
Buka halaman Instance VM.
Pilih instance VM dengan log agen startup yang ingin Anda lihat.
Di bagian Log, klik Cloud Logging untuk melihat log Cloud Logging.
Luaskan menu drop-down Semua log lalu pilih output port serial yang ingin Anda lihat. Entitas level sistem biasanya menggunakan port serial pertama (port 1), yang juga dikenal sebagai konsol serial. Jika port tidak muncul di menu drop-down, berarti port tersebut tidak memiliki output yang tersedia.
Secara opsional, luaskan menu drop-down Level log mana pun untuk menonaktifkan log yang berada di bawah level keparahan yang ingin Anda lihat. Misalnya, jika memilih level log "Info", Anda akan membisukan entri log "Debug". Entri "Debug" biasanya hanya digunakan oleh BIOS saat booting.
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.
Mengaktifkan dan menonaktifkan logging output port serial
Anda dapat mengontrol apakah instance Anda mengirim output port serial ke Cloud Logging dengan menetapkan metadata level project atau instance. Anda juga dapat menonaktifkan fitur ini untuk semua pengguna di organisasi dengan menyetel kebijakan organisasi.
Menetapkan metadata project dan instance
Secara default, logging output port serial ke Cloud Logging dinonaktifkan. Jika logging output port serial ke Cloud Logging tidak dibatasi untuk organisasi Anda, Anda dapat mengaktifkan atau menonaktifkannya untuk project dan setiap instance VM dengan menetapkan entri metadata
serial-port-logging-enable
ketrue
ataufalse
.Jika Anda menetapkan entri metadata di seluruh project, semua instance VM dalam project akan mewarisi setelan tersebut secara implisit. Jika Anda menetapkan entri metadata instance, entri metadata tersebut hanya akan diaktifkan untuk VM tersebut, terlepas dari setelan project.
Anda dapat menetapkan entri metadata menggunakan konsol Google Cloud, gcloud CLI, atau Compute Engine API. Untuk mengetahui informasi lebih lanjut, lihat Menyetel metadata kustom.
Misalnya, perintah gcloud CLI berikut memungkinkan logging output port serial ke Cloud Logging untuk project Anda:
gcloud compute project-info add-metadata \ --metadata serial-port-logging-enable=true
Demikian pula, perintah gcloud CLI berikut memungkinkan logging output port serial ke Cloud Logging untuk instance tertentu:
gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=true
Untuk menonaktifkan logging output port serial ke Cloud Logging, tetapkan
serial-port-logging-enable
kefalse
:gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=false
Filter pengecualian
Dari dalam Cloud Logging, Anda dapat membuat filter pengecualian untuk menghapus entri port serial tertentu dari Logs Explorer. Misalnya, dengan entri metadata tingkat project yang ditetapkan ke
serial-port-logging-enable=true
, Anda dapat menonaktifkan logging output port serial untuk instance VM tertentu menggunakan filter lanjutan:logName = "projects/PROJECT_ID/logs/serialconsole.googleapis.com%2Fserial_port_1_output" resource.type = "gce_instance" resource.labels.instance_id != "INSTANCE_1_ID" resource.labels.instance_id != "INSTANCE_2_ID"
Menetapkan kebijakan organisasi
Anda dapat menonaktifkan logging output port serial ke Cloud Logging untuk seluruh organisasi dengan menetapkan Kebijakan Organisasi, yang membatasi konfigurasi tertentu resource Google Cloud. Secara khusus, tetapkan batasan boolean berikut:
constraints/compute.disableSerialPortLogging
. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola kebijakan organisasi.Menonaktifkan logging port serial dengan menetapkan
constraints/compute.disableSerialPortLogging
ketrue
tidak berlaku. Instance VM yang ada dengan entri metadata yang memungkinkan logging port serial ke Cloud Logging akan terus dicatat ke Cloud Logging, kecuali jika Anda mereset metadata untuk instance tersebut.Setelah menetapkan batasan organisasi ini ke
true
, Anda tidak dapat menetapkan metadata instance atau project untuk mengaktifkan logging output port serial ke Cloud Logging untuk instance apa pun dalam organisasi.Melihat output port serial
Konsol
gcloud
Gunakan perintah
gcloud compute instances get-serial-port-output
.gcloud compute instances get-serial-port-output INSTANCE_NAME \ --port PORT \ --start START \ --zone ZONE
Ganti kode berikut:
REST
Di API, buat permintaan
get
ke metodeinstances.getSerialPortOutput
.GET https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/serialPort
Cloud Logging
Untuk informasi lebih lanjut, termasuk informasi tentang pemfilteran, lihat Menggunakan Logs Explorer.
Menangani karakter non-UTF8
Output port serial di-escape dengan menggunakan metode
CHexEscape()
library C++ Abseil open source, sehingga karakter non-UTF8 dienkode sebagai string heksadesimal. Anda dapat menggunakan metodeCUnescape()
yang sesuai untuk mendapatkan output yang tepat yang dikirim ke port serial.Error port serial umum
Berikut adalah contoh error umum yang mungkin Anda temui dalam output port serial.
Terjadi error saat mengonfigurasi IPv6
Error berikut mungkin terjadi di log jurnal OS saat IPv6 tidak dikonfigurasi:
ERROR addresses.go:301 Error configuring IPv6: Internet Systems Consortium DHCP Client 4.2.5
Abaikan error ini. Error ini tidak memengaruhi VM Anda.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-