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 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 level rendah seperti CPU, memori, dan penyimpanan.
  • Google Cloud Managed Service for Prometheus: memungkinkan Anda memantau dan memberikan pemberitahuan terkait workload, 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: kumpulan metrik pilihan yang diekspor dari layanan status kube, yang digunakan untuk memantau status objek Kubernetes seperti Pod, Deployment, dan lainnya. Untuk mengetahui kumpulan metrik yang disertakan, lihat Menggunakan metrik status kube.

      Paket status kube adalah solusi terkelola. Jika Anda membutuhkan fleksibilitas yang lebih besar—misalnya, jika Anda perlu mengumpulkan metrik tambahan, atau perlu mengelola interval penyalinan atau untuk melakukan scraping resource lainnya—Anda dapat menonaktifkan paket, jika paket tersebut diaktifkan, dan men-deploy instance layanan metrik status kube open source Anda sendiri. Untuk mengetahui informasi selengkapnya, lihat dokumentasi pengekspor Google Cloud Managed Service for Prometheus untuk metrik status Kube.

    • cAdvisor/Kubelet: kumpulan metrik cAdvisor dan Kubelet yang telah diseleksi. Untuk kumpulan metrik yang disertakan, lihat Menggunakan metrik cAdvisor/Kubelet.

      Paket cAdvisor/Kubelet adalah solusi terkelola. Jika Anda membutuhkan fleksibilitas yang lebih besar—misalnya, jika Anda perlu mengumpulkan metrik tambahan atau untuk mengelola interval scrape atau untuk mengikis resource lainnya—Anda dapat menonaktifkan paket, jika diaktifkan, dan men-deploy instance layanan metrik cAdvisor/Kubelet open source Anda sendiri. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Google Cloud Managed Service for Prometheus untuk pengekspor cAdvisor/Kubelet.

Metrik sistem

Saat cluster dibuat, GKE secara default mengumpulkan metrik tertentu yang ditampilkan oleh komponen sistem.

Anda dapat memilih untuk mengirim metrik dari cluster GKE ke Cloud Monitoring atau tidak. Jika memilih untuk mengirim metrik ke Cloud Monitoring, Anda harus mengirim metrik sistem.

Semua metrik sistem GKE ditransfer ke dalam Cloud Monitoring dengan awalan kubernetes.io.

Harga

Cloud Monitoring tidak mengenakan biaya untuk penyerapan metrik sistem GKE. Untuk mengetahui informasi lebih lanjut, 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 di tab Observability atau bagian GKE di Konsol Google Cloud.

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

Lihat Kemampuan observasi untuk GKE guna mengetahui detail lebih lanjut 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 penting untuk Kubernetes. Untuk mengetahui daftar metrik ini, lihat metrik sistem GKE.

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 sebuah project dengan GKE Enterprise diaktifkan:

Nama metrik Autopilot Standar
Image
Server API
Scheduler
Controller Manager
Volume persisten (Penyimpanan)
Pod
Deployment
StatefulState
DaemonSet
HorizonalPodAutoscaler
cAdvisor
Kubelet

Semua cluster terdaftar dalam project yang mengaktifkan GKE Enterprise dapat menggunakan paket tersebut untuk metrik bidang kontrol, metrik status kube, dan metrik cAdvisor/kubelet tanpa biaya tambahan. Jika tidak, metrik ini akan dikenai biaya Cloud Monitoring.

Pemecahan 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 informasi selengkapnya, lihat Mengumpulkan dan melihat metrik bidang kontrol.

Paket: Metrik status Kube

Anda dapat mengonfigurasi cluster GKE untuk mengirim kumpulan metrik status kube yang telah diseleksi dalam format Prometheus ke Cloud Monitoring. Paket metrik status kube ini mencakup metrik untuk Pod, Deployment, StatefulSets, DaemonSets, resource HorizontalPodAutoscaler, Volume Persisten, dan Klaim Volume Persisten.

Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik status Kube.

Paket: metrik cAdvisor/Kubelet

Anda dapat mengonfigurasi cluster GKE untuk mengirim kumpulan metrik cAdvisor/Kubelet pilihan dalam format Prometheus ke Cloud Monitoring. Set metrik yang diseleksi adalah subset dari set besar metrik cAdvisor/Kubelet yang secara default disertakan ke dalam setiap deployment Kubernetes. cAdvisor/Kubelet yang diseleksi dirancang untuk menyediakan metrik yang paling berguna, sehingga mengurangi volume penyerapan dan biaya terkait.

Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat metrik cAdvisor/Kubelet.

Nonaktifkan paket metrik

Anda dapat menonaktifkan penggunaan paket metrik di cluster. Sebaiknya nonaktifkan 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 tindakan berikut:

  1. Di Google Cloud Console, buka halaman Cluster Kubernetes:

    Buka cluster Kubernetes

    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 berlabel Cloud Monitoring, klik ikon Edit.

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

  5. Klik OK.

  6. Klik Simpan Perubahan.

gcloud

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

  2. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka 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 sesi.

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

    Perintah ini menonaktifkan pengumpulan paket metrik yang telah dikonfigurasi sebelumnya.

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

Anda dapat menggunakan Cloud Monitoring untuk mengidentifikasi metrik bidang kontrol atau status kube yang menulis jumlah sampel terbesar. Metrik ini yang paling banyak berkontribusi pada biaya Anda. Setelah mengidentifikasi metrik yang paling mahal, Anda dapat mengubah konfigurasi salinan untuk memfilter metrik ini dengan tepat.

Halaman Pengelolaan Metrik Cloud Monitoring menyediakan informasi yang dapat membantu Anda mengontrol jumlah pengeluaran untuk metrik yang dapat ditagih tanpa memengaruhi kemampuan observasi. Halaman Metrics Management melaporkan informasi berikut:

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

Untuk menampilkan halaman Pengelolaan Metrik, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Pengelolaan metrik :

    Buka Pengelolaan metrik

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

  2. Di toolbar, pilih periode waktu Anda. Secara default, halaman Pengelolaan Metrik menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.

Untuk informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.

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

  1. Di konsol Google Cloud, buka halaman Pengelolaan metrik :

    Buka Pengelolaan metrik

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

  2. Pada kartu skor Sampel yang dapat ditagih yang diserap, klik Lihat diagram.

  3. Cari diagram Penyerapan Volume Namespace, lalu klik  Opsi diagram lainnya.

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

  5. Di halaman Filter, lakukan hal berikut:

    1. Di kolom Label, pastikan nilainya adalah attribution_dimension.

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

    3. Di kolom Value, pilih cluster.

  6. Hapus setelan Group by.

  7. Atau, filter hanya untuk metrik tertentu. Misalnya, semua metrik server API bidang kontrol 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.*.

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

    • Klik Kelompokkan menurut.

    • Pastikan metric_type dipilih.

    • Untuk mengelompokkan berdasarkan region GKE, pilih lokasi.

    • Untuk mengelompokkan berdasarkan project, pilih project_id.

    • Klik OK.

  9. Anda juga dapat mengelompokkan jumlah sampel yang diserap oleh nama cluster GKE:

    • Klik Kelompokkan menurut.

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

    • Klik OK.

  10. Untuk melihat volume penyerapan setiap metrik, di tombol berlabel Chart Table Keduanya, pilih Kedua. Tabel menunjukkan volume yang diserap untuk setiap metrik di kolom Nilai.

    Klik header kolom Nilai dua kali untuk mengurutkan metrik berdasarkan volume penyerapan.

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

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 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 mengetahui daftar lengkap metrik, lihat Metrik Scheduler.
Controller Manager CONTROLLER_MANAGER Metrik dari kube-controller-manager. Untuk daftar lengkap metrik, lihat metrik Pengelola Pengontrol.
Volume persisten (Penyimpanan) STORAGE Metrik penyimpanan dari kube-state-metrics. Mencakup metrik untuk Klaim Volume Persisten dan 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 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 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.

Anda juga dapat mengumpulkan metrik bergaya Prometheus yang diekspos oleh workload GKE apa pun menggunakan Google Cloud Managed Service for Prometheus, yang memungkinkan Anda memantau dan memberikan pemberitahuan tentang workload Anda, menggunakan Prometheus, tanpa harus mengelola dan mengoperasikan Prometheus secara manual dalam skala besar.

Langkah selanjutnya