Dokumen ini menjelaskan cara menyiapkan Google Cloud Managed Service for Prometheus dengan koleksi terkelola. Penyiapan ini adalah contoh minimal dari proses transfer yang berfungsi, menggunakan deployment Prometheus yang memantau aplikasi contoh dan menyimpan metrik yang dikumpulkan di Monarch.
Dokumen ini menunjukkan cara melakukan hal berikut:
- Siapkan lingkungan dan alat command line Anda.
- Siapkan koleksi terkelola untuk cluster Anda.
- Konfigurasikan resource untuk pengambilan metrik dan scraping target.
- Memigrasikan resource kustom prometheus-operator yang ada.
Sebaiknya gunakan koleksi terkelola; hal ini akan mengurangi kompleksitas deployment, penskalaan, sharding, konfigurasi, dan pemeliharaan kolektor. Pengumpulan terkelola didukung untuk GKE dan semua lingkungan Kubernetes lainnya.
Pengumpulan terkelola menjalankan kolektor berbasis Prometheus sebagai Daemonset dan memastikan skalabilitas dengan hanya mengambil target di node yang ditempatkan bersama. Anda mengonfigurasi pengumpul dengan resource kustom ringan untuk meng-scrape eksportir menggunakan pengumpulan pull, lalu pengumpul akan mendorong data yang di-scrape ke datastore pusat Monarch. Google Cloud tidak pernah mengakses cluster Anda secara langsung untuk mengambil atau mengambil data metrik; kolektor Anda akan mengirimkan data ke Google Cloud. Untuk informasi selengkapnya tentang pengumpulan data terkelola dan yang di-deploy sendiri, lihat Pengumpulan data dengan Managed Service for Prometheus dan Penyerapan dan pembuatan kueri dengan pengumpulan terkelola dan yang di-deploy sendiri.
Sebelum memulai
Bagian ini menjelaskan konfigurasi yang diperlukan untuk tugas yang dijelaskan dalam dokumen ini.
Menyiapkan project dan alat
Untuk menggunakan Google Cloud Managed Service for Prometheus, Anda memerlukan resource berikut:
Project Google Cloud dengan Cloud Monitoring API diaktifkan.
Jika Anda tidak memiliki project Google Cloud, lakukan hal berikut:
Di konsol Google Cloud, buka New Project:
Di kolom Project Name, masukkan nama untuk project Anda, lalu klik Create.
Buka Penagihan:
Pilih project yang baru saja Anda buat jika belum dipilih di bagian atas halaman.
Anda akan diminta untuk memilih profil pembayaran yang sudah ada atau membuat profil baru.
Monitoring API diaktifkan secara default untuk project baru.
Jika Anda sudah memiliki project Google Cloud, pastikan Monitoring API diaktifkan:
Buka API & layanan:
Pilih project Anda.
Klik Aktifkan API dan Layanan.
Telusuri "Pemantauan".
Di hasil penelusuran, klik "Cloud Monitoring API".
Jika "API enabled" tidak ditampilkan, klik tombol Enable.
Cluster Kubernetes. Jika Anda tidak memiliki cluster Kubernetes, ikuti petunjuk di Memulai cepat untuk GKE.
Anda juga memerlukan alat command line berikut:
gcloud
kubectl
Alat gcloud
dan kubectl
adalah bagian dari
Google Cloud CLI. Untuk mengetahui informasi tentang cara menginstalnya, lihat Mengelola komponen Google Cloud CLI. Untuk melihat
komponen gcloud CLI yang telah Anda instal, jalankan perintah berikut:
gcloud components list
Mengonfigurasi lingkungan Anda
Agar tidak perlu memasukkan project ID atau nama cluster berulang kali, lakukan konfigurasi berikut:
Konfigurasikan alat command line sebagai berikut:
Konfigurasikan gcloud CLI untuk merujuk ke ID project Google Cloud Anda:
gcloud config set project PROJECT_ID
Konfigurasikan
kubectl
CLI untuk menggunakan cluster Anda:kubectl config set-cluster CLUSTER_NAME
Untuk informasi selengkapnya tentang alat ini, lihat referensi berikut:
Menyiapkan namespace
Buat namespace Kubernetes NAMESPACE_NAME
untuk resource yang Anda buat
sebagai bagian dari aplikasi contoh:
kubectl create ns NAMESPACE_NAME
Menyiapkan pengumpulan terkelola
Anda dapat menggunakan pengumpulan terkelola di cluster Kubernetes GKE dan non-GKE.
Setelah pengumpulan terkelola diaktifkan, komponen dalam cluster akan berjalan, tetapi belum ada metrik yang dihasilkan. Resource PodMonitoring atau ClusterPodMonitoring diperlukan oleh komponen ini untuk mengambil endpoint metrik dengan benar. Anda harus men-deploy resource ini dengan endpoint metrik yang valid atau mengaktifkan salah satu paket metrik terkelola, misalnya, Metrik status Kube, yang di-build ke dalam GKE. Untuk informasi pemecahan masalah, lihat Masalah sisi proses transfer.
Mengaktifkan koleksi terkelola akan menginstal komponen berikut di cluster Anda:
- Deployment
gmp-operator
, yang men-deploy operator Kubernetes untuk Managed Service for Prometheus. - Deployment
rule-evaluator
, yang digunakan untuk mengonfigurasi dan menjalankan aturan pemberitahuan dan perekaman. - DaemonSet
collector
, yang menskalakan pengumpulan secara horizontal dengan mengambil metrik hanya dari pod yang berjalan di node yang sama dengan setiap kolektor. - StatefulSet
alertmanager
, yang dikonfigurasi untuk mengirim pemberitahuan yang dipicu ke saluran notifikasi pilihan Anda.
Untuk dokumentasi referensi tentang operator Managed Service for Prometheus, lihat halaman manifes.
Mengaktifkan pengumpulan terkelola: GKE
Pengumpulan terkelola diaktifkan secara default untuk hal berikut:
Cluster GKE Autopilot yang menjalankan GKE versi 1.25 atau yang lebih baru.
Cluster GKE Standar yang menjalankan GKE versi 1.27 atau yang lebih baru. Anda dapat mengganti default ini saat membuat cluster; lihat Menonaktifkan pengumpulan terkelola.
Jika Anda menjalankan di lingkungan GKE yang tidak mengaktifkan pengumpulan terkelola secara default, lihat Mengaktifkan pengumpulan terkelola secara manual.
Kumpulan terkelola di GKE akan otomatis diupgrade saat versi komponen dalam cluster baru dirilis.
Pengumpulan terkelola di GKE menggunakan izin yang diberikan ke akun layanan Compute Engine default. Jika memiliki kebijakan yang mengubah izin standar di akun layanan node default, Anda mungkin perlu menambahkan peran Monitoring Metric Writer
untuk melanjutkan.
Mengaktifkan koleksi terkelola secara manual
Jika Anda menjalankan di lingkungan GKE yang tidak mengaktifkan pengumpulan terkelola secara default, Anda dapat mengaktifkan pengumpulan terkelola menggunakan hal berikut:
- Dasbor Cluster GKE di Cloud Monitoring.
- Halaman Kubernetes Engine di Konsol Google Cloud.
- Google Cloud CLI. Untuk menggunakan gcloud CLI, Anda harus menjalankan GKE versi 1.21.4-gke.300 atau yang lebih baru.
Terraform untuk Google Kubernetes Engine. Untuk menggunakan Terraform guna mengaktifkan Managed Service untuk Prometheus, Anda harus menjalankan GKE versi 1.21.4-gke.300 atau yang lebih baru.
Dasbor Cluster GKE
Anda dapat melakukan hal berikut dengan menggunakan dasbor Cluster GKE di Cloud Monitoring.
- Tentukan apakah Managed Service for Prometheus diaktifkan di cluster Anda dan apakah Anda menggunakan koleksi terkelola atau yang di-deploy sendiri.
- Aktifkan pengumpulan terkelola di cluster dalam project Anda.
- Lihat informasi lain tentang cluster Anda.
Untuk melihat dasbor Cluster GKE, lakukan tindakan berikut:
-
Di konsol Google Cloud, buka halaman Dasbor:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Pilih kategori dasbor GCP, lalu pilih Cluster GKE.
Untuk mengaktifkan pengumpulan terkelola di satu atau beberapa cluster GKE dengan menggunakan dasbor Cluster GKE, lakukan langkah-langkah berikut:
Centang kotak untuk setiap cluster GKE tempat Anda ingin mengaktifkan pengumpulan terkelola.
Pilih Aktifkan yang Dipilih.
UI Kubernetes Engine
Anda dapat melakukan hal berikut menggunakan konsol Google Cloud:
- Mengaktifkan pengumpulan terkelola di cluster GKE yang ada.
- Buat cluster GKE baru dengan pengumpulan terkelola yang diaktifkan.
Untuk mengupdate cluster yang ada, lakukan hal 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.
Dalam daftar Fitur, cari opsi Managed Service for Prometheus. Jika tercantum sebagai dinonaktifkan, klik edit Edit, lalu pilih Aktifkan Managed Service for Prometheus.
Klik Simpan perubahan.
Untuk membuat cluster dengan pengumpulan terkelola yang diaktifkan, lakukan hal 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 Create.
Klik Konfigurasi untuk opsi Standar.
Di panel navigasi, klik Fitur.
Di bagian Operations, pilih Enable Managed Service for Prometheus.
Klik Simpan.
gcloud CLI
Anda dapat melakukan hal berikut menggunakan gcloud CLI:
- Mengaktifkan pengumpulan terkelola di cluster GKE yang ada.
- Buat cluster GKE baru dengan pengumpulan terkelola yang diaktifkan.
Pemrosesan perintah ini mungkin memerlukan waktu hingga 5 menit.
Pertama, tetapkan project Anda:
gcloud config set project PROJECT_ID
Untuk mengupdate cluster yang ada, jalankan salah satu perintah
update
berikut berdasarkan apakah cluster Anda bersifat zonal atau regional:
gcloud container clusters update CLUSTER_NAME --enable-managed-prometheus --zone ZONE
gcloud container clusters update CLUSTER_NAME --enable-managed-prometheus --region REGION
Untuk membuat cluster dengan pengumpulan terkelola yang diaktifkan, jalankan perintah berikut:
gcloud container clusters create CLUSTER_NAME --zone ZONE --enable-managed-prometheus
Autopilot GKE
Pengumpulan terkelola aktif secara default di cluster GKE Autopilot yang menjalankan GKE versi 1.25 atau yang lebih baru. Anda tidak dapat menonaktifkan koleksi terkelola.
Jika cluster Anda gagal mengaktifkan pengumpulan terkelola secara otomatis saat mengupgrade ke versi 1.25, Anda dapat mengaktifkannya secara manual dengan menjalankan perintah update di bagian gcloud CLI.
Terraform
Untuk petunjuk cara mengonfigurasi koleksi terkelola menggunakan Terraform, lihat registry Terraform untuk google_container_cluster
.
Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.
Menonaktifkan koleksi terkelola
Jika ingin menonaktifkan pengumpulan terkelola di cluster, Anda dapat menggunakan salah satu metode berikut:
UI Kubernetes Engine
Anda dapat melakukan hal berikut menggunakan konsol Google Cloud:
- Menonaktifkan pengumpulan terkelola di cluster GKE yang ada.
- Ganti pengaktifan otomatis pengumpulan terkelola saat membuat cluster GKE Standard baru yang menjalankan GKE versi 1.27 atau yang lebih baru.
Untuk mengupdate cluster yang ada, lakukan hal 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.
Di bagian Fitur, temukan opsi Managed Service for Prometheus. Klik edit Edit, dan hapus centang Enable Managed Service for Prometheus.
Klik Simpan perubahan.
Untuk mengganti pengaktifan otomatis pengumpulan terkelola saat membuat cluster GKE Standard baru (versi 1.27 atau yang lebih baru), lakukan tindakan 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 Create.
Klik Konfigurasi untuk opsi Standar.
Di panel navigasi, klik Fitur.
Di bagian Operations, hapus centang Enable Managed Service for Prometheus.
Klik Simpan.
gcloud CLI
Anda dapat melakukan hal berikut menggunakan gcloud CLI:
- Menonaktifkan pengumpulan terkelola di cluster GKE yang ada.
- Ganti pengaktifan otomatis pengumpulan terkelola saat membuat cluster GKE Standard baru yang menjalankan GKE versi 1.27 atau yang lebih baru.
Pemrosesan perintah ini mungkin memerlukan waktu hingga 5 menit.
Pertama, tetapkan project Anda:
gcloud config set project PROJECT_ID
Untuk menonaktifkan pengumpulan terkelola di cluster yang ada, jalankan salah satu perintah update
berikut berdasarkan apakah cluster Anda bersifat zonal atau regional:
gcloud container clusters update CLUSTER_NAME --disable-managed-prometheus --zone ZONE
gcloud container clusters update CLUSTER_NAME --disable-managed-prometheus --region REGION
Untuk mengganti pengaktifan otomatis pengumpulan terkelola saat membuat cluster GKE Standar baru (versi 1.27 atau yang lebih baru), jalankan perintah berikut:
gcloud container clusters create CLUSTER_NAME --zone ZONE --no-enable-managed-prometheus
Autopilot GKE
Anda tidak dapat menonaktifkan pengumpulan terkelola di cluster GKE Autopilot yang menjalankan GKE versi 1.25 atau yang lebih baru.
Terraform
Untuk menonaktifkan pengumpulan terkelola, tetapkan atribut enabled
di
blok konfigurasi managed_prometheus
ke false
. Untuk informasi selengkapnya tentang blok konfigurasi ini, lihat registry Terraform untuk google_container_cluster
.
Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.
Mengaktifkan pengumpulan terkelola: Kubernetes non-GKE
Jika Anda menjalankannya di lingkungan non-GKE, Anda dapat mengaktifkan pengumpulan terkelola menggunakan hal berikut:
kubectl
CLI.Solusi paket yang disertakan dalam deployment GKE Enterprise yang menjalankan versi 1.12 atau yang lebih baru.
kubectl
CLI
Untuk menginstal kolektor terkelola saat Anda menggunakan cluster Kubernetes non-GKE, jalankan perintah berikut untuk menginstal penyiapan dan manifes operator:
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/manifests/setup.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/manifests/operator.yaml
GKE Enterprise
Untuk informasi tentang cara mengonfigurasi pengumpulan terkelola untuk cluster GKE Enterprise, lihat dokumentasi untuk distribusi Anda:
Men-deploy aplikasi contoh
Aplikasi contoh memunculkan
metrik penghitung example_requests_total
dan metrik histogram
example_random_numbers
(di antara yang lainnya) di port metrics
-nya. Manifes untuk
aplikasi menentukan tiga replika.
Untuk men-deploy aplikasi contoh, jalankan perintah berikut:
kubectl -n NAMESPACE_NAME apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/examples/example-app.yaml
Mengonfigurasi resource PodMonitoring
Untuk menyerap data metrik yang dikeluarkan oleh aplikasi contoh, Managed Service for Prometheus menggunakan scraping target. Scraping target dan penyerapan metrik dikonfigurasi menggunakan resource kustom Kubernetes. Layanan terkelola menggunakan resource kustom (CR) PodMonitoring.
CR PodMonitoring hanya meng-scrape target di namespace tempat CR di-deploy.
Untuk meng-scrape target di beberapa namespace, deploy CR PodMonitoring yang sama di
setiap namespace. Anda dapat memverifikasi bahwa resource PodMonitoring diinstal di
namespace yang diinginkan dengan menjalankan kubectl get podmonitoring -A
.
Untuk dokumentasi referensi tentang semua CR Managed Service for Prometheus, lihat referensi prometheus-engine/doc/api.
Manifes berikut menentukan resource PodMonitoring,
prom-example
, di namespace NAMESPACE_NAME
. Resource ini
menggunakan pemilih label Kubernetes untuk menemukan semua
pod di namespace yang memiliki label app.kubernetes.io/name
dengan nilai prom-example
.
Pod yang cocok akan di-scrap di port bernama metrics
, setiap 30 detik, di
jalur HTTP /metrics
.
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: prom-example spec: selector: matchLabels: app.kubernetes.io/name: prom-example endpoints: - port: metrics interval: 30s
Untuk menerapkan resource ini, jalankan perintah berikut:
kubectl -n NAMESPACE_NAME apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/examples/pod-monitoring.yaml
Pengumpul terkelola Anda kini meng-scrape pod yang cocok. Anda dapat melihat status target pengambilan dengan mengaktifkan fitur status target.
Untuk mengonfigurasi pengumpulan horizontal yang berlaku untuk berbagai pod di semua namespace, gunakan resource ClusterPodMonitoring. Resource ClusterPodMonitoring menyediakan antarmuka yang sama dengan resource PodMonitoring, tetapi tidak membatasi pod yang ditemukan ke namespace tertentu.
Jika Anda menjalankannya di GKE, Anda dapat melakukan hal berikut:
- Untuk membuat kueri metrik yang diserap oleh aplikasi contoh menggunakan PromQL di Cloud Monitoring, lihat Membuat kueri menggunakan Cloud Monitoring.
- Untuk membuat kueri metrik yang diserap oleh aplikasi contoh menggunakan Grafana, lihat Membuat kueri menggunakan Grafana atau konsumen Prometheus API apa pun.
- Untuk mempelajari cara memfilter metrik yang diekspor dan menyesuaikan resource operator prom, lihat Topik tambahan untuk pengumpulan terkelola.
Jika Anda menjalankannya di luar GKE, Anda perlu membuat akun layanan dan memberi otorisasi untuk menulis data metrik, seperti yang dijelaskan di bagian berikut.
Memberikan kredensial secara eksplisit
Saat berjalan di GKE, server Prometheus pengumpulan akan otomatis mengambil kredensial dari lingkungan berdasarkan akun layanan node. Di cluster Kubernetes non-GKE, kredensial harus disediakan secara eksplisit melalui resource OperatorConfig di namespace gmp-public.
Tetapkan konteks ke project target Anda:
gcloud config set project PROJECT_ID
Buat akun layanan:
gcloud iam service-accounts create gmp-test-sa
Berikan izin yang diperlukan ke akun layanan:
gcloud projects add-iam-policy-binding PROJECT_ID\ --member=serviceAccount:gmp-test-sa@PROJECT_ID. \ --role=roles/monitoring.metricWriter
Buat dan download kunci untuk akun layanan:
gcloud iam service-accounts keys create gmp-test-sa-key.json \ --iam-account=gmp-test-sa@PROJECT_ID.
Tambahkan file kunci sebagai secret ke cluster non-GKE Anda:
kubectl -n gmp-public create secret generic gmp-test-sa \ --from-file=key.json=gmp-test-sa-key.json
Buka resource OperatorConfig untuk mengedit:
kubectl -n gmp-public edit operatorconfig config
Tambahkan teks yang ditampilkan dalam cetak tebal ke resource:
Pastikan Anda juga menambahkan kredensial ini ke bagianapiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config collection: credentials: name: gmp-test-sa key: key.json
rules
agar evaluasi aturan terkelola berfungsi.Simpan file dan tutup editor. Setelah perubahan diterapkan, pod akan dibuat ulang dan mulai mengautentikasi ke backend metrik dengan akun layanan yang diberikan.
Topik tambahan untuk koleksi terkelola
Bagian ini menjelaskan cara melakukan hal berikut:
- Aktifkan fitur status target untuk memudahkan proses debug.
- Konfigurasikan scraping target menggunakan Terraform.
- Memfilter data yang Anda ekspor ke layanan terkelola.
- Mengambil metrik Kubelet dan cAdvisor.
- Konversikan resource prom-operator yang ada untuk digunakan dengan layanan terkelola.
- Menjalankan pengumpulan terkelola di luar GKE.
Mengaktifkan fitur status target
Managed Service for Prometheus menyediakan cara untuk memeriksa apakah target Anda ditemukan dan diambil dengan benar oleh kolektor. Laporan status target ini dimaksudkan sebagai alat untuk men-debug masalah akut. Sebaiknya aktifkan fitur ini hanya untuk menyelidiki masalah yang mendesak. Membiarkan pelaporan status target di cluster besar dapat menyebabkan operator kehabisan memori dan loop error.
Anda dapat memeriksa status target di resource PodMonitoring atau ClusterPodMonitoring dengan menetapkan nilai
features.targetStatus.enabled
dalam resource OperatorConfig ketrue
, seperti yang ditunjukkan dalam contoh berikut:apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config features: targetStatus: enabled: true
Setelah beberapa detik, kolom
Status.Endpoint Statuses
akan muncul di setiap resource PodMonitoring atau ClusterPodMonitoring yang valid, saat dikonfigurasi.Jika memiliki resource PodMonitoring dengan nama
prom-example
di namespaceNAMESPACE_NAME
, Anda dapat memeriksa statusnya dengan menjalankan perintah berikut:kubectl -n NAMESPACE_NAME describe podmonitorings/prom-example
Outputnya akan terlihat seperti berikut:
API Version: monitoring.googleapis.com/v1 Kind: PodMonitoring ... Status: Conditions: ... Status: True Type: ConfigurationCreateSuccess Endpoint Statuses: Active Targets: 3 Collectors Fraction: 1 Last Update Time: 2023-08-02T12:24:26Z Name: PodMonitoring/custom/prom-example/metrics Sample Groups: Count: 3 Sample Targets: Health: up Labels: Cluster: CLUSTER_NAME Container: prom-example Instance: prom-example-589ddf7f7f-hcnpt:metrics Job: prom-example Location: REGION Namespace: NAMESPACE_NAME Pod: prom-example-589ddf7f7f-hcnpt project_id: PROJECT_ID Last Scrape Duration Seconds: 0.020206416 Health: up Labels: ... Last Scrape Duration Seconds: 0.054189485 Health: up Labels: ... Last Scrape Duration Seconds: 0.006224887
Outputnya mencakup kolom status berikut:
Status.Conditions.Status
bernilai benar saat Managed Service for Prometheus mengonfirmasi dan memproses PodMonitoring atau ClusterPodMonitoring.Status.Endpoint Statuses.Active Targets
menunjukkan jumlah target scrape yang dihitung Managed Service for Prometheus di semua kolektor untuk resource PodMonitoring ini. Dalam contoh aplikasi, deploymentprom-example
memiliki tiga replika dengan satu target metrik, sehingga nilainya adalah3
. Jika ada target yang tidak responsif, kolomStatus.Endpoint Statuses.Unhealthy Targets
akan muncul.Status.Endpoint Statuses.Collectors Fraction
menampilkan nilai1
(yang berarti 100%) jika semua kolektor terkelola dapat dijangkau oleh Managed Service for Prometheus.Status.Endpoint Statuses.Last Update Time
menampilkan waktu terakhir diperbarui. Jika waktu pembaruan terakhir jauh lebih lama dari waktu interval scrape yang diinginkan, perbedaan tersebut mungkin menunjukkan masalah pada target atau cluster Anda.- Kolom
Status.Endpoint Statuses.Sample Groups
menampilkan contoh target yang dikelompokkan berdasarkan label target umum yang dimasukkan oleh kolektor. Nilai ini berguna untuk men-debug situasi saat target Anda tidak ditemukan. Jika semua target responsif dan sedang dikumpulkan, nilai yang diharapkan untuk kolomHealth
adalahup
dan nilai untuk kolomLast Scrape Duration Seconds
adalah durasi biasa untuk target standar.
Untuk mengetahui informasi selengkapnya tentang kolom ini, lihat dokumen Managed Service for Prometheus API.
Salah satu hal berikut mungkin menunjukkan masalah pada konfigurasi Anda:
- Tidak ada kolom
Status.Endpoint Statuses
di resource PodMonitoring Anda. - Nilai kolom
Last Scrape Duration Seconds
terlalu lama. - Anda melihat terlalu sedikit target.
- Nilai kolom
Health
menunjukkan bahwa targetnya adalahdown
.
Untuk mengetahui informasi selengkapnya tentang proses debug masalah penemuan target, lihat Masalah sisi proses transfer dalam dokumentasi pemecahan masalah.
Mengonfigurasi endpoint scrape yang diotorisasi
Jika target scraping memerlukan otorisasi, Anda dapat menyiapkan kolektor untuk menggunakan jenis otorisasi yang benar dan memberikan secret yang relevan.
Google Cloud Managed Service for Prometheus mendukung jenis otorisasi berikut:
mTLS
mTLS biasanya dikonfigurasi dalam lingkungan zero trust, seperti mesh layanan Istio atau Cloud Service Mesh.
Untuk mengaktifkan endpoint scraping yang diamankan menggunakan mTLS, tetapkan kolom
Spec.Endpoints[].Scheme
di resource PodMonitoring kehttps
. Meskipun tidak direkomendasikan, Anda dapat menetapkan kolomSpec.Endpoints[].insecureSkipVerify
di resource PodMonitoring ketrue
untuk melewati verifikasi otoritas sertifikat. Atau, Anda dapat mengonfigurasi Managed Service for Prometheus untuk memuat sertifikat dan kunci dari resource secret.Misalnya, resource Secret berikut berisi kunci untuk sertifikat klien (
cert
), kunci pribadi (key
), dan certificate authority (ca
):kind: Secret metadata: name: secret-example stringData: cert: ******** key: ******** ca: ********
Berikan izin kolektor Managed Service for Prometheus untuk mengakses resource Secret tersebut:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gmp-system kind: ServiceAccount
Di cluster GKE Autopilot, tampilannya seperti ini:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gke-gmp-system kind: ServiceAccount
Untuk mengonfigurasi resource PodMonitoring yang menggunakan resource Secret sebelumnya, ubah resource Anda untuk menambahkan bagian
scheme
dantls
:apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: prom-example spec: selector: matchLabels: app.kubernetes.io/name: prom-example endpoints: - port: metrics interval: 30s scheme: https tls: ca: secret: name: secret-example key: ca cert: secret: name: secret-example key: cert key: secret: name: secret-example key: key
Untuk dokumentasi referensi tentang semua opsi mTLS Layanan Terkelola untuk Prometheus, lihat dokumentasi referensi API.
BasicAuth
Untuk mengaktifkan endpoint scraping yang diamankan menggunakan BasicAuth, tetapkan kolom
Spec.Endpoints[].BasicAuth
di resource PodMonitoring dengan nama pengguna dan sandi Anda. Untuk jenis Header Otorisasi HTTP lainnya, lihat Header Otorisasi HTTP.Misalnya, resource Secret berikut berisi kunci untuk menyimpan sandi:
kind: Secret metadata: name: secret-example stringData: password: ********
Berikan izin kolektor Managed Service for Prometheus untuk mengakses resource Secret tersebut:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gmp-system kind: ServiceAccount
Di cluster GKE Autopilot, tampilannya akan seperti ini:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gke-gmp-system kind: ServiceAccount
Untuk mengonfigurasi resource PodMonitoring yang menggunakan resource Secret sebelumnya dan nama pengguna
foo
, ubah resource Anda untuk menambahkan bagianbasicAuth
:apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: prom-example spec: selector: matchLabels: app.kubernetes.io/name: prom-example endpoints: - port: metrics interval: 30s basicAuth: username: foo password: secret: name: secret-example key: password
Untuk dokumentasi referensi tentang semua opsi BasicAuth Managed Service for Prometheus, lihat dokumentasi referensi API.
Header Otorisasi HTTP
Untuk mengaktifkan endpoint scraping yang diamankan menggunakan Header Otorisasi HTTP, tetapkan kolom
Spec.Endpoints[].Authorization
di resource PodMonitoring dengan jenis dan kredensial. Untuk endpoint BasicAuth, gunakan konfigurasi BasicAuth.Misalnya, resource Secret berikut berisi kunci untuk menyimpan kredensial:
kind: Secret metadata: name: secret-example stringData: credentials: ********
Berikan izin kolektor Managed Service for Prometheus untuk mengakses resource Secret tersebut:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gmp-system kind: ServiceAccount
Di cluster GKE Autopilot, tampilannya seperti ini:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gke-gmp-system kind: ServiceAccount
Untuk mengonfigurasi resource PodMonitoring yang menggunakan resource Secret sebelumnya dan jenis
Bearer
, ubah resource Anda untuk menambahkan bagianauthorization
:apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: prom-example spec: selector: matchLabels: app.kubernetes.io/name: prom-example endpoints: - port: metrics interval: 30s authorization: type: Bearer credentials: secret: name: secret-example key: credentials
Untuk dokumentasi referensi tentang semua opsi Header Otorisasi HTTP Layanan Terkelola untuk Prometheus, lihat dokumentasi referensi API.
OAuth 2
Untuk mengaktifkan endpoint scraping yang diamankan menggunakan OAuth 2, Anda harus menetapkan kolom
Spec.Endpoints[].OAuth2
di resource PodMonitoring.Misalnya, resource Secret berikut berisi kunci untuk menyimpan secret klien:
kind: Secret metadata: name: secret-example stringData: clientSecret: ********
Berikan izin kolektor Managed Service for Prometheus untuk mengakses resource Secret tersebut:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gmp-system kind: ServiceAccount
Di cluster GKE Autopilot, tampilannya seperti ini:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-example-read rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["secret-example"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:secret-example-read namespace: default roleRef: name: secret-example-read kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gke-gmp-system kind: ServiceAccount
Untuk mengonfigurasi resource PodMonitoring yang menggunakan resource Secret sebelumnya dengan ID klien
foo
dan URL tokenexample.com/token
, ubah resource Anda untuk menambahkan bagianoauth2
:apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: prom-example spec: selector: matchLabels: app.kubernetes.io/name: prom-example endpoints: - port: metrics interval: 30s oauth2: clientID: foo clientSecret: secret: name: secret-example key: password tokenURL: example.com/token
Untuk dokumentasi referensi tentang semua opsi OAuth 2 Layanan Terkelola untuk Prometheus, lihat dokumentasi referensi API.
Mengonfigurasi scraping target menggunakan Terraform
Anda dapat mengotomatiskan pembuatan dan pengelolaan resource PodMonitoring dan ClusterPodMonitoring menggunakan jenis resource Terraform
kubernetes_manifest
atau jenis resource Terraformkubectl_manifest
, yang memungkinkan Anda menentukan resource kustom arbitrer.Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.
Memfilter metrik yang diekspor
Jika Anda mengumpulkan banyak data, sebaiknya hindari pengiriman beberapa deret waktu ke Managed Service for Prometheus untuk menekan biaya. Anda dapat melakukannya dengan menggunakan aturan pemberian label ulang Prometheus dengan tindakan
keep
untuk daftar yang diizinkan atau tindakandrop
untuk daftar yang ditolak. Untuk koleksi terkelola, aturan ini berada di bagianmetricRelabeling
dari resource PodMonitoring atau ClusterPodMonitoring.Misalnya, aturan pemberian label ulang metrik berikut akan memfilter metrik apa pun yang diawali dengan
foo_bar_
,foo_baz_
, ataufoo_qux_
:metricRelabeling: - action: drop regex: foo_(bar|baz|qux)_.+ sourceLabels: [__name__]
Halaman Pengelolaan Metrik Cloud Monitoring memberikan informasi yang dapat membantu Anda mengontrol jumlah yang Anda belanjakan untuk metrik yang dapat ditagih tanpa memengaruhi visibilitas. Halaman Metrics Management melaporkan informasi berikut:
- Volume transfer untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk setiap metrik.
- Data tentang label dan kardinalitas metrik.
- Jumlah operasi baca untuk setiap metrik.
- Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
- Rasio error penulisan metrik.
Anda juga dapat menggunakan Pengelolaan Metrik untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapannya. Untuk informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.
Untuk saran tambahan tentang cara menurunkan biaya, lihat Kontrol biaya dan atribusi.
Mengambil metrik Kubelet dan cAdvisor
Kubelet mengekspos metrik tentang dirinya sendiri serta metrik cAdvisor tentang penampung yang berjalan di node-nya. Anda dapat mengonfigurasi pengumpulan terkelola untuk mengambil metrik Kubelet dan cAdvisor dengan mengedit resource OperatorConfig. Untuk mengetahui petunjuknya, lihat dokumentasi eksportir untuk Kubelet dan cAdvisor.
Mengonversi resource prometheus-operator yang ada
Anda biasanya dapat mengonversi resource prometheus-operator yang ada menjadi resource PodMonitoring dan ClusterPodMonitoring koleksi terkelola Managed Service for Prometheus.
Misalnya, resource ServiceMonitor menentukan pemantauan untuk serangkaian layanan. Resource PodMonitoring menayangkan subkumpulan kolom yang ditayangkan oleh resource ServiceMonitor. Anda dapat mengonversi CR ServiceMonitor menjadi CR PodMonitoring dengan memetakan kolom seperti yang dijelaskan dalam tabel berikut:
monitoring.coreos.com/v1
ServiceMonitorKompatibilitas
monitoring.googleapis.com/v1
PodMonitoring.ServiceMonitorSpec.Selector
Sama .PodMonitoringSpec.Selector
.ServiceMonitorSpec.Endpoints[]
.TargetPort
dipetakan ke.Port
.Path
: compatible
.Interval
: compatible
.Timeout
: compatible.PodMonitoringSpec.Endpoints[]
.ServiceMonitorSpec.TargetLabels
PodMonitor harus menentukan:
.FromPod[].From
label pod
.FromPod[].To
label target.PodMonitoringSpec.TargetLabels
Berikut adalah contoh CR ServiceMonitor; konten dalam huruf tebal diganti dalam konversi, dan konten dalam huruf miring dipetakan secara langsung:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: example-app spec: selector: matchLabels: app: example-app endpoints: - targetPort: web path: /stats interval: 30s targetLabels: - foo
Berikut adalah CR PodMonitoring yang analog, dengan asumsi bahwa layanan Anda dan pod-nya diberi label dengan
app=example-app
. Jika asumsi ini tidak berlaku, Anda harus menggunakan pemilih label dari resource Layanan yang mendasarinya.Konten dalam huruf tebal telah diganti dalam konversi:
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: example-app spec: selector: matchLabels: app: example-app endpoints: - port: web path: /stats interval: 30s targetLabels: fromPod: - from: foo # pod label from example-app Service pods. to: foo
Anda dapat terus menggunakan resource prometheus-operator dan konfigurasi deployment yang ada dengan menggunakan kolektor yang di-deploy sendiri, bukan kolektor terkelola. Anda dapat membuat kueri metrik yang dikirim dari kedua jenis kolektor, sehingga Anda mungkin ingin menggunakan kolektor yang di-deploy sendiri untuk deployment Prometheus yang ada sekaligus menggunakan kolektor terkelola untuk deployment Prometheus baru.
Label yang dicadangkan
Managed Service for Prometheus secara otomatis menambahkan label berikut ke semua metrik yang dikumpulkan. Label ini digunakan untuk mengidentifikasi resource secara unik di Monarch:
project_id
: ID project Google Cloud yang terkait dengan metrik Anda.location
: Lokasi fisik (region Google Cloud) tempat data disimpan. Nilai ini biasanya merupakan region cluster GKE Anda. Jika data dikumpulkan dari deployment AWS atau lokal, nilainya mungkin region Google Cloud terdekat.cluster
: Nama cluster Kubernetes yang terkait dengan metrik Anda.namespace
: Nama namespace Kubernetes yang terkait dengan metrik Anda.job
: Label tugas target Prometheus, jika diketahui; mungkin kosong untuk hasil evaluasi aturan.instance
: Label instance target Prometheus, jika diketahui; mungkin kosong untuk hasil evaluasi aturan.
Meskipun tidak direkomendasikan saat berjalan di Google Kubernetes Engine, Anda dapat mengganti label
project_id
,location
, dancluster
dengan menambahkannya sebagaiargs
ke resource Deployment dalamoperator.yaml
. Jika Anda menggunakan label yang dicadangkan sebagai label metrik, Managed Service for Prometheus akan otomatis memberi label ulang dengan menambahkan awalanexported_
. Perilaku ini cocok dengan cara Prometheus upstream menangani konflik dengan label yang dicadangkan.Mengompresi konfigurasi
Jika memiliki banyak resource PodMonitoring, Anda mungkin kehabisan ruang ConfigMap. Untuk memperbaikinya, aktifkan kompresi
gzip
di resource OperatorConfig:apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config features: config: compression: gzip
Mengaktifkan penskalaan otomatis pod vertikal (VPA) untuk pengumpulan terkelola
Jika Anda mengalami error Kehabisan Memori (OOM) untuk pod kolektor di cluster atau jika permintaan dan batas resource default untuk kolektor tidak memenuhi kebutuhan Anda, Anda dapat menggunakan penskalaan otomatis pod vertikal untuk mengalokasikan resource secara dinamis.
Saat Anda menetapkan kolom
scaling.vpa.enabled: true
pada resource OperatorConfig, operator akan men-deploy manifes VerticalPodAutoscaling di cluster yang memungkinkan permintaan dan batas resource pod kolektor ditetapkan secara otomatis, berdasarkan penggunaan.Untuk mengaktifkan VPA untuk pod kolektor di Managed Service for Prometheus, jalankan perintah berikut:
kubectl -n gmp-public patch operatorconfig/config -p '{"scaling":{"vpa":{"enabled":true}}}' --type=merge
Jika perintah berhasil diselesaikan, operator akan menyiapkan penskalaan otomatis pod vertikal untuk pod kolektor. Error Kehabisan Memori akan mengakibatkan peningkatan batas resource secara langsung. Jika tidak ada error OOM, penyesuaian pertama pada permintaan resource dan batas pod kolektor biasanya terjadi dalam waktu 24 jam.
Anda mungkin menerima error ini saat mencoba mengaktifkan VPA:
vertical pod autoscaling is not available - install vpa support and restart the operator
Untuk mengatasi error ini, Anda harus mengaktifkan penskalaan otomatis pod vertikal terlebih dahulu di tingkat cluster:
Buka halaman Kubernetes Engine - Clusters di Konsol Google Cloud.
Di konsol Google Cloud, buka halaman Kubernetes clusters:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Kubernetes Engine.
Pilih cluster yang ingin Anda ubah.
Di bagian Automation, edit nilai opsi Vertical Pod Autoscaling.
Centang kotak Enable Vertical Pod Autoscaling, lalu klik Save changes. Perubahan ini akan memulai ulang cluster Anda. Operator akan dimulai ulang sebagai bagian dari proses ini.
Coba lagi perintah berikut:
kubectl -n gmp-public patch operatorconfig/config -p '{"scaling":{"vpa":{"enabled":true}}}' --type=merge
untuk mengaktifkan VPA untuk Managed Service for Prometheus.
Untuk mengonfirmasi bahwa resource OperatorConfig berhasil diedit, buka resource tersebut menggunakan perintah
kubectl -n gmp-public edit operatorconfig config
. Jika berhasil, OperatorConfig Anda akan menyertakan bagian berikut dalam huruf tebal:apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config scaling: vpa: enabled: true
Penskalaan otomatis pod vertikal berfungsi paling optimal saat menyerap jumlah sampel yang stabil, yang dibagi secara merata di seluruh node. Jika beban metrik tidak teratur atau berfluktuasi, atau jika beban metrik sangat bervariasi di antara node, VPA mungkin bukan solusi yang efisien.
Untuk informasi selengkapnya, lihat penskalaan otomatis pod vertikal di GKE.
Teardown
Untuk menonaktifkan pengumpulan terkelola yang di-deploy menggunakan
gcloud
atau UI GKE, Anda dapat melakukan salah satu tindakan berikut:Jalankan perintah berikut:
gcloud container clusters update CLUSTER_NAME --disable-managed-prometheus
Gunakan UI GKE:
Pilih Kubernetes Engine di Konsol Google Cloud, lalu pilih Clusters.
Temukan cluster yang koleksi terkelolanya ingin Anda nonaktifkan, lalu klik namanya.
Di tab Details, scroll ke bawah ke Features dan ubah statusnya menjadi Disabled menggunakan tombol edit.
Untuk menonaktifkan koleksi terkelola yang di-deploy menggunakan Terraform, tentukan
enabled = false
di bagianmanaged_prometheus
dari resourcegoogle_container_cluster
.Untuk menonaktifkan koleksi terkelola yang di-deploy menggunakan
kubectl
, jalankan perintah berikut:kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/manifests/operator.yaml
Menonaktifkan pengumpulan terkelola akan menyebabkan cluster Anda berhenti mengirim data baru ke Managed Service for Prometheus. Tindakan ini tidak akan menghapus data metrik yang ada dan telah disimpan di sistem.
Menonaktifkan pengumpulan terkelola juga akan menghapus namespace
gmp-public
dan resource apa pun di dalamnya, termasuk eksportir yang diinstal di namespace tersebut.Menjalankan pengumpulan terkelola di luar GKE
Di lingkungan GKE, Anda dapat menjalankan pengumpulan terkelola tanpa konfigurasi lebih lanjut. Di lingkungan Kubernetes lainnya, Anda harus memberikan kredensial secara eksplisit, nilai
project-id
untuk memuat metrik, nilailocation
(region Google Cloud) tempat metrik akan disimpan, dan nilaicluster
untuk menyimpan nama cluster tempat pengumpul berjalan.Karena
gcloud
tidak berfungsi di luar lingkungan Google Cloud, Anda harus men-deploy menggunakan kubectl. Tidak sepertigcloud
, deployment koleksi terkelola menggunakankubectl
tidak otomatis mengupgrade cluster Anda saat versi baru tersedia. Jangan lupa untuk melihat halaman rilis untuk mengetahui versi baru dan mengupgrade secara manual dengan menjalankan kembali perintahkubectl
dengan versi baru.Anda dapat memberikan kunci akun layanan dengan mengubah resource OperatorConfig dalam
operator.yaml
seperti yang dijelaskan dalam Memberikan kredensial secara eksplisit. Anda dapat memberikan nilaiproject-id
,location
, dancluster
dengan menambahkannya sebagaiargs
ke resource Deployment dalamoperator.yaml
.Sebaiknya pilih
project-id
berdasarkan model kepemilikan yang Anda rencanakan untuk pembacaan. Pilih project untuk menyimpan metrik berdasarkan cara Anda mengatur pembacaan nantinya dengan cakupan metrik. Jika tidak peduli, Anda dapat memasukkan semuanya ke dalam satu project.Untuk
location
, sebaiknya pilih region Google Cloud terdekat dengan deployment Anda. Makin jauh region Google Cloud yang dipilih dari deployment Anda, makin besar latensi tulis yang akan Anda miliki dan makin besar kemungkinan Anda terpengaruh oleh masalah jaringan. Anda dapat melihat daftar region di beberapa cloud ini. Jika tidak masalah, Anda dapat menempatkan semuanya ke dalam satu region Google Cloud. Anda tidak dapat menggunakanglobal
sebagai lokasi.Untuk
cluster
, sebaiknya pilih nama cluster tempat operator di-deploy.Jika dikonfigurasi dengan benar, OperatorConfig Anda akan terlihat seperti ini:
apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config collection: credentials: name: gmp-test-sa key: key.json rules: credentials: name: gmp-test-sa key: key.json
Dan resource Deployment Anda akan terlihat seperti ini:
apiVersion: apps/v1 kind: Deployment ... spec: ... template: ... spec: ... containers: - name: operator ... args: - ... - "--project-id=PROJECT_ID" - "--cluster=CLUSTER_NAME" - "--location=REGION"
Contoh ini mengasumsikan bahwa Anda telah menetapkan variabel
REGION
ke nilai sepertius-central1
, misalnya.Menjalankan Managed Service for Prometheus di luar Google Cloud akan dikenai biaya transfer data. Ada biaya untuk mentransfer data ke Google Cloud, dan Anda mungkin dikenai biaya untuk mentransfer data keluar dari cloud lain. Anda dapat meminimalkan biaya ini dengan mengaktifkan kompresi gzip melalui jaringan melalui OperatorConfig. Tambahkan teks yang ditampilkan dalam cetak tebal ke resource:
apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config collection: compression: gzip ...
Bacaan lebih lanjut tentang resource kustom koleksi terkelola
Untuk dokumentasi referensi tentang semua resource kustom Managed Service for Prometheus, lihat referensi prometheus-engine/doc/api.
Langkah selanjutnya