Sidecar Managed Service for Prometheus untuk Cloud Run adalah cara yang direkomendasikan Google untuk mendapatkan pemantauan bergaya Prometheus untuk layanan Cloud Run. Jika layanan Cloud Run Anda menulis metrik OTLP, Anda dapat menggunakan bantuan OpenTelemetry. Namun, untuk layanan yang menulis metrik Prometheus, gunakan file bantuan Managed Service for Prometheus yang dijelaskan dalam dokumen ini.
Dokumen ini menjelaskan cara melakukan hal berikut:
- Menambahkan file bantuan Managed Service for Prometheus ke layanan Cloud Run yang ada.
- Bangun aplikasi contoh dengan file bantuan. Anda dapat menggunakan aplikasi contoh untuk melihat cara kerja file bantuan jika Anda tidak memiliki layanan Cloud Run.
Sidecar ini menggunakan Google Cloud Managed Service for Prometheus di sisi server dan distribusi OpenTelemetry Collector, yang dibuat khusus untuk workload serverless, di sisi klien. Distribusi kustom ini mencakup beberapa perubahan untuk mendukung Cloud Run. Kolektor akan melakukan scrape start-up setelah 10 detik dan melakukan scrape penonaktifan, terlepas dari seberapa singkat instance tersebut aktif. Untuk keandalan maksimum, kami menyarankan agar layanan Cloud Run yang menjalankan file bantuan juga menggunakan CPU yang selalu dialokasikan. Untuk informasi selengkapnya, lihat alokasi CPU (layanan). Beberapa upaya scrape mungkin gagal jika alokasi CPU di-throttle karena rendahnya jumlah kueri per detik (QPS). CPU yang selalu dialokasikan akan tetap tersedia.
Sidecar ini mengandalkan fitur multicontainer (sidecar) Cloud Run untuk menjalankan kolektor sebagai container file bantuan bersama container workload Anda. Untuk informasi selengkapnya tentang file bantuan di Cloud Run, lihat Men-deploy beberapa container ke layanan (file bantuan).
Sidecar Managed Service for Prometheus untuk Cloud Run memperkenalkan konfigurasi baru, RunMonitoring
, subset resource kustom PodMonitoring
Kubernetes. Sebagian besar pengguna dapat menggunakan konfigurasi RunMonitoring
default, tetapi Anda juga dapat membuat konfigurasi kustom. Untuk mengetahui informasi selengkapnya tentang konfigurasi RunMonitoring
default dan kustom, lihat Menambahkan file bantuan ke layanan Cloud Run.
Sebelum memulai
Bagian ini menjelaskan penyiapan yang diperlukan untuk menggunakan dokumen ini.
Menginstal dan mengonfigurasi gcloud CLI
Banyak langkah yang dijelaskan dalam dokumen ini menggunakan Google Cloud CLI. Untuk mengetahui informasi tentang cara menginstal gcloud CLI, lihat Mengelola komponen Google Cloud CLI.
Saat memanggil perintah gcloud
, Anda harus menentukan ID untuk project Google Cloud Anda. Anda dapat menetapkan project default untuk Google Cloud CLI tanpa perlu memasukkannya dengan setiap perintah.
Untuk menetapkan project Anda sebagai default, masukkan perintah berikut:
gcloud config set project PROJECT_ID
Anda juga dapat menetapkan region default untuk layanan Cloud Run Anda. Untuk menetapkan region default, masukkan perintah berikut:
gcloud config set run/region REGION
Mengaktifkan API
Anda harus mengaktifkan API berikut di project Google Cloud:
- Cloud Run Admin API:
run.googleapis.com
- Artifact Registry API:
artifactregistry.googleapis.com
- Cloud Monitoring API:
monitoring.googleapis.com
- Cloud Logging API:
logging.googleapis.com
- (Opsional) Jika membuat konfigurasi
RunMonitoring
kustom, Anda harus mengaktifkan Secret Manager API:secretmanager.googleapis.com
- (Opsional) Jika memilih untuk menjalankan aplikasi contoh menggunakan Cloud Build, Anda juga harus mengaktifkan API berikut:
- Cloud Build API:
cloudbuild.googleapis.com
. - Identity and Access Management API:
iam.googleapis.com
. Untuk mengetahui informasi selengkapnya, lihat Membangun dan menjalankan aplikasi contoh.
- Cloud Build API:
Untuk melihat API yang diaktifkan di project Anda, jalankan perintah berikut:
gcloud services list
Untuk mengaktifkan API yang tidak diaktifkan, jalankan salah satu perintah berikut:
gcloud services enable run.googleapis.com gcloud services enable artifactregistry.googleapis.com gcloud services enable secretmanager.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable cloudbuild.googleapis.com gcloud services enable iam.googleapis.com
Akun layanan untuk Cloud Run
Secara default, tugas dan layanan Cloud Run menggunakan akun layanan default Compute Engine, PROJECT_NUMBER-compute@developer.gserviceaccount.com
.
Akun layanan ini biasanya memiliki peran Identity and Access Management (IAM) yang diperlukan untuk menulis metrik dan log yang dijelaskan dalam dokumen ini:
roles/monitoring.metricWriter
roles/logging.logWriter
Jika Anda membuat konfigurasi RunMonitoring
kustom,
akun layanan Anda juga harus memiliki peran berikut:
roles/secretmanager.admin
roles/secretmanager.secretAccessor
Anda juga dapat mengonfigurasi akun layanan yang dikelola pengguna untuk Cloud Run. Akun layanan yang dikelola pengguna juga harus memiliki peran ini. Untuk mengetahui informasi selengkapnya tentang akun layanan untuk Cloud Run, lihat Mengonfigurasi Service Identity.
Mengonfigurasi dan menambahkan file bantuan ke layanan Cloud Run
Sidecar Managed Service for Prometheus untuk Cloud Run memperkenalkan konfigurasi baru, RunMonitoring
, yang merupakan subset dari resource kustom PodMonitoring
Kubernetes. Konfigurasi RunMonitoring
menggunakan opsi PodMonitoring
yang ada untuk mendukung Cloud Run sekaligus menghilangkan beberapa opsi yang spesifik untuk Kubernetes.
Anda dapat menggunakan konfigurasi RunMonitoring
default, atau
membuat konfigurasi kustom. Bagian berikut menjelaskan
kedua pendekatan tersebut. Anda tidak perlu melakukan keduanya. Untuk mengetahui informasi selengkapnya tentang cara menggunakan konfigurasi default atau kustom, pilih tab yang sesuai.
Konfigurasi default
Menggunakan konfigurasi RunMonitoring default
Jika Anda tidak membuat konfigurasi RunMonitoring
kustom, kolektor file bantuan akan menyintesis konfigurasi default berikut untuk menyalin metrik
dari port 8080 di jalur metrik /metrics
setiap 30 detik:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: run-gmp-sidecar spec: endpoints: - port: 8080 path: /metrics interval: 30s
Menggunakan konfigurasi default tidak memerlukan penyiapan tambahan selain menambahkan file bantuan ke layanan Cloud Run Anda.
Menambahkan file bantuan ke layanan Cloud Run
Untuk menggunakan file bantuan dengan konfigurasi RunMonitoring
default, Anda harus mengubah konfigurasi Cloud Run yang ada untuk menambahkan file bantuan tersebut. Untuk menambahkan file bantuan, lakukan langkah-langkah berikut:
- Tambahkan anotasi dependensi container yang menentukan urutan startup dan penonaktifan container. Pada contoh berikut, penampung file bantuan, yang bernama "kolektor", dimulai setelah dan dinonaktifkan sebelum penampung aplikasi, yang bernama "aplikasi" dalam contoh.
- Buat penampung untuk kolektor, dengan nama "kolektor" pada contoh berikut.
Misalnya, tambahkan baris yang diawali dengan karakter +
(plus) ke konfigurasi Cloud Run Anda, lalu deploy ulang layanan Anda:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 + run.googleapis.com/container-dependencies: '{"collector":["app"]}' spec: containers: - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 + - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.0" + name: collector
Untuk men-deploy ulang layanan Cloud Run dengan file konfigurasi run-service.yaml
, jalankan perintah berikut:
gcloud run services replace run-service.yaml --region=REGION
Konfigurasi kustom
Membuat konfigurasi RunMonitoring kustom
Anda dapat membuat konfigurasi RunMonitoring
untuk layanan Cloud Run jika konfigurasi default tidak memadai.
Misalnya, Anda dapat membuat konfigurasi seperti berikut:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: my-custom-cloud-run-job spec: endpoints: - port: 8080 path: /metrics interval: 10s metricRelabeling: - action: replace sourceLabels: - __address__ targetLabel: label_key replacement: label_value targetLabels: metadata: - service - revision
Konfigurasi ini melakukan hal berikut:
- Mengambil metrik dari port 8080 dan menggunakan jalur metrik default
/metrics
. - Menggunakan interval scrape 10 detik.
- Menggunakan pelabelan ulang untuk menambahkan label
label_key
dengan nilailabel_value
ke setiap metrik yang disalin. - Menambahkan label metadata
service
danrevision
ke setiap metrik yang disalin.
Untuk informasi tentang opsi konfigurasi yang tersedia, lihat Spesifikasi RunMonitoring: opsi konfigurasi.
Saat menggunakan konfigurasi RunMonitoring
kustom, Anda harus
melakukan konfigurasi tambahan berikut:
- Aktifkan Secret Manager API dan berikan peran Secret Manager ke akun layanan Cloud Run Anda. Untuk informasi selengkapnya, lihat Sebelum memulai.
- Simpan konfigurasi kustom sebagai rahasia.
- Menambahkan file bantuan ke layanan Cloud Run .
Menyimpan konfigurasi menggunakan Secret Manager
Untuk memberikan konfigurasi RunMonitoring
kustom, lakukan hal berikut:
- Buat file yang berisi konfigurasi kustom.
- Buat secret Secret Manager yang berisi konfigurasi kustom.
Perintah berikut membuat secret bernama mysecret dari file custom-config.yaml
:
gcloud secrets create mysecret --data-file=custom-config.yaml
Untuk mengambil perubahan pada konfigurasi setelah mengubah file custom-config.yaml
, Anda harus menghapus dan membuat ulang secret, lalu men-deploy ulang layanan Cloud Run.
Memperbarui konfigurasi di Secret Manager
Jika ingin memperbarui konfigurasi RunMonitoring
kustom kapan saja, Anda dapat menambahkan versi baru dari secret yang ada ke Secret Manager.
Misalnya, untuk mengupdate mysecret dengan konfigurasi baru yang disimpan dalam file custom-config-updated.yaml
, Anda dapat menjalankan:
gcloud secrets versions add mysecret --data-file=custom-config-updated.yaml
File bantuan akan otomatis dimuat ulang dan menerapkan perubahan pada konfigurasinya.
Menambahkan file bantuan ke layanan Cloud Run
Setelah membuat secret Secret Manager untuk
konfigurasi RunMonitoring
, Anda harus mengubah
konfigurasi Cloud Run untuk melakukan hal berikut:
- Menambahkan file bantuan Managed Service for Prometheus
- Tambahkan anotasi dependensi container yang menentukan urutan startup dan penonaktifan container. Pada contoh berikut, penampung file bantuan, yang bernama "kolektor", dimulai setelah dan dinonaktifkan sebelum penampung aplikasi, yang bernama "aplikasi" dalam contoh.
- Buat penampung untuk kolektor, dengan nama "kolektor" pada contoh berikut.
- Tambahkan secret dengan memasang
secret di lokasi
/etc/rungmp/config.yaml
:- Tambahkan anotasi secret yang mengarah ke secret yang menyimpan
konfigurasi
RunMonitoring
kustom Anda. - Buat volume, bernama "config" dalam contoh berikut, untuk rahasia yang mengarah ke file
config.yaml
. - Pasang volume sebagai bagian dari image kolektor di jalur pemasangan
/etc/rungmp
.
- Tambahkan anotasi secret yang mengarah ke secret yang menyimpan
konfigurasi
Misalnya, tambahkan baris yang diawali dengan karakter +
(plus) ke konfigurasi Cloud Run Anda, lalu deploy ulang layanan Anda:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 + run.googleapis.com/container-dependencies: '{"collector":["app"]}' + run.googleapis.com/secrets: 'mysecret:projects/PROJECT_ID/secrets/mysecret' spec: containers: - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 + - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.0" + name: collector + volumeMounts: + - mountPath: /etc/rungmp/ + name: config + volumes: + - name: config + secret: + items: + - key: latest + path: config.yaml + secretName: 'mysecret'
Untuk men-deploy ulang layanan Cloud Run dengan file konfigurasi run-service.yaml
, jalankan perintah berikut:
gcloud run services replace run-service.yaml --region=REGION
Spesifikasi RunMonitoring: opsi konfigurasi
Bagian ini menjelaskan spesifikasi konfigurasi RunMonitoring
untuk file bantuan Managed Service for Prometheus. Berikut ini contoh konfigurasi kustom:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: my-custom-cloud-run-job spec: endpoints: - port: 8080 path: /metrics interval: 10s metricRelabeling: - action: replace sourceLabels: - __address__ targetLabel: label_key replacement: label_value targetLabels: metadata: - service - revision
RunMonitoring
Konfigurasi RunMonitoring
memantau layanan Cloud Run.
Kolom | Deskripsi | Skema | Diperlukan |
---|---|---|---|
metadata |
Metadata yang harus dimiliki oleh semua resource yang dipertahankan. |
metav1.ObjectMeta |
false |
spec |
Spesifikasi deployment Cloud Run yang dipilih untuk penemuan target oleh Prometheus. | RunMonitoringSpec |
true |
RunMonitoringSpec
Spesifikasi ini menjelaskan cara konfigurasi RunMonitoring
memantau layanan Cloud Run.
Kolom | Deskripsi | Skema | Diperlukan |
---|---|---|---|
endpoints |
Endpoint yang akan disalin pada pod yang dipilih. | []ScrapeEndpoint |
true |
targetLabels |
Label untuk ditambahkan ke target Prometheus untuk endpoint yang ditemukan.
Label instance selalu ditetapkan ke ID instance Cloud Run. |
RunTargetLabels |
false |
limits |
Batas yang akan diterapkan pada waktu scrape. | *ScrapeLimits |
false |
RunTargetLabels
Dengan konfigurasi RunTargetLabels
, Anda dapat menyertakan label Cloud Run dari target Prometheus yang ditemukan.
Kolom | Deskripsi | Skema | Diperlukan |
---|---|---|---|
metadata |
Label metadata Cloud Run yang ditetapkan pada semua target yang disalin. Kunci yang diizinkan adalah instance , revision ,
service , dan configuration .Jika kunci yang diizinkan ditetapkan, file bantuan akan menambahkan nilai yang sesuai dari instance Cloud Run sebagai label metrik ke setiap metrik: instanceID , revision_name , service_name , dan configuration_name .Setelan defaultnya adalah semua kunci yang diizinkan disetel. |
*[]string |
false |
Membangun dan menjalankan aplikasi contoh
Bagian ini menjelaskan cara menjalankan file bantuan Managed Service for Prometheus dengan aplikasi contoh. Bagian ini bersifat opsional. Jika Anda sudah memiliki layanan Cloud Run dan ingin men-deploy file bantuan tersebut, lihat Menambahkan file bantuan Managed Service for Prometheus ke layanan Cloud Run.
Clone repositori run-gmp-sidecar
Untuk mendapatkan aplikasi contoh dan file konfigurasinya, clone repositori run-gmp-sidecar
dengan menjalankan perintah berikut:
git clone https://github.com/GoogleCloudPlatform/run-gmp-sidecar/
Setelah meng-clone repositori, ubah ke direktori run-gmp-sidecar
:
cd run-gmp-sidecar
Membangun dan menjalankan aplikasi contoh
Aplikasi contoh memerlukan Docker atau sistem build container serupa untuk Linux. Anda dapat membangun dan menjalankan aplikasi contoh dengan salah satu cara berikut:
- Gunakan Cloud Build untuk berjalan tanpa dukungan Docker lokal. Jika menggunakan Cloud Build, Anda juga harus mengaktifkan Cloud Build API.
- Build dan jalankan aplikasi contoh secara manual.
Bagian berikut menjelaskan kedua pendekatan tersebut. Anda tidak perlu melakukan keduanya. Untuk mengetahui informasi selengkapnya, pilih tab untuk salah satu pendekatan.
Menggunakan Cloud Build
Menggunakan Cloud Build
Repositori run-gmp-sidecar
menyertakan file konfigurasi untuk Cloud Build. File-file ini memaketkan langkah-langkah yang diperlukan
untuk membangun dan men-deploy aplikasi contoh.
Anda juga dapat secara manual melakukan langkah-langkah yang ditangani oleh Cloud Build. Untuk mengetahui informasi selengkapnya, lihat Membuat dan menjalankan secara manual.
Menyiapkan Cloud Build
File konfigurasi ini memerlukan akun layanan Cloud Build dan repositori Artifact Registry. Repositori run-gmp-sidecar
juga menyertakan
skrip, create-sa-and-ar.sh
yang melakukan hal berikut:
- Membuat akun layanan,
run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com
. - Memberikan peran berikut ke akun layanan:
roles/iam.serviceAccountUser
roles/storage.objectViewer
roles/logging.logWriter
roles/artifactregistry.createOnPushWriter
roles/secretmanager.admin
roles/secretmanager.secretAccessor
roles/run.admin
- Membuat repositori Artifact Registry,
run-gmp
, untuk image container Anda.
Untuk membuat akun layanan run-gmp-sa
dan repositori run-gmp
,
jalankan perintah berikut:
./create-sa-and-ar.sh
Perlu waktu beberapa saat agar izin diterapkan, jadi sebaiknya tunggu sekitar 30 detik sebelum melanjutkan ke langkah berikutnya. Jika tidak, Anda mungkin akan melihat error otorisasi.
Mengirim permintaan Cloud Build
Setelah menyiapkan akun layanan run-gmp-sa
dan repositori run-gmp
, Anda dapat memulai tugas Cloud Build dengan mengirimkan file konfigurasi Cloud Build. Anda dapat menggunakan perintah
gcloud builds submit
berikut:
gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION
Perintah ini membutuhkan waktu beberapa menit untuk dijalankan, tetapi segera menunjukkan tempat Anda dapat menemukan detail build Cloud Build. Pesannya akan terlihat seperti berikut:
Logs are available at [ https://console.cloud.google.com/cloud-build/builds/637860fb-7a14-46f2-861e-09c1dc4cea6b?project=PROJECT_NUMBER].
Untuk melihat progres build, buka URL yang ditampilkan di browser Anda. Anda juga dapat melihat log bantuan di Cloud Logging.
Memeriksa URL layanan
Setelah tugas Cloud Build berakhir, periksa URL endpoint layanan Cloud Run dengan menjalankan perintah berikut:
gcloud run services describe my-cloud-run-service --region=REGION --format="value(status.url)"
Perintah ini akan menampilkan URL layanan, yang terlihat seperti berikut:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Gunakan URL yang ditampilkan sebagai nilai SERVICE_URL di bagian Pastikan aplikasi Anda berjalan.
Membangun dan menjalankan secara manual
Membangun dan menjalankan secara manual
Anda dapat secara manual menjalankan langkah-langkah yang ditangani oleh Cloud Build, seperti yang dijelaskan dalam Menggunakan Cloud Build. Bagian berikut menjelaskan cara melakukan tugas yang sama secara manual.
Menetapkan variabel yang digunakan oleh langkah-langkah berikutnya
Beberapa langkah selanjutnya menggunakan variabel lingkungan untuk nilai umum. Siapkan variabel-variabel ini dengan menggunakan perintah berikut:
export GCP_PROJECT=PROJECT_ID export REGION=REGION
Membuat repositori image container
Buat repositori Artifact Registry untuk image container dengan menjalankan perintah berikut:
gcloud artifacts repositories create run-gmp \ --repository-format=docker \ --location=${REGION}
Membangun dan mengirim aplikasi contoh
Contoh ini menggunakan Docker di Linux untuk mem-build aplikasi contoh dan mengirimkannya ke repositori Artifact Registry. Anda mungkin perlu menyesuaikan perintah ini jika bekerja di lingkungan Windows atau macOS.
Untuk mem-build aplikasi contoh dan mengirimkannya ke Artifact Registry, lakukan hal berikut:
Autentikasi klien Docker Anda dengan Google Cloud CLI:
gcloud auth configure-docker ${REGION}-docker.pkg.dev
Buka direktori
simple-app
di repositorirun-gmp-sidecar
:pushd sample-apps/simple-app
Build aplikasi
simple-app
dengan menjalankan perintah berikut:docker build -t ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app .
Kirim image untuk aplikasi yang telah dibangun dengan menjalankan perintah berikut:
docker push ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app
Kembali ke direktori
run-gmp-sidecar
:popd
Mengonfigurasi layanan Cloud Run
File run-service-simple.yaml
dalam repositori run-gmp-sidecar
menentukan layanan Cloud Run multicontainer yang menggunakan aplikasi contoh dan image kolektor yang Anda build di langkah sebelumnya. File
run-service-simple.yaml
berisi spesifikasi Layanan berikut:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 run.googleapis.com/container-dependencies: '{"collector":["app"]}' spec: containers: - image: "%SAMPLE_APP_IMAGE%" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.0" name: collector
File ini berisi nilai placeholder untuk gambar yang telah Anda bangun di langkah-langkah sebelumnya. Jadi, Anda harus memperbarui placeholder dengan nilai sebenarnya untuk project Google Cloud.
Ganti placeholder %SAMPLE_APP_IMAGE%
dengan menjalankan perintah berikut:
sed -i s@%SAMPLE_APP_IMAGE%@REGION-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app@g run-service-simple.yaml
Men-deploy layanan Cloud Run
Setelah mengupdate file run-service-simple.yaml
dengan nilai Anda, Anda dapat membuat dan men-deploy layanan Cloud Run dengan menjalankan perintah berikut:
gcloud run services replace run-service-simple.yaml --region=REGION
Perintah ini akan menampilkan URL layanan, yang terlihat seperti berikut:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Gunakan URL yang ditampilkan sebagai nilai SERVICE_URL di bagian Pastikan aplikasi Anda berjalan.
Izinkan akses HTTP yang tidak diautentikasi
Agar dapat mengajukan permintaan ke URL layanan, Anda perlu mengubah kebijakan layanan Cloud Run untuk menerima akses HTTP yang tidak diautentikasi. File policy.yaml
di repositori run-gmp-sidecar
berisi perubahan yang diperlukan.
Untuk mengubah kebijakan layanan, jalankan perintah berikut:
gcloud run services set-iam-policy my-cloud-run-service policy.yaml --region=REGION
Memastikan aplikasi Anda berjalan
Untuk memverifikasi bahwa layanan Cloud Run telah menjalankan aplikasi contoh dengan benar, gunakan utilitas curl
untuk mengakses endpoint metrics
layanan.
Tetapkan variabel lingkungan
SERVICE_URL
ke URL layanan Cloud Run dari langkah sebelumnya:export SERVICE_URL=SERVICE_URL
Kirim permintaan ke URL layanan dengan menjalankan perintah berikut:
curl $SERVICE_URL
Jika aplikasi berhasil dimulai, Anda akan melihat respons berikut:
User request received!
Melihat metrik aplikasi di Metrics Explorer
Contoh penampung app
menulis metrik berikut:
foo_metric
: Waktu saat ini sebagai nilai floating point (ukur).bar_metric
: Waktu saat ini sebagai nilai floating point (penghitung).
Untuk melihat metrik ini di Metrics Explorer, lakukan tindakan berikut:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
Masukkan kueri berikut ke dalam panel editor:
foo_metric
Klik Tambahkan kueri.
Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
Masukkan kueri berikut ke dalam panel editor kedua:
bar_metric
Klik Jalankan kueri.
Untuk melihat detail tentang metrik, pada tombol berlabel Chart Table Both, pilih Both.
Pembersihan
Setelah selesai bereksperimen dengan aplikasi contoh, Anda dapat
menggunakan skrip clean-up-cloud-run.sh
di repositori run-gmp-sidecar
untuk
menghapus resource berikut yang mungkin telah Anda buat untuk contoh:
- Layanan Cloud Run.
- Repositori Artifact Registry.
- Akun layanan yang dibuat untuk Cloud Build.
Dengan menghapus resource ini, Anda tidak akan mengeluarkan biaya setelah menjalankan sampel.
Untuk membersihkan aplikasi contoh, jalankan skrip clean-up-cloud-run.sh
:
./clean-up-cloud-run.sh
Lihat metrik mandiri di Metrics Explorer
File bantuan Managed Service for Prometheus melaporkan metrik berikut tentang metrik itu sendiri ke Cloud Monitoring:
agent_uptime
: Waktu beroperasi kolektor sespan (counter).agent_memory_usage
: Memori yang dipakai oleh kolektor sespan (gauge).agent_api_request_count
: Jumlah permintaan API dari kolektor file bantuan (counter).agent_monitoring_point_count
: Jumlah titik metrik yang ditulis ke Cloud Monitoring oleh kolektor file bantuan (penghitung).
Untuk melihat metrik mandiri file bantuan di Metrics Explorer, lakukan langkah berikut:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
Masukkan nama metrik yang ingin Anda kueri ke panel editor, misalnya:
agent_api_request_count
Klik Jalankan kueri.
Untuk melihat detail tentang metrik, pada tombol berlabel Chart Table Both, pilih Both.
Lihat log mandiri di Logs Explorer
File bantuan Managed Service for Prometheus menulis log ke Cloud Logging. File bantuan tersebut menulis log terhadap jenis resource yang dimonitor Logging
cloud_run_revision
.
Untuk melihat log file bantuan di Logs Explorer, lakukan hal berikut:
-
Di panel navigasi konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer:
Pilih jenis resource Cloud Run revision, atau masukkan kueri berikut lalu klik Run query:
resource.type="cloud_run_revision"
Tentang metrik yang dikumpulkan
Saat metrik yang dihasilkan oleh file bantuan ditransfer ke dalam Cloud Monitoring, metrik tersebut akan ditulis berdasarkan jenis resource yang dimonitor prometheus_target
Cloud Monitoring.
Jenis resource ini digunakan untuk metrik aplikasi dan metrik mandiri
file bantuan.
Saat menulis metrik, file bantuan menetapkan label resource sebagai berikut:
project_id
: ID project Google Cloud tempat container dijalankan.location
: Region Google Cloud tempat container berjalan.cluster
: Nilai__run__
.namespace
: Nama layanan Cloud Run yang sedang dijalankan; berasal dari variabel lingkunganK_SERVICE
.job
: Nama dari konfigurasiRunMonitoring
; defaultnya adalahrun-gmp-sidecar
.instance
: Nilaifaas.ID:PORT
dari beban kerja lokal tempat container dikonfigurasi untuk mengambil metrik. Nilai faas.ID adalah ID instance Cloud Run.
File bantuan ini juga menambahkan label metrik berikut:
instanceId
: ID instance Cloud Run.service_name
: Nama layanan Cloud Run yang dijalankan.revision_name
: Nama revisi Cloud Run yang sedang dijalankan.configuration_name
: Nama konfigurasi Cloud Run yang sedang dijalankan.
Semua label metrik ini ditambahkan secara default. Jika menggunakan konfigurasi RunMonitoring
kustom, Anda dapat menghapus label ini dengan menggunakan opsi targetLabels
dalam spesifikasi RunMonitoring
. Anda juga dapat menggunakan konfigurasi kustom untuk melabeli ulang salah satu label metrik ini kecuali instanceId
.
Semua label lain yang muncul dengan metrik yang diserap berasal dari metrik pengguna.
Jika label yang ditentukan pengguna bertentangan dengan salah satu label yang disediakan sistem,
label yang ditentukan pengguna akan diawali dengan string exported_
. Misalnya,
label namespace=playground
yang ditentukan pengguna bertentangan dengan label
namespace
yang ditentukan sistem, sehingga label pengguna muncul sebagai exported_namespace=playground
.
Jenis metrik
Saat metrik yang dihasilkan oleh file bantuan ditransfer ke dalam Cloud Monitoring, metrik tersebut ditulis sebagai metrik prometheus.googleapis.com
, dan jenis metrik Prometheus ditambahkan ke akhir namanya. Misalnya,
aplikasi contoh memunculkan metrik pengukur Prometheus yang bernama foo_metric
. Di Cloud Monitoring, metrik disimpan sebagai jenis metrik prometheus.googleapis.com/foo_metric/gauge
.
Saat membuat kueri metrik dengan PromQL, Anda dapat menggunakan nama Prometheus, seperti yang ditunjukkan dalam Melihat metrik aplikasi di Metrics Explorer dan Melihat metrik mandiri di Metrics Explorer. Saat menggunakan alat seperti builder kueri atau Bahasa Kueri Monitoring (MQL) di Metrics Explorer, jenis metrik Cloud Monitoring menjadi relevan.
Penagihan
Metrik yang dikeluarkan oleh file bantuan diserap ke dalam Cloud Monitoring dengan awalan prometheus.googleapis.com
. Metrik dengan awalan ini dikenai biaya berdasarkan jumlah sampel yang diserap. Untuk informasi selengkapnya tentang penagihan dan
Google Cloud Managed Service for Prometheus, lihat Penagihan.