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 file bantuan OpenTelemetry. Namun, untuk layanan yang menulis metrik Prometheus, gunakan sidecar Managed Service for Prometheus yang dijelaskan dalam dokumen ini.
Dokumen ini menjelaskan cara melakukan hal berikut:
- Tambahkan sidecar Managed Service for Prometheus ke layanan Cloud Run yang ada.
- Mem-build aplikasi contoh dengan sidecar. Anda dapat menggunakan aplikasi contoh untuk melihat cara kerja sidecar jika tidak memiliki layanan Cloud Run.
File bantuan 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 menyertakan beberapa perubahan untuk mendukung Cloud Run. Pengumpul akan melakukan scraping startup setelah 10 detik dan melakukan scraping shutdown, terlepas dari seberapa singkat waktu aktif instance. Untuk keandalan maksimum, sebaiknya layanan Cloud Run yang menjalankan sidecar juga menggunakan CPU yang selalu dialokasikan; untuk informasi selengkapnya, lihat Alokasi CPU (layanan). Beberapa upaya pengambilan mungkin gagal jika alokasi CPU dibatasi karena jumlah kueri per detik (QPS) yang rendah. CPU yang selalu dialokasikan tetap tersedia.
Sidecar mengandalkan fitur multicontainer (sidecar) Cloud Run untuk menjalankan kolektor sebagai penampung sidecar bersama penampung workload Anda. Untuk informasi selengkapnya tentang sidecar di Cloud Run, lihat Men-deploy beberapa container ke layanan (sidecar).
File bantuan Managed Service for Prometheus untuk Cloud Run memperkenalkan konfigurasi baru,
RunMonitoring
, subset dari 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 sidecar 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 dan tidak perlu memasukkannya dengan setiap perintah.
Untuk menetapkan project sebagai default, masukkan perintah berikut:
gcloud config set project PROJECT_ID
Anda juga dapat menetapkan region default untuk layanan Cloud Run. 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 informasi selengkapnya, lihat Mem-build 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 belum 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@
.
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 informasi selengkapnya tentang akun layanan untuk Cloud Run, lihat Mengonfigurasi Identitas Layanan.
Mengonfigurasi dan menambahkan sidecar ke layanan Cloud Run
File bantuan 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 khusus untuk Kubernetes.
Anda dapat menggunakan konfigurasi RunMonitoring
default, atau
Anda dapat membuat konfigurasi kustom. Bagian berikut menjelaskan kedua
pendekatan tersebut. Anda tidak perlu melakukan keduanya. Untuk informasi selengkapnya tentang penggunaan
konfigurasi default atau kustom, pilih tab yang sesuai.
Konfigurasi default
Menggunakan konfigurasi RunMonitoring default
Jika Anda tidak membuat konfigurasi RunMonitoring
kustom, kolektor sidecar akan menyintesis konfigurasi default berikut untuk mengambil 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
Penggunaan konfigurasi default tidak memerlukan penyiapan tambahan selain menambahkan sidecar ke layanan Cloud Run Anda.
Menambahkan sidecar ke layanan Cloud Run
Untuk menggunakan sidecar dengan konfigurasi RunMonitoring
default, Anda perlu mengubah konfigurasi Cloud Run yang ada untuk menambahkan sidecar. Untuk menambahkan sidecar, lakukan langkah-langkah berikut:
- Tambahkan anotasi dependensi penampung yang menentukan urutan pengaktifan dan penonaktifan penampung. Dalam contoh berikut, penampung sidecar, yang bernama "collector", dimulai setelah dan dimatikan sebelum penampung aplikasi, yang bernama "app" dalam contoh.
- Buat penampung untuk kolektor, yang diberi nama "collector" dalam 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.2.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 pengambilan 10 detik.
- Menggunakan pemberian label ulang untuk menambahkan label
label_key
dengan nilailabel_value
ke setiap metrik yang di-scrap. - Menambahkan label metadata
service
danrevision
ke setiap metrik yang di-scrap.
Untuk informasi tentang opsi konfigurasi yang tersedia, lihat RunMonitoring spec: configuration options.
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 secret.
- Tambahkan sidecar 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 akan membuat secret bernama mysecret dari
file custom-config.yaml
:
gcloud secrets create mysecret --data-file=custom-config.yaml
Untuk menerapkan 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
Sidecar akan otomatis memuat ulang dan menerapkan perubahan pada konfigurasinya.
Menambahkan sidecar ke layanan Cloud Run
Setelah membuat secret Secret Manager untuk konfigurasi RunMonitoring
, Anda harus mengubah konfigurasi Cloud Run untuk melakukan hal berikut:
- Menambahkan sidecar Managed Service for Prometheus
- Tambahkan anotasi dependensi penampung yang menentukan urutan pengaktifan dan penonaktifan penampung. Dalam contoh berikut, penampung sidecar, yang bernama "collector", dimulai setelah dan dimatikan sebelum penampung aplikasi, yang bernama "app" dalam contoh.
- Buat penampung untuk kolektor, yang diberi nama "collector" dalam 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, yang diberi nama "config" dalam contoh berikut, untuk secret
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.2.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
sidecar Managed Service for Prometheus. Berikut adalah 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 | Wajib |
---|---|---|---|
metadata |
Metadata yang harus dimiliki semua resource yang dipertahankan. |
metav1.ObjectMeta |
false |
spec |
Spesifikasi deployment Cloud Run yang dipilih untuk penemuan target oleh Prometheus. | RunMonitoringSpec |
benar |
RunMonitoringSpec
Spesifikasi ini menjelaskan cara konfigurasi RunMonitoring
memantau layanan Cloud Run.
Kolom | Deskripsi | Skema | Wajib |
---|---|---|---|
endpoints |
Endpoint yang akan di-scrape di pod yang dipilih. | []ScrapeEndpoint |
benar |
targetLabels |
Label yang akan ditambahkan ke target Prometheus untuk endpoint yang ditemukan.
Label instance selalu ditetapkan ke ID instance Cloud Run. |
RunTargetLabels |
false |
limits |
Batasan yang akan diterapkan pada waktu pengambilan data. | *ScrapeLimits |
false |
RunTargetLabels
Konfigurasi RunTargetLabels
memungkinkan Anda menyertakan label Cloud Run dari target Prometheus yang ditemukan.
Kolom | Deskripsi | Skema | Wajib |
---|---|---|---|
metadata |
Label metadata Cloud Run yang ditetapkan pada semua target yang di-scrap. Kunci yang diizinkan adalah instance , revision ,
service , dan configuration .Jika kunci yang diizinkan ditetapkan, sidecar akan menambahkan nilai yang sesuai dari instance Cloud Run sebagai label metrik ke setiap metrik: instanceID , revision_name ,
service_name , dan
configuration_name .Secara default, semua kunci yang diizinkan akan ditetapkan. |
*[]string |
false |
Mem-build dan menjalankan aplikasi contoh
Bagian ini menjelaskan cara menjalankan sidecar Managed Service for Prometheus dengan aplikasi contoh. Bagian ini bersifat opsional. Jika Anda sudah memiliki layanan Cloud Run dan ingin men-deploy sidecar dengan layanan tersebut, lihat Menambahkan sidecar Managed Service for Prometheus ke layanan Cloud Run.
Meng-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
Mem-build dan menjalankan aplikasi contoh
Aplikasi contoh memerlukan Docker atau sistem build container serupa untuk Linux. Anda dapat mem-build 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 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 ini menggabungkan langkah-langkah yang diperlukan
untuk mem-build dan men-deploy aplikasi contoh.
Anda juga dapat melakukan langkah-langkah yang ditangani oleh Cloud Build secara manual. Untuk informasi selengkapnya, lihat Mem-build dan menjalankan secara manual.
Menyiapkan untuk 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.
. - 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 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 memerlukan waktu beberapa menit untuk dijalankan, tetapi hampir 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 sidecar 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 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 Memverifikasi bahwa aplikasi Anda berjalan.
Membangun dan menjalankan secara manual
Membangun dan menjalankan secara manual
Anda dapat melakukan langkah-langkah yang ditangani oleh Cloud Build secara manual, 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 berikutnya menggunakan variabel lingkungan untuk nilai umum. Siapkan variabel ini 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}
Mem-build dan mengirim aplikasi contoh
Contoh ini menggunakan Docker di Linux untuk mem-build aplikasi contoh dan mendorongnya ke repositori Artifact Registry. Anda mungkin perlu menyesuaikan perintah ini jika bekerja di lingkungan Windows atau macOS.
Untuk mem-build aplikasi contoh dan mendorongnya ke Artifact Registry, lakukan hal berikut:
Lakukan 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 di-build 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
di repositori run-gmp-sidecar
menentukan
layanan Cloud Run multi-container 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.2.0" name: collector
File ini berisi nilai placeholder untuk image yang telah Anda build di langkah sebelumnya, sehingga Anda harus memperbarui placeholder dengan nilai sebenarnya untuk project Google Cloud Anda.
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 memperbarui file run-service-simple.yaml
dengan nilai, 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 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 Memverifikasi bahwa aplikasi Anda berjalan.
Mengizinkan akses HTTP yang tidak diautentikasi
Sebelum dapat membuat permintaan ke URL layanan, Anda harus 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
Memverifikasi bahwa 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
Penampung app
contoh menulis metrik berikut:
foo_metric
: Waktu saat ini sebagai nilai floating point (pengukur).bar_metric
: Waktu saat ini sebagai nilai floating point (penghitung).
Untuk melihat metrik ini di Metrics Explorer, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Di toolbar panel pembuat kueri, pilih tombol yang namanya adalah 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 yang namanya adalah 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 Run query.
Untuk melihat detail tentang metrik, di 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.
Menghapus resource ini memastikan bahwa Anda tidak dikenai biaya setelah menjalankan sampel.
Untuk membersihkan aplikasi contoh, jalankan skrip clean-up-cloud-run.sh
:
./clean-up-cloud-run.sh
Melihat metrik mandiri di Metrics Explorer
Sidecar Managed Service for Prometheus melaporkan metrik berikut tentang dirinya sendiri ke Cloud Monitoring:
agent_uptime
: Waktu aktif kolektor sidecar (penghitung).agent_memory_usage
: Memori yang digunakan oleh kolektor sidecar (pengukur).agent_api_request_count
: Jumlah permintaan API dari kolektor samping (penghitung).agent_monitoring_point_count
: Jumlah titik metrik yang ditulis ke Cloud Monitoring oleh kolektor sidecar (penghitung).
Untuk melihat metrik mandiri sidecar di Metrics Explorer, lakukan langkah berikut:
-
Di konsol Google Cloud, buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Di toolbar panel pembuat kueri, pilih tombol yang namanya adalah 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 buat kuerinya ke panel editor, misalnya:
agent_api_request_count
Klik Run query.
Untuk melihat detail tentang metrik, di tombol berlabel Chart Table Both, pilih Both.
Melihat log mandiri di Logs Explorer
Sidecar Managed Service for Prometheus menulis log ke Cloud Logging. Sidecar menulis log terhadap jenis resource yang dimonitor Logging, yaitu cloud_run_revision
.
Untuk melihat log sidecar di Logs Explorer, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
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 dikeluarkan oleh sidecar diserap ke Cloud Monitoring, metrik tersebut ditulis berdasarkan jenis resource yang dimonitor prometheus_target
Cloud Monitoring.
Jenis resource ini digunakan untuk metrik aplikasi dan metrik mandiri
sidecar.
Saat menulis metrik, sidecar menetapkan label resource sebagai berikut:
project_id
: ID project Google Cloud tempat penampung berjalan.location
: Region Google Cloud tempat penampung 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 workload lokal tempat penampung dikonfigurasi untuk mengambil metrik. Nilai faas.ID adalah ID instance instance Cloud Run.
Sidecar juga menambahkan label metrik berikut:
instanceId
: ID instance Cloud Run.service_name
: Nama layanan Cloud Run yang sedang dijalankan.revision_name
: Nama revisi Cloud Run yang sedang dijalankan.configuration_name
: Nama konfigurasi Cloud Run yang dijalankan.
Semua label metrik ini ditambahkan secara default. Jika menggunakan konfigurasi RunMonitoring
kustom, Anda dapat menghapus label service_name
, revision_name
, dan configuration_name
dengan menggunakan opsi targetLabels
dalam spesifikasi RunMonitoring
. Anda juga dapat menggunakan konfigurasi kustom untuk memberi label ulang nilai label service_name
, revision_name
, dan configuration_name
.
Semua label lain yang muncul dengan metrik yang diserap berasal dari metrik Anda.
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 akan muncul sebagai exported_namespace="playground"
.
Jenis metrik
Saat metrik yang dimunculkan oleh sidecar diserap ke Cloud Monitoring, metrik ditulis sebagai metrik prometheus.googleapis.com
, dan jenis metrik Prometheus ditambahkan ke akhir nama. Misalnya,
aplikasi contoh memunculkan metrik pengukur Prometheus 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 diilustrasikan dalam Melihat metrik aplikasi di Metrics Explorer dan Melihat metrik mandiri di Metrics Explorer. Saat menggunakan alat seperti pembuat kueri atau Monitoring Query Language (MQL) di Metrics Explorer, jenis metrik Cloud Monitoring akan relevan.
Penagihan
Metrik yang dikeluarkan oleh sidecar akan diserap ke Cloud Monitoring dengan
awalan prometheus.googleapis.com
. Metrik dengan awalan ini dikenai biaya berdasarkan jumlah sampel yang diserap. Untuk informasi selengkapnya tentang penagihan dan
Managed Service for Prometheus, lihat Penagihan.