Melihat log GKE


Halaman ini memberikan ringkasan tentang cara menemukan dan menggunakan log Google Kubernetes Engine (GKE).

Mengakses log

Anda dapat mengakses log GKE dengan banyak cara:

  • Dari konsol Google Cloud, Anda dapat melihat log dari halaman berikut:

    • Kubernetes Engine:

      • Pilih cluster di halaman Clusters, lalu pilih tab Logs. Tab ini juga menawarkan kueri yang disarankan untuk log cluster Anda.
      • Pilih beban kerja di halaman Workloads. Kemudian, Anda dapat mengklik link Container logs atau Audit logs di tab Overview untuk melihat log di Logs Explorer, atau memilih tab Logs untuk melihat log dalam konteks.
    • Logging: Pilih Logs Explorer, lalu gunakan filter logging untuk memilih resource Kubernetes, seperti log cluster, node, namespace, pod, atau container. Untuk contoh kueri guna membantu Anda memulai, lihat Kueri terkait Kubernetes.

    • Pemantauan: Dasbor GKE menampilkan metrik dan log untuk resource GKE seperti cluster, node, dan pod. Untuk informasi selengkapnya, lihat Melihat metrik kemampuan observasi.
  • Dari Google Cloud CLI: Buat kueri log dari cluster, node, pod, dan penampung menggunakan perintah gcloud logging read.

Untuk agregasi log kustom, analisis log, atau integrasi dengan sistem pihak ketiga, Anda juga dapat menggunakan fitur sink logging untuk mengekspor log ke BigQuery, Cloud Storage, dan Pub/Sub.

Memahami log

Log di Cloud Logging adalah kumpulan entri log, dan setiap entri log berlaku untuk jenis resource logging tertentu.

Jenis resource

Berikut adalah jenis resource yang khusus untuk cluster GKE:

Jenis resource log
gke_cluster Log operasi cluster GKE
k8s_cluster Log cluster Kubernetes
k8s_node Log node Kubernetes
k8s_pod Log Pod Kubernetes
k8s_container Log penampung Kubernetes
k8s_control_plane_component Log komponen bidang kontrol Kubernetes

Saat GKE menulis log cluster, setiap entri log menyertakan jenis resource. Memahami tempat log muncul akan mempermudah Anda menemukan log saat dibutuhkan.

Log sistem

Log sistem mencakup log dari sumber berikut:

  • Semua Pod yang berjalan di namespace kube-system, istio-system, knative-serving, gke-system, dan config-management-system.

  • Layanan utama yang tidak di-containerisasi termasuk runtime docker/containerd, kubelet, kubelet-monitor, node-problem-detector, dan kube-container-runtime-monitor.

  • Output port serial node, jika metadata instance VM serial-port-logging-enable ditetapkan ke true. Mulai GKE 1.16-13-gke.400, output port serial untuk node dikumpulkan oleh agen Logging. Untuk menonaktifkan logging output port serial, tetapkan --metadata serial-port-logging-enable=false selama pembuatan cluster. Output port serial berguna untuk memecahkan masalah error, booting gagal, masalah startup, atau masalah shutdown dengan node GKE. Menonaktifkan log ini dapat membatasi pemecahan masalah.

Log audit sistem Anda akan muncul di Cloud Logging dengan nama berikut:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access – Log Akses Data
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity – Log Aktivitas Admin
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event – Log Aktivitas Sistem
  • projects/PROJECT_ID/logs/events – Log peristiwa

Untuk informasi mendetail tentang entri log yang berlaku untuk jenis resource Cluster Kubernetes dan Operasi Cluster GKE, lihat dokumentasi Log audit.

Ada log sistem tambahan seperti log untuk sistem kube yang ditulis dan dijelaskan dalam Mengontrol pengumpulan log aplikasi.

Log aplikasi

Penampung Kubernetes mengumpulkan log untuk workload Anda yang ditulis ke STDOUT dan STDERR. Anda dapat menemukan log aplikasi workload menggunakan jenis resource k8s_container atau gke_cluster. Log Anda akan muncul di Logging dengan nama berikut:

  • projects/PROJECT_ID/logs/stderr – log yang ditulis ke error standar

  • projects/PROJECT_ID/logs/stdout – log yang ditulis ke output standar

Log komponen bidang kontrol

Jika log bidang kontrol diaktifkan untuk cluster GKE Anda, log yang dikeluarkan oleh komponen bidang kontrol Kubernetes tertentu (misalnya, server API, Penjadwal, dan Pengelola Pengontrol) akan diekspor ke Cloud Logging.

Log ini menggunakan jenis resource k8s_control_plane_component dan muncul di Cloud Logging dengan nama berikut:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fapiserver

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fscheduler

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fcontroller-manager

Log akses panel kontrol

Jika menggunakan otoritas bidang kontrol GKE, Anda dapat mengaktifkan log opsional untuk semua koneksi jaringan masuk ke instance bidang kontrol dan saat peristiwa SSH terjadi di instance bidang kontrol. Kemudian, Anda dapat membuat korelasi log akses bidang kontrol ini dengan log dari Transparansi Akses dan dengan log dari server Kubernetes API untuk memverifikasi secara opsional bahwa koneksi ke instance bidang kontrol Anda adalah hasil dari akses administratif yang diizinkan oleh personel Google. Untuk mengetahui detailnya, lihat Memverifikasi koneksi Google ke panel kontrol cluster.

Log ini menggunakan jenis resource gke_cluster dan muncul di Cloud Logging dengan nama berikut:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_connection
  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_ssh

Log penerbitan identitas cluster

Jika Anda menggunakan otoritas bidang kontrol GKE untuk menjalankan otoritas sertifikat (CA) dan kunci penandatanganan Anda sendiri untuk cluster, GKE akan membuat log audit saat CA dan kunci tersebut digunakan untuk menerbitkan sertifikat X.509 atau Token Web JSON (JWT) di cluster Anda. Kemudian, Anda dapat mengaitkan log penerbitan identitas ini dengan log dari server Kubernetes API, dari Layanan Certificate Authority, dan dari Cloud Key Management Service untuk melacak penggunaan sertifikat dan JWT tersebut di cluster Anda. Untuk mengetahui detailnya, lihat Memverifikasi penerbitan dan penggunaan identitas.

Log ini adalah log audit Peristiwa Sistem yang menggunakan jenis resource gke_cluster dan muncul di Cloud Logging dengan nama berikut:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event

Menemukan log di antarmuka pengguna Logging

Anda dapat melihat log menggunakan Logs Explorer di antarmuka pengguna Logging.

Logs Explorer

Dengan menggunakan Query Builder, Anda dapat membuat kueri dengan memilih kolom dari dropdown atau dengan menambahkan parameter kueri secara manual. Misalnya, jika Anda meninjau log untuk cluster GKE, Anda dapat memulai dengan memilih atau menelusuri jenis resource Cluster Kubernetes, lalu memilih lokasi dan nama cluster. Kemudian, Anda dapat mempersempit penelusuran dengan memilih Log aktivitas di pemilih Nama Log.

Logs Explorer menawarkan cara tambahan untuk membuat kueri penelusuran menggunakan Logs field explorer. Kolom ini menampilkan jumlah entri log, yang diurutkan berdasarkan jumlah yang menurun, untuk kolom log tertentu. Penggunaan Logs field explorer sangat berguna untuk log GKE karena Logs field explorer menyediakan cara untuk memilih nilai Kubernetes bagi resource Anda untuk membuat kueri. Misalnya, menggunakan Logs field explorer, Anda dapat memilih log untuk cluster, namespace, nama pod, lalu nama penampung tertentu.

Anda dapat menemukan detail selengkapnya dalam dokumentasi Logging tentang cara menggunakan Logs Explorer.

Sampel kueri

Jika Anda mencari log tertentu, gunakan contoh kueri berikut untuk membantu menemukan log GKE:

Memecahkan masalah log

Jika Anda menulis log dalam volume tinggi dari cluster GKE, Anda mungkin mendapati bahwa banyak log tersebut secara konsisten tidak muncul di Cloud Logging. Penyebab potensialnya adalah volume logging Anda melebihi throughput logging yang didukung untuk GKE.

Logging mendukung throughput logging hingga 100 KB/s per node. Jika ada node di cluster GKE Anda yang memerlukan throughput logging yang lebih besar dari ini, sebaiknya tingkatkan throughput agen logging.