Mengonfigurasi pengumpulan metrik

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 sasaran 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 scheduler.
    • Metrik kube state: kumpulan metrik pilihan yang 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 kube state 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 resource lain—Anda dapat menonaktifkan paket, jika diaktifkan, dan men-deploy instance layanan metrik kube state open source Anda sendiri. Untuk mengetahui informasi selengkapnya, lihat dokumentasi pengekspor Google Cloud Managed Service for Prometheus untuk metrik Kube state.

    • cAdvisor/Kubelet: kumpulan metrik cAdvisor dan Kubelet pilihan. 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 scraping atau melakukan scraping 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 tampilan komprehensif tentang kesehatan, 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 dapat memilih untuk mengirim atau tidak mengirim metrik dari cluster GKE ke Cloud Monitoring. Jika memilih untuk mengirim metrik ke Cloud Monitoring, Anda harus mengirim metrik sistem.

Semua metrik sistem GKE diserap ke 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 --monitoring flag. Jika pengumpulan metrik sistem dinonaktifkan, informasi dasar seperti penggunaan CPU, penggunaan memori, dan penggunaan disk tidak akan tersedia untuk cluster saat melihat metrik kemampuan observasi.

Untuk cluster GKE Autopilot, Anda tidak dapat menonaktifkan pengumpulan metrik sistem.

Lihat Kemampuan Observasi untuk GKE guna 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 mengetahui 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 diperlukan 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).

Memecahkan masalah metrik sistem

Jika metrik sistem tidak tersedia di Cloud Monitoring seperti yang diharapkan, lihat 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 kube state

Anda dapat mengonfigurasi cluster GKE untuk mengirim kumpulan metrik kube state pilihan dalam format Prometheus ke Cloud Monitoring. Paket metrik kube state 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 kube state.

Paket: Metrik cAdvisor/Kubelet

Anda dapat mengonfigurasi cluster GKE untuk mengirim kumpulan metrik cAdvisor/Kubelet pilihan dalam format Prometheus ke Cloud Monitoring. Kumpulan metrik pilihan adalah subset dari kumpulan besar metrik cAdvisor/Kubelet yang di-build ke dalam setiap deployment Kubernetes secara default. cAdvisor/Kubelet pilihan 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 kesehatan 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 pengekspor.

Konsol

Untuk menonaktifkan pengumpulan metrik dari tab Details untuk cluster, lakukan langkah berikut:

  1. Di Google Cloud konsol, buka halaman Kubernetes clusters:

    Buka Kubernetes clusters

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Kubernetes Engine.

  2. Klik nama cluster Anda.

  3. Di baris Features yang diberi label Cloud Monitoring, klik ikon Edit.

  4. Di menu drop-down Components, hapus komponen metrik yang ingin Anda nonaktifkan.

  5. Klik OK.

  6. Klik Save Changes.

gcloud

  1. Buka jendela terminal dengan Google Cloud SDK dan Google Cloud CLI terinstal. Salah satu cara untuk melakukannya adalah dengan menggunakan Cloud Shell.

  2. Di konsol, aktifkan Cloud Shell. Google Cloud

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  3. Panggil gcloud container clusters update perintah dan teruskan kumpulan nilai yang diperbarui ke --monitoring flag. Kumpulan nilai yang diberikan ke --monitoring flag akan mengganti 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=SYSTEM
    

    Perintah ini akan 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 mengetahui 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 memberikan kontribusi terbesar terhadap biaya Anda. Setelah mengidentifikasi metrik yang paling mahal, Anda dapat mengubah konfigurasi scraping untuk memfilter metrik ini dengan tepat.

Halaman Metrics Management Cloud Monitoring memberikan informasi yang dapat membantu Anda mengontrol jumlah yang Anda belanjakan untuk metrik yang dapat ditagih tanpa memengaruhi kemampuan observasi. Halaman Metrics Management melaporkan informasi berikut:

  • Volume penyerapan untuk penagihan berbasis byte dan berbasis sampel, di seluruh domain metrik dan untuk metrik individual.
  • Data tentang label dan kardinalitas metrik.
  • Jumlah pembacaan untuk setiap metrik.
  • Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
  • Tingkat error penulisan metrik.

Anda juga dapat menggunakan halaman Metrics Management untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapan metrik tersebut.

Untuk melihat halaman Metrics Management, lakukan langkah berikut:

  1. Di Google Cloud konsol, buka halaman  Metrics management:

    Buka Metrics management

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar, pilih jangka waktu Anda. Secara default, halaman Metrics Management menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.

Untuk mengetahui informasi selengkapnya tentang halaman Metrics Management, lihat Melihat dan mengelola penggunaan metrik.

Untuk mengidentifikasi metrik bidang kontrol atau kube state yang memiliki jumlah sampel terbesar yang diserap, lakukan langkah berikut:

  1. Di Google Cloud konsol, buka halaman  Metrics management:

    Buka Metrics management

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di kartu skor Billable samples ingested , klik View charts.

  3. Temukan diagram Namespace Volume Ingestion, lalu klik  More chart options.

  4. Di kolom Metric, pastikan resource dan dan metrik berikut dipilih:
    Metric Ingestion Attribution dan Samples written by attribution id.

  5. Di halaman Filters, lakukan langkah berikut:

    1. Di kolom Label, pastikan nilainya adalah attribution_dimension.

    2. Di kolom Comparison, pastikan nilainya adalah = (equals).

    3. Di kolom Value, pilih cluster.

  6. Hapus setelan Group by.

  7. Secara opsional, filter hanya untuk metrik tertentu. Misalnya, semua metrik server API bidang kontrol menyertakan "apiserver" sebagai bagian dari nama metrik, dan semua metrik Pod kube state menyertakan "kube_pod" sebagai bagian dari nama metrik, sehingga Anda dapat memfilter metrik yang berisi string tersebut:

    • Klik Add Filter.

    • Di kolom Label, pilih metric_type.

    • Di kolom Comparison, pilih =~ (equals regex).

    • Di kolom Value, masukkan .*apiserver.* atau .*kube_pod.*.

  8. Secara opsional, kelompokkan jumlah sampel yang diserap menurut region atau project GKE:

    • Klik Group by.

    • Pastikan metric_type dipilih.

    • Untuk mengelompokkan menurut region GKE, pilih location.

    • Untuk mengelompokkan menurut project, pilih project_id.

    • Klik OK.

  9. Secara opsional, kelompokkan jumlah sampel yang diserap menurut nama cluster GKE:

    • Klik Group by.

    • Untuk mengelompokkan menurut nama cluster GKE, pastikan attribution_dimension dan attribution_id dipilih.

    • Klik OK.

  10. Untuk melihat volume penyerapan untuk setiap metrik, di tombol yang diberi label Chart Table Both, pilih Both. Tabel ini menampilkan volume yang diserap untuk setiap metrik di kolom Value.

    Klik header kolom Value dua kali untuk mengurutkan metrik menurut volume penyerapan menurun.

Langkah-langkah ini menunjukkan metrik dengan tingkat sampel tertinggi yang diserap ke Cloud Monitoring. Karena metrik dalam paket kemampuan observasi dikenai biaya berdasarkan jumlah sampel yang diserap, perhatikan metrik dengan tingkat sampel tertinggi yang diserap.

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 flag --monitoring untuk perintah pembuatan dan pembaruan.

Sumber --monitoring nilai Metrik yang Dikumpulkan
Tidak ada NONE Tidak ada metrik yang dikirim ke Cloud Monitoring; tidak ada agen pengumpulan metrik 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 mengetahui daftar lengkap metrik, lihat Metrik scheduler.
Controller Manager CONTROLLER_MANAGER Metrik dari kube-controller-manager. Untuk mengetahui 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 mengetahui 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 metrik. 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 Anda, menggunakan Prometheus, tanpa harus mengelola dan mengoperasikan Prometheus secara manual dalam skala besar.

Langkah berikutnya