Container-Optimized OS menyertakan agen logging yang mengekspor beberapa log sistem dan container ke Cloud Logging. Hingga Container-Optimized OS 101, image Container-Optimized OS berbasis x86 menggunakan agen logging dalam container berdasarkan fluentd. Container-Optimized OS 105 mulai mengirimkan implementasi agen logging alternatif, fluent-bit. Mulai Container-Optimized OS 109, agen logging fluent-bit adalah default. Agen logging lama, fluentd, akan dihapus di Container-Optimized OS 113.
Semua versi image Container-Optimized OS berbasis Arm mengirimkan agen logging fluent-bit.
Mengaktifkan agen logging
Agen logging dinonaktifkan secara default. Anda dapat mengaktifkan fitur ini saat membuat instance baru atau dengan memperbarui instance yang ada.
Persyaratan Akses
Cloud Logging menyediakan peran IAM yang dapat Anda gunakan untuk memberikan akses yang sesuai. Untuk melihat log dalam project, Anda harus memiliki peran roles/logging.viewer
dan aplikasi harus memiliki izin untuk menulis log. Anda dapat memberikan izin ini dengan menetapkan
peran IAM roles/logging.logWriter
ke akun layanan untuk
aplikasi.
Untuk mengetahui informasi selengkapnya tentang izin dan peran, lihat Peran yang telah ditetapkan.
Membuat instance dengan agen logging diaktifkan
Konsol
Untuk menjalankan instance Compute Engine di Container-Optimized OS dengan agen logging fluent-bit yang diaktifkan, lakukan tindakan berikut:
Buka halaman pembuatan instance Compute Engine di konsol Google Cloud.
Tentukan Nama untuk instance Anda.
Di bagian Boot disk, pilih image Container-Optimized OS.
Klik Management, security, disks, networking, sole tenancy untuk memperluas opsi tambahan.
Di tab Pengelolaan, scroll ke bagian Metadata. Tambahkan entri metadata baru, dengan Kunci sebagai
google-logging-enabled
dan Nilai sebagaitrue
.Atau, tentukan opsi lain untuk kasus penggunaan Anda. Lihat Membuat dan mengonfigurasi instance untuk mengetahui detail selengkapnya.
Klik Create untuk membuat dan mem-booting instance.
gcloud
Untuk menjalankan instance Compute Engine di Container-Optimized OS dengan agen logging
yang diaktifkan, gunakan perintah gcloud compute instances create
, dan sertakan
google-logging-enabled=true
dalam metadata. Contoh:
gcloud compute instances create instance-name \ --image image-name \ --image-project cos-cloud \ --zone compute-zone \ --metadata google-logging-enabled=true
Ganti kode berikut:
- instance-name: nama instance VM Anda.
- image-name: nama image Container-Optimized OS untuk instance. Contoh,
--image=cos-113-18244-85-29
. - compute-zone: zona komputasi untuk instance Anda.
Untuk mengetahui informasi selengkapnya tentang perintah gcloud
, lihat dokumentasi referensi gcloud compute instances create.
Untuk mengetahui detail selengkapnya tentang cara membuat instance Container-Optimized OS, lihat
Membuat dan mengonfigurasi instance.
Memilih agen logging
Image Container-Optimized OS 105 dan 109 berbasis x86 mengirimkan dua implementasi
agen logging: fluentd (lama) dan fluent-bit.
Container-Optimized OS 105 menggunakan fluentd secara default dan
Container-Optimized OS 109 menggunakan fluent-bit secara default. Anda dapat menggunakan entri metadata
google-logging-use-fluentbit
untuk mengubah perilaku default.
Untuk menggunakan agen logging fluent-bit di Container-Optimized OS 105, tetapkan
nilai google-logging-use-fluentbit
ke true
.
Untuk menggunakan agen logging fluentd di Container-Optimized OS 109, tetapkan
nilai google-logging-use-fluentbit
ke false
.
Mengaktifkan agen logging dalam metadata project
Mulai milestone 97, logging dapat diaktifkan di metadata project:
gcloud compute project-info add-metadata \
--metadata google-logging-enabled=true
Log akses
Konsol
Buka halaman VM instances.
Klik nama instance Container-Optimized OS tempat Anda ingin mengakses log.
Di bagian Logs, klik Cloud Logging.
Tindakan ini akan membuka Logs Explorer untuk instance yang diberikan. Untuk informasi selengkapnya, lihat Menggunakan Logs Explorer.
gcloud
Untuk mengakses log, gunakan perintah gcloud logging read
. Contoh:
gcloud logging read \ "resource.type=gce_instance AND resource.labels.instance_id=instance-id" \ --limit 10 \ --format json \ --freshness 30d
Ganti kode berikut:
- instance-id: ID instance VM Anda.
Perintah ini mencoba membaca log dari instance VM dengan instance-id, yang membatasi hingga 10 log, dalam format JSON, dari 30 hari terakhir.
Untuk informasi selengkapnya tentang perintah gcloud
, lihat dokumentasi referensi gcloud logging read.
Bagaimana cara kerjanya?
Agen logging dikonfigurasi secara default untuk mengirim log dari layanan kritis sistem tertentu dan penampung aplikasi pengguna ke backend Cloud Logging. Misalnya, log dari penampung docker, layanan systemd yang dipilih, log audit, error log jurnal, dll. Lihat sumber konfigurasi khusus Container-Optimized OS (image x86 dan image Arm) untuk konfigurasi logging default lengkap.
Untuk image x86 Container-Optimized OS 105 dan yang lebih lama, agen logging adalah agen Logging lama dalam container Google Cloud Observability. Perintah docker yang memulai agen logging ditentukan di sumber untuk layanan systemd stackdriver-logging Container-Optimized OS. Versi agen container yang dijalankan ditentukan di direktori app-admin/stackdriver sumber Container-Optimized OS.
Untuk image Arm dari semua versi dan image x86 untuk Container-Optimized OS 109 dan yang lebih baru, agen logging adalah paket OS bawaan yang disebut fluent-bit. Agen ini di-build ke dalam OS dan diupdate bersama dengan image OS.
Batasan Umum
Kompatibilitas dengan driver gcplogs
Mulai dari
milestone 89,
jika agen logging yang disertakan dengan Container-Optimized OS diaktifkan dan driver logging
gcplogs
Docker diaktifkan untuk satu atau beberapa penampung, log peringatan
yang berlebihan dapat dihasilkan oleh agen logging yang disertakan. Hal ini dapat menyebabkan derau log dan/atau meningkatkan biaya terkait Cloud Logging.
Solusi untuk mengatasinya adalah dengan tidak menggunakan gcplogs
sebagai driver logging Docker, dan
menggunakan driver default seperti yang dikonfigurasi oleh Container-Optimized OS. Perhatikan
bahwa agen logging yang disertakan dengan Container-Optimized OS akan mengekspor
log penampung ke Cloud Logging, sehingga penggunaan kedua solusi secara bersamaan
tidak diperlukan.
Kompatibilitas konfigurasi agen logging
Agen logging adalah penampung berbasis fluentd pada image Container-Optimized OS berbasis x86 dan biner fluent-bit pada image Container-Optimized OS berbasis Arm. Konfigurasi kedua agen tidak kompatibel. Hal ini tidak menjadi masalah jika Anda hanya mengandalkan konfigurasi logging default yang disertakan dalam image OS. Namun, jika memiliki konfigurasi logging kustom, Anda mungkin mengalami kerusakan saat memigrasikan workload ke image yang didasarkan pada arsitektur yang berbeda atau ke OS yang Dioptimalkan untuk Container versi yang lebih baru.
Referensi
- Dokumentasi agen Logging lama Google Cloud Observability. Agen logging dalam container yang disertakan dengan Container-Optimized OS adalah subset dari agen Logging lama, sehingga dokumentasi ini dapat memberikan konteks tentang agen secara lebih umum, di luar cakupan Container-Optimized OS.
- Dokumentasi Google Cloud Observability. Halaman beranda untuk dokumentasi Google Cloud Observability; mungkin berguna untuk konteks.