Dokumen ini menjelaskan cara mengonfigurasi Google Kubernetes Engine (GKE) untuk mengirim metrik ke Cloud Monitoring. Metrik di Cloud Monitoring dapat mengisi dasbor kustom, membuat pemberitahuan, membuat tujuan tingkat layanan, atau diambil oleh layanan pemantauan pihak ketiga menggunakan Cloud Monitoring API.
GKE menyediakan beberapa sumber metrik:
- Metrik sistem: metrik dari komponen sistem penting, yang menjelaskan resource tingkat rendah seperti CPU, memori, dan penyimpanan.
- Google Cloud Managed Service for Prometheus: memungkinkan Anda memantau dan membuat pemberitahuan terkait workload Anda, menggunakan Prometheus, tanpa harus mengelola dan mengoperasikan Prometheus secara manual dalam skala besar.
Paket metrik kemampuan observasi:
- Metrik bidang kontrol: metrik yang diekspor dari komponen bidang kontrol tertentu seperti server API dan penjadwal.
Metrik status kube: sekumpulan metrik yang dikurasi dan diekspor dari layanan kube state, yang digunakan untuk memantau status objek Kubernetes seperti Pod, Deployment, dan lainnya. Untuk mengetahui kumpulan metrik yang disertakan, lihat Menggunakan metrik kube state.
Paket status kube adalah solusi terkelola. Jika Anda memerlukan fleksibilitas yang lebih besar—misalnya, jika Anda perlu mengumpulkan metrik tambahan, atau perlu mengelola interval scraping atau melakukan scraping pada resource lain—Anda dapat menonaktifkan paket, jika diaktifkan, dan men-deploy instance layanan kube state metrics open source Anda sendiri. Untuk informasi selengkapnya, lihat dokumentasi eksportir Google Cloud Managed Service for Prometheus untuk metrik status Kube.
cAdvisor/Kubelet: sekumpulan metrik cAdvisor dan Kubelet yang telah dikurasi. Untuk mengetahui kumpulan metrik yang disertakan, lihat Menggunakan metrik cAdvisor/Kubelet.
Paket cAdvisor/Kubelet adalah solusi terkelola. Jika Anda memerlukan fleksibilitas yang lebih besar—misalnya, jika Anda perlu mengumpulkan metrik tambahan atau mengelola interval pengambilan data atau mengambil data dari resource lain—Anda dapat menonaktifkan paket, jika diaktifkan, dan men-deploy instance layanan metrik cAdvisor/Kubelet open source Anda sendiri.
Metrik NVIDIA Data Center GPU Manager (DCGM): metrik dari DCGM yang memberikan gambaran komprehensif tentang kondisi, performa, dan penggunaan GPU.
Anda juga dapat mengonfigurasi pemantauan aplikasi otomatis untuk workload tertentu.
Metrik sistem
Saat cluster dibuat, GKE secara default mengumpulkan metrik tertentu yang dikeluarkan oleh komponen sistem.
Anda memiliki pilihan untuk mengirim atau tidak mengirim metrik dari cluster GKE Anda ke Cloud Monitoring. Jika memilih untuk mengirim metrik ke Cloud Monitoring, Anda harus mengirim metrik sistem.
Semua metrik sistem GKE diserap ke dalam Cloud Monitoring dengan
awalan kubernetes.io
.
Harga
Cloud Monitoring tidak mengenakan biaya untuk penyerapan metrik sistem GKE. Untuk mengetahui informasi selengkapnya, lihat harga Cloud Monitoring.
Mengonfigurasi pengumpulan metrik sistem
Untuk mengaktifkan pengumpulan metrik sistem, teruskan nilai SYSTEM
ke flag
--monitoring
dari perintah
gcloud container clusters create
atau
gcloud container clusters update
.
Untuk menonaktifkan pengumpulan metrik sistem, gunakan nilai NONE
untuk flag
--monitoring
. Jika pengumpulan metrik sistem dinonaktifkan, informasi dasar seperti penggunaan CPU, penggunaan memori, dan penggunaan disk tidak tersedia untuk cluster saat melihat metrik kemampuan pengamatan.
Untuk cluster GKE Autopilot, Anda tidak dapat menonaktifkan pengumpulan metrik sistem.
Lihat Observability for GKE untuk mengetahui detail selengkapnya tentang integrasi Cloud Monitoring dengan GKE.
Untuk mengonfigurasi pengumpulan metrik sistem menggunakan Terraform, lihat blok monitoring_config
di
registry Terraform untuk google_container_cluster
.
Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.
Daftar metrik sistem
Metrik sistem mencakup metrik dari komponen sistem penting yang penting untuk Kubernetes. Untuk mengetahui daftar metrik ini, lihat Metrik sistem GKE.
Jika Anda mengaktifkan Cloud Monitoring untuk cluster, Anda tidak dapat menonaktifkan pemantauan sistem (--monitoring=SYSTEM
).
Metrik diaktifkan secara default di GKE Enterprise
Dalam tabel berikut, tanda centang () menunjukkan metrik mana yang diaktifkan secara default saat Anda membuat dan mendaftarkan cluster baru dalam project dengan GKE Enterprise yang diaktifkan:
Nama metrik | Autopilot | Standar |
---|---|---|
Sistem | ||
Server API | ||
Scheduler | ||
Controller Manager | ||
Volume persisten (Penyimpanan) | ||
Pod | ||
Deployment | ||
StatefulState | ||
DaemonSet | ||
HorizonalPodAutoscaler | ||
cAdvisor | ||
Kubelet | ||
Metrik NVIDIA Data Center GPU Manager (DCGM) |
Semua cluster terdaftar dalam project yang mengaktifkan GKE Enterprise dapat menggunakan paket untuk metrik bidang kontrol, kube state metrics, dan cAdvisor/kubelet metrics tanpa biaya tambahan. Jika tidak, metrik ini akan dikenai biaya Cloud Monitoring.
Memecahkan masalah metrik sistem
Jika metrik sistem tidak tersedia di Cloud Monitoring seperti yang diharapkan, lihat bagian Memecahkan masalah metrik sistem.
Paket: Metrik bidang kontrol
Anda dapat mengonfigurasi cluster GKE untuk mengirim metrik tertentu yang dikeluarkan oleh server Kubernetes API, Scheduler, dan Controller Manager ke Cloud Monitoring.
Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik bidang kontrol.
Paket: Metrik status kube
Anda dapat mengonfigurasi cluster GKE untuk mengirimkan serangkaian metrik status kube dalam format Prometheus ke Cloud Monitoring. Paket metrik status kube ini mencakup metrik untuk Pod, Deployment, StatefulSet, DaemonSet, resource HorizontalPodAutoscaler, Volume Persisten, Klaim Volume Persisten, dan JobSet.
Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik status Kube.
Paket: Metrik cAdvisor/Kubelet
Anda dapat mengonfigurasi cluster GKE untuk mengirimkan serangkaian metrik cAdvisor/Kubelet yang telah dikurasi dalam format Prometheus ke Cloud Monitoring. Kumpulan metrik yang dikurasi adalah subset dari kumpulan besar metrik cAdvisor/Kubelet yang dibuat ke dalam setiap deployment Kubernetes secara default. cAdvisor/Kubelet yang dikurasi dirancang untuk memberikan metrik yang paling berguna, sehingga mengurangi volume penyerapan dan biaya terkait.
Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik cAdvisor/Kubelet.
Paket: Metrik NVIDIA Data Center GPU Manager (DCGM)
Anda dapat memantau penggunaan, performa, dan kondisi GPU dengan mengonfigurasi GKE untuk mengirim metrik NVIDIA Data Center GPU Manager (DCGM) ke Cloud Monitoring.
Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik NVIDIA Data Center GPU Manager (DCGM).
Menonaktifkan paket metrik
Anda dapat menonaktifkan penggunaan paket metrik di cluster. Anda mungkin ingin menonaktifkan paket tertentu untuk mengurangi biaya atau jika Anda menggunakan mekanisme alternatif untuk mengumpulkan metrik, seperti Google Cloud Managed Service for Prometheus dan eksportir.
Konsol
Untuk menonaktifkan pengumpulan metrik dari tab Detail untuk cluster, lakukan langkah berikut:
-
Di konsol Google Cloud , buka halaman Kubernetes clusters:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Kubernetes Engine.
Klik nama cluster Anda.
Di baris Features berlabel Cloud Monitoring, klik ikon Edit.
Di menu drop-down Komponen, hapus komponen metrik yang ingin Anda nonaktifkan.
Klik Oke.
Klik Simpan Perubahan.
gcloud
Buka jendela terminal dengan Google Cloud SDK dan Google Cloud CLI terinstal. Salah satu cara untuk melakukannya adalah dengan menggunakan Cloud Shell.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Panggil perintah
gcloud container clusters update
dan teruskan kumpulan nilai yang diperbarui ke tanda--monitoring
. Kumpulan nilai yang diberikan ke tanda--monitoring
akan menggantikan setelan sebelumnya.Misalnya, untuk menonaktifkan pengumpulan semua metrik kecuali metrik sistem, jalankan perintah berikut:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
\ --monitoring=SYSTEMPerintah ini menonaktifkan pengumpulan paket metrik yang sebelumnya dikonfigurasi.
Terraform
Untuk mengonfigurasi pengumpulan metrik menggunakan Terraform, lihat blok monitoring_config
di
registry Terraform untuk google_container_cluster
.
Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.
Memahami tagihan Monitoring
Anda dapat menggunakan Cloud Monitoring untuk mengidentifikasi metrik bidang kontrol atau kube state yang menulis jumlah sampel terbesar. Metrik ini paling berkontribusi terhadap biaya Anda. Setelah mengidentifikasi metrik yang paling mahal, Anda dapat mengubah konfigurasi pengambilan data untuk memfilter metrik ini dengan tepat.
Halaman Pengelolaan Metrik Cloud Monitoring memberikan informasi yang dapat membantu Anda mengontrol jumlah yang Anda belanjakan untuk metrik yang dapat ditagih tanpa memengaruhi kemampuan pengamatan. Halaman Pengelolaan Metrik melaporkan informasi berikut:
- Volume penyerapan untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk setiap metrik.
- Data tentang label dan kardinalitas metrik.
- Jumlah pembacaan untuk setiap metrik.
- Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
- Rasio error penulisan metrik.
Anda juga dapat menggunakan halaman Pengelolaan Metrik untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapan metrik tersebut.
Untuk melihat halaman Pengelolaan Metrik, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman
Metrics management:Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Di toolbar, pilih rentang waktu Anda. Secara default, halaman Pengelolaan Metrik menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.
Untuk mengetahui informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.
Untuk mengidentifikasi metrik status kube atau panel kontrol mana yang memiliki jumlah sampel terbesar yang di-ingest, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman
Metrics management:Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Pada kartu skor Contoh yang dapat ditagih yang di-ingest, klik Lihat diagram.
Cari diagram Penyerapan Volume Namespace, lalu klik more_vert Opsi diagram lainnya.
Di kolom Metric, pastikan resource dan metrik berikut dipilih:
Metric Ingestion Attribution
danSamples written by attribution id
.Di halaman Filter, lakukan tindakan berikut:
Di kolom Label, verifikasi bahwa nilainya adalah
attribution_dimension
.Di kolom Comparison, verifikasi bahwa nilainya adalah
= (equals)
.Di kolom Nilai, pilih
cluster
.
Hapus setelan Kelompokkan menurut.
Secara opsional, filter hanya untuk metrik tertentu. Misalnya, metrik server API bidang kontrol semuanya menyertakan "apiserver" sebagai bagian dari nama metrik, dan metrik Pod status kube semuanya menyertakan "kube_pod" sebagai bagian dari nama metrik, sehingga Anda dapat memfilter metrik yang berisi string tersebut:
Klik Tambahkan Filter.
Di kolom Label, pilih
metric_type
.Di kolom Comparison, pilih
=~ (equals regex)
.Di kolom Nilai, masukkan
.*apiserver.*
atau.*kube_pod.*
.
Secara opsional, kelompokkan jumlah sampel yang diserap menurut region atau project GKE:
Klik Kelompokkan menurut.
Pastikan metric_type dipilih.
Untuk mengelompokkan menurut region GKE, pilih location.
Untuk mengelompokkan menurut project, pilih project_id.
Klik Oke.
Secara opsional, kelompokkan jumlah sampel yang di-ingest berdasarkan nama cluster GKE:
Klik Kelompokkan menurut.
Untuk mengelompokkan menurut nama cluster GKE, pastikan attribution_dimension dan attribution_id dipilih.
Klik Oke.
Untuk melihat volume penyerapan setiap metrik, di tombol yang berlabel Chart Table Both, pilih Both. Tabel ini menampilkan volume yang di-ingest untuk setiap metrik di kolom Nilai.
Klik header kolom Nilai dua kali untuk mengurutkan metrik berdasarkan volume penyerapan menurun.
Langkah-langkah ini menampilkan metrik dengan rasio sampel tertinggi yang dimasukkan ke dalam Cloud Monitoring. Karena metrik dalam paket kemampuan pengamatan dikenai biaya berdasarkan jumlah sampel yang diserap, perhatikan metrik dengan rasio sampel yang diserap paling besar.
Metrik lainnya
Selain metrik sistem dan paket metrik yang dijelaskan dalam dokumen ini, metrik Istio juga tersedia untuk cluster GKE. Untuk mengetahui informasi harga, lihat harga Cloud Monitoring.
Metrik yang tersedia
Tabel berikut menunjukkan nilai yang didukung untuk tanda --monitoring
untuk perintah create dan update.
Sumber | Nilai --monitoring |
Metrik yang Dikumpulkan |
---|---|---|
Tidak ada | NONE |
Tidak ada metrik yang dikirim ke Cloud Monitoring; tidak ada agen pengumpulan metrik yang diinstal di cluster. Nilai ini tidak didukung untuk cluster Autopilot. |
Sistem | SYSTEM |
Metrik dari komponen sistem penting yang diperlukan untuk Kubernetes. Untuk mengetahui daftar lengkap metrik, lihat Metrik Kubernetes. |
Server API | API_SERVER |
Metrik dari kube-apiserver .
Untuk mengetahui daftar lengkap metrik, lihat
Metrik server API. |
Scheduler | SCHEDULER |
Metrik dari kube-scheduler .
Untuk daftar lengkap metrik, lihat
Metrik penjadwal.
|
Controller Manager | CONTROLLER_MANAGER |
Metrik dari kube-controller-manager .
Untuk daftar lengkap metrik, lihat
Metrik Controller Manager. |
Volume persisten (Penyimpanan) | STORAGE |
Metrik penyimpanan dari kube-state-metrics .
Mencakup metrik untuk Volume Persisten dan Klaim Volume Persisten.
Untuk mengetahui daftar lengkap metrik, lihat
Metrik penyimpanan.
|
Pod | POD |
Metrik pod dari kube-state-metrics .
Untuk mengetahui daftar lengkap metrik, lihat
Metrik pod.
|
Deployment | DEPLOYMENT |
Metrik deployment dari kube-state-metrics .
Untuk mengetahui daftar lengkap metrik, lihat
Metrik deployment.
|
StatefulSet | STATEFULSET |
Metrik StatefulSet dari kube-state-metrics .
Untuk daftar lengkap metrik, lihat
Metrik StatefulSet. |
DaemonSet | DAEMONSET |
Metrik DaemonSet dari kube-state-metrics .
Untuk mengetahui daftar lengkap metrik, lihat
Metrik DaemonSet.
|
HorizonalPodAutoscaler | HPA |
Metrik HPA dari kube-state-metrics .
Lihat daftar lengkap
metrik HorizonalPodAutoscaler.
|
cAdvisor | CADVISOR |
Metrik cAdvisor dari paket metrik cAdvisor/Kubelet. Untuk mengetahui daftar lengkap metrik, lihat Metrik cAdvisor. |
Kubelet | KUBELET |
Metrik Kubelet dari cAdvisor/Kubelet Untuk mengetahui daftar lengkap metrik, lihat Metrik Kubelet. |
Metrik NVIDIA Data Center GPU Manager (DCGM) | DCGM |
Metrik dari NVIDIA Data Center GPU Manager (DCGM). |
Anda juga dapat mengumpulkan metrik gaya Prometheus yang diekspos oleh workload GKE apa pun menggunakan Google Cloud Managed Service for Prometheus, yang memungkinkan Anda memantau dan membuat pemberitahuan terkait workload, menggunakan Prometheus, tanpa harus mengelola dan mengoperasikan Prometheus secara manual dalam skala besar.
Langkah berikutnya
- Pelajari cara memecahkan masalah metrik sistem.