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
, danconfig-management-system
.Layanan utama yang tidak di-containerisasi termasuk runtime
docker
/containerd
,kubelet
,kubelet-monitor
,node-problem-detector
, dankube-container-runtime-monitor
.Output port serial node, jika metadata instance VM
serial-port-logging-enable
ditetapkan ke benar (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 mengetahui 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 Anda menemukan log GKE:
Contoh kueri log terkait Kubernetes
Contoh kueri log panel kontrol Kubernetes Engine
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.